Posted on 2012-03-09 18:39
Onway 閱讀(691)
評論(2) 編輯 收藏 引用 所屬分類:
碼兒快跑
上圖好像沒什么意思吧?zenity的界面。
/Files/Onway/oalarm.bash.txtoalarm文檔
概要:
oalarm是一個基于gnome,mplayer,at,date,zenity等命令的,使用bash script寫成的簡陋桌面鬧鐘。
功能:
定時任務的新建,查看,延遲,刪除,提醒。
安裝要求:
存在gnome-session進程,/usr/bin下存在at,zenity,mplayer程序,$HOME目錄下存在.config/autostart和.local/share/applications兩個目錄。
安裝:
下載oalarm.bash之后,添加運行權限,在桌面圖形環境下運行腳本(不需要root權限)。這時會檢查zenity命令和gnome-session進程的存在。gnome-session的檢查是為了保證能使用zenity命令創建界面。如果缺乏任何一個,則在標準輸出后直接退出。
首次運行腳本會出現安裝選項。
安裝過程會先在/usr/bin目錄下檢查at,mplayer,zenity三個命令,如果缺少任何一個,標準輸出錯誤后退出。
安裝過程還會檢查兩個目錄:$HOME/.config/autostart和$HOME/.local/share/applications,如果缺乏任何一個,安裝失敗。在這兩個目錄會各寫入一個.desktop文件,分別用于登錄圖形界面后運行一次腳本檢查過期任務和在應用附件欄目添加運行圖標。分別執行的命令是:
$HOME/.oalarm/oalarm.bash --check
$HOME/.oalarm/oalarm.bash --start
其后會在$HOME目錄下創建隱藏目錄.oalarm和兩個在子目錄past,wait,分別用于存放過期任何和等待任務。oalarm.bash會復制自身到該目錄下。
如果存在/usr/share/sounds/gnome/default/alerts/bark.ogg該聲音文件,則會被復制到.oalarm目錄下并命名為voice,用于提示任務時使用mplayer進行播放。可以將voice文件替換為喜歡的提示聲音。
卸載:
安裝后啟動oalarm,會出現卸載選項。
卸載行為是:
刪掉.oalarm目錄和兩個.desktop文件。記得為聲音文件作備份。
任務文件格式:
使用年月日時分命名。文件內第一行為任務標題,新建任務時必須填入,第二行至文件尾為任務內容,可選。
原理:
下載的oalarm.bash,不帶參數運行,是安裝前使用,安裝后之后可以刪掉。
從應用程序-附件欄目的圖標啟動是帶--start參數運行$HOME/.oalarm/oalarm.bash。用于新建,查看,延遲和刪除任務。
登錄圖形界面后,帶參數--check自動啟動$HOME/.oalarm/oalarm.bash,用于檢查關機或者登出圖形界面期間到期的任務。延遲10秒之后開始檢查。
圖形界面登錄期間,如果任務到期,則由atd守護進程帶--check和任務文件名兩個參數啟動$HOME/.oalarm/oalarm.bash。然后oalarm.bash從wait目錄下的文件提取信息進行提示。(如果voice文件不存在,則提示沒有聲音)
兩個重要的假定:
1,使用如下命令判斷使用已經登錄圖形界面:
ps -eo ruid,comm | grep $UID.*gnome-session
2,$HOEM/.config/autostart下的.desktop文件指定的程序會在登錄圖形界面后自動運行。
行為:
在任務提醒之后選擇延遲和在等待任務中選擇延遲是有區別的。如果選擇延遲時間的時候取消了,則提醒之后的延遲會被放棄,任務被移到過期任務。
bugs:
1,由于命名任務文件的時候沒考慮到,同一個時間只能有一個任務,否則會被覆蓋。
2,選擇時間的方式有點別扭,但我也不知道怎么辦。
3,延遲功能必須重新選擇日期時間,有點不厚道
關于:
oalarm 0.1.0
By Onway 2012-03-06
debug yourself or report to:
blog: www.shnenglu.com/onway
mail: aluohuai@126.com
如果本程序讓你錯過了和女友的約會,或者把水燒干了,或者出現其他問題,本人概不負責