如何创建充当计数功能的快捷方式

如何创建充当计数功能的快捷方式

对于我的工作,我必须完成每周都有截止日期的重复任务。我想知道我距离完成这些任务还有多远,所以我倾向于在一张纸上记录。不幸的是,我经常出差,并不总是带着笔或笔记本。这很好,因为我只是用 gedit 作为替代方案,但有时我关机时忘记保存 gedit,从而忘记了我的记录。

我真正想要的是设置快捷方式,这样每次我完成任务时都会记录在某处并立即保存。它还需要以某种方式快速轻松地显示。

答案1

也许你可以将 emacs 与 org-mode 一起使用。它比简单地管理你的任务要强大得多,但可能值得深入研究。

答案2

我发现最简单的解决方法是创建一个 dash 脚本,将计数存储在文本文件中并使用 显示该值notify-send

我曾经source设置过我想要记录的值的位置:

#!/bin/sh
. /home/jesse/.scripts/tally

统计文件只有一行,内容如下:

written=0

然后我创建了函数展示统计数字,清除统计数字并添加进行计数。

要显示计数,我需要先重新加载计数以确保它是最新的。然后我可以notify-send像这样使用:

show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}

添加该函数需要从计数中读取计数,将值加 1,重写计数,然后调用显示函数:

add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}

clear 函数的含义非常清晰:

clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}

最后,为了从脚本中调用各个函数,我需要完成脚本,$@以便可以逐字调用参数。完整的脚本是:

#!/bin/sh
. /home/jesse/.scripts/tally
show() {
  . /home/jesse/.scripts/tally
  notify-send -i "/home/jesse/.scripts/icon.png" \
  "Total for this week:" "Written: $written"
}
add() {
  num=$(($written + 1))
  printf "written=$num" > /home/jesse/.scripts/tally
  show
}
clear() {
  printf "written=0" > /home/jesse/.scripts/tally
  show
}
$@

从那里,我可以分配键盘快捷键来调用脚本中的各个函数,并且只需按几个按钮就可以管理在通知窗口中显示的美观的计数。

希望这对某些人有帮助。这是我的第一个 dash 脚本,我对它很满意,但肯定有更简洁的方法来实现这一点。

相关内容