
簡介
我一開始想找一款只用鍵盤就可以操作的行事曆、讓我能夠更快更流暢的操作,如果能與 google 日曆同步更好(方便在手機上使用),後來我找到了 calcure。
calcure 是一個運行在終端上的文字使用者界面(TUI)的行事曆。特色是可以完全透過鍵盤操作、使用與 vim 類似的快捷鍵、在終端中有一個快速、簡潔、美觀的行事曆。
我目前的行事曆是使用 calcure 搭配 Google 日曆使用,沒有把 Google 日曆的資料全部搬過去,因為我覺得它們有各自的優缺點。像 calcure 更適合在終端搭配 Neovim 等其他工具操作、不需要打開瀏覽器,但是在跨裝置同步、發通知、分享給其他人這些功能上就比較吃力。
我接下來會介紹一下 calcure 的功能有哪些,最後再詳細分析一下優缺點、分享我目前怎麼使用行事曆。
行事曆
calcure 的預設版面可以分成左邊的行事曆和右邊的任務兩個部分,行事曆可以記錄特定日期的事件和任務、任務則是一個清單。
在 calcure 按 ? 查看如何使用按鍵和不同模式,按下兩次 Ctrl+C 取消操作。
行事曆功能
- 基本功能如新增、刪除任務、改優先度、標記完成等,也可以新增重複的任務。
- 顯示目前天氣
- 隱私模式
純鍵盤操作
calcure 最大的優點就是可以只使用鍵盤新增任務,我們與 Google 日曆比較一下如何新增每週三 10:00 的課程:
- Google 日曆
- 滑鼠點星期三 10:00 的格子
- 輸入
課程名稱 - 滑鼠點擊時間
- 滑鼠點選每週三重複
- 滑鼠點擊儲存
- calcure
- 按下
A新增重複任務 - 輸入開始日期
- 輸入
10:00 課程名稱 - 輸入重複次數
- 輸入如何重複(w,每週)
- 按下
有一個特殊的的地方是,calcure 的行程不會記錄時間,我的方法是把時間放在任務名稱裡面。因此會有月視圖(monthly view)顯示困難的問題。因為寬度不夠,如果同時寫了開始和結束時間,就沒有空間顯示剩下的名稱了。像是下圖的任務就會被截斷,不能顯示完整的 task name

日視圖
為了解決任務名稱可能會太長放不下的問題,除了寫短一點的名稱以外,也可以按下 v 切換成使用日視圖(daily view),就可以有完整的空間查看完整的任務名。當天太多的任務也不會因為在月視圖因為空間不夠而被省略掉,會完整顯示。

隱私模式
calcure 的行事曆和任務還有一個功能叫做隱私模式(privacy mode),可以隱藏自己的任務名稱,可以在 calcure 隱藏所有活動,可以在分享畫面時不被看到行程,可以隱藏全部或是幾個特定的任務。

Google 日曆同步
我有嘗試將 calcure 的日曆與 Google 日曆同步,但是我後來沒有使用,原因有三:
- 同步到 calcure 的 Google 日曆只能讀,不能編輯
- 每次打開 calcure 都會重新向 Google 日曆發出網路請求,讓載入很慢
- 從 Google 日曆同步下來的重複任務不會重複(只會有第一個)
因此,我目前分開使用兩者,calcure 記錄所有行程,方便從 neovim 切過去查看。Google 日曆則只放固定的課表,還有我想被提醒的活動,像火車時間。
任務
我個人只有使用日曆功能,沒有用 calcure 的任務,因為我使用 neovim 寫 markdown 檔案來管理我的任務和筆記,但是 calcure 的任務功能意外的齊全。功能包含:
- 新增任務、子任務、重命名
- 修改任務優先級
- 修改任務完成狀態、刪除任務
- 隱藏任務名稱
- 設定任務 deadline
- 為任務設定計時器
手機使用
可以在 termux 上使用,但使用 syncthing 同步有點麻煩,如果要把同步的資料直接掛在 termux 上需要 root。所以我選擇掛在手機的儲存上,再從 termux 存取,但是遇到了一些同步的問題,於是放棄,也許之後會再弄好。
雖然手機上不容易同步,但是可以配合手機螢幕大小縮放是 README 上面的賣點之一
設定
我會分享一些我覺得重要的設定,可以自己到設定檔替換值
- 設定檔預設在
~/.config/calcure/config.ini,資料夾也包含任務資料的檔案
; 是否要從聯絡人檔案匯入生日,改成 No 可以避免跳錯誤訊息
birthdays_from_abook = No
; 用背景顏色讓今天的日期更顯眼
minimal_today_indicator = No
; 移除掉,只使用背景顏色強調今天的日期
today_icon =
; 顯示臺灣的假日
holiday_country = TW
;是否預設開啟隱私模式
privacy_mode = No
; 不顯示右半邊的任務
split_screen = No
; 替換 gym 任務的 icon,讓行事曆邊緣正常顯示
gym =
安裝
我原本用 yay 安裝,但是依賴的套件(holidays)和其他套件相撞了,所以改成使用 pipx
- pipx:
pipx install calcure - yay(Arch):
yay -S calcure
總結
- (只)適合重度終端使用者
- 符合我的用途,一個簡單好用的終端行事曆
- 功能簡潔、很多設定可以調整,但是缺少訂閱、分享等功能
- 跨裝置同步到手機比較困難
優點
- 快速的鍵盤導向操作
- 在終端,方便與其他工具整合
- 大量可調整設定
- 簡潔的功能和界面
- 隱私模式
缺點
- 與其他日曆同步體驗不佳
- 難以在手機上同步
- 缺乏提醒功能
- 沒有多個日曆,只有高中低三個優先級
- 不能分享日曆給其他人
- 不能訂閱其他日曆