2011年11月29日 星期二

โกหกไม่ลงพูดตรงตรงไม่ได้ (goh-hok mai long poot dtrong dtrong mai dai)




This song is called "goh-hok mai long poot dtrong dtrong mai dai" by Panadda for the new single

Released : 2011/04/17

如何在 Rainlendar2 事件(待辦事項)摘要加上 年、月、週、日 計數(或倒數)


  Rainlendar 是一個具可自訂性的桌面行事曆應用程序,它可以依照每個人自訂的方式在桌面上顯示月曆、事件清單、待辦事項清單、... 及其他一些有用的小 widgets。
  個人從早期(2006)的 Rainlendar v0.22.1 開始接觸,斷斷續續地使用至如今(2011)的 Rainlendar v2.x(統稱 Rainlendar2),其間作者不斷地改進其缺失及新增部份功能,以求符合使用者的需求。
  有關如何安裝 Railendar2 及其基本使用方式,在網路上可以找到許多說明文章,我不想再多作介紹,有需要的人可以自行搜尋一下(推薦 電腦玩物,介紹的相當詳盡);在這裡,我只想分享個人的使用心得。



  一般來說,使用者只能對年循環的事件藉由指定其分類為 '生日''週年紀念' 來對該事件產生年計數,例如 '二哥生日(46)''百貨公司週年慶(11)',而無法對其他分類的事件產生年計數;也無法產生其他如 月、週、日 的計數,例如 '與情人第一次約會(2011/08/26)已過了(4)個月 (14)週 (100)天' 這種效果的呈現。

  但其實,Rainlendar 已經內含了四種提供計數功能的格式化字串: [Years=yyyymmdd][Months=yyyymmdd][Weeks=yyyymmdd][Days=yyyymmdd],分別處理 年、月、週、日 的計數;其中 yyyymmdd 為日期格式,例如 2011826。

  以上面的 '與情人第一次約會 ...' 為例,假設事件發生於2011/12/04,在摘要處輸入 '與情人第一次約會(2011/08/26)已過了([Months=20110826])個月 ([Weeks=20110826])週 ([Days=20110826])天',按 '確定' 後就會在事件清單中產生想要的效果,如附圖。


  擴充應用 -- 手動倒數:使用上述方法配合待辦事項循環設定可以產生倒數的效果;例如想產生一個2012年農曆春節(2012/01/23)的倒數計數,可以依下列步驟進行:

(1) 在待辦事項對話框的摘要處輸入 '距農曆春節(2012/01/23) 還有 <[Days=20120123]> 天',並勾選 '到期時間'

(2) 在 '重複事件' 頁面中 勾選 '每次重複 [1] [天]',然後按 '確定' 離開。
(3) 欲查看新的計數時,只要點擊待辦事項前的小按鈕(標記為已完成)即可。

當然,也可以利用 Lua Script(Rainlendar 內崁的程式語言) 讓 Rainlendar 每日自動改變計數的顯示;不過那必須先瞭解 Rainlendr 的檔案結構(因為要寫入檔案),並俱備一點程式寫作的基礎,所以就將它們留待後續吧!

 

2015-01-20 補充:

有使用者反應:能不能自動倒數?不必每次還要點擊小按鈕?

其實可以,但必須配合待辦事項清單的排序方式才能達到最佳效果。

先說明一下 [Years] [Months] [Weeks] [Days] 的工作原理,以 [Days] 為例 :

若使用了 [Days=20150120],會計算 2015-01-20 (某日) 至到期日的距離 (有設置到期日),或 2015-01-20 (某日) 至今天的距離 (未設置到期日);

另外,若使用 [Days],則可以反過來計算 今天至到期日的距離 (有設置到期日)。

利用上述的特性,再配合待辦事項清單的排序方式 (因為有時需 "顯示無到期日之待辦事項"),就可以達成自動倒數了。