對於我的工作,我必須在每週截止日期內完成重複性任務。我想知道我距離完成這些任務還有多遠,所以我傾向於在一張紙上記錄下來。不幸的是,我經常出差,而且並不總是有筆或筆記本。這很好,因為我只是將 gedit 作為替代方案,但有時我會在關閉時忘記保存 gedit 並失去對計數的追蹤。
不過,我真正想要的是一種設定快捷方式的方法,以便每次完成任務時都會將其記錄在某處並立即保存。它還需要以某種方式快速、輕鬆地顯示。
答案1
也許您可以將 emacs 與 org-mode 一起使用。它比簡單地管理任務要強大得多,但可能值得深入研究。
答案2
我發現的最簡單的解決方法是創建一個破折號腳本,將計數存儲在文本文件中並使用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,重寫計數,然後呼叫 show 函數:
add() {
num=$(($written + 1))
printf "written=$num" > /home/jesse/.scripts/tally
show
}
清晰的功能是相當不言自明的:
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 腳本,我對此感到滿意,但肯定會有更簡潔的方法來實現這一目標。