其實是為了好玩,花了點時間弄出來的
目的是讓一些背景執行或在 cron 自動執行的程式加提示訊息
訊息會顯示在桌面右上角,提示的部分是用 python + gtk
使用方式:
$ python ~/bin/pyNotify.py 'title' 'text' icon
title 是提示的標題,會以大字粗體顯示
text 是提示內容
icon 是提示左邊顯示的圖示
pyNotify.py
#!/usr/bin/python
# -*- coding: utf-8 -*-
import gtk.gdk
import pynotify
import sys
path0 = "file:///usr/share/icons/gnome/32x32/"
path1 = path0 + "mimetypes/"
path2 = path0 + "devices/"
path3 = path0 + "status/"
icons = {
'book': path1 + "x-office-address-book.png",
'certificate': path1 + "application-certificate.png",
'clock': path3 + "appointment-soon.png",
'exec': path1 + "exec.png",
'error': path3 + "dialog-error.png",
'harddisk': path2 + "drive-harddisk.png",
'info': path3 + "dialog-information.png",
'cdrom': path2 + "drive-optical.png",
'package': path1 + "package-x-generic.png",
'video': path1 + "video-x-generic.png",
'warning': path3 + "dialog-warning.png",
'zipdisk': path2 + "media-zip.png",
}
title = sys.argv[1];
text = sys.argv[2];
icon = sys.argv[3];
icon = (icons[icon]) if (icons.has_key(icon)) else icon
n = pynotify.Notification(title, text, icon)
n.show()
icons 預先定義一些可能較常用到的圖示
圖示所在路徑是我的 ubuntu 裡的位置
icon 可以直接使用 icons 裡定義的, 例如
$ python ~/bin/pyNotify.py '提示訊息' '目的是讓一些背景執行或在 cron 自動執行的程式加提示訊息' info
提示訊息裡就會顯示 dialog-information.png 這個圖示
也可以給完整的圖檔路徑, 例如
$ python ~/bin/pyNotify.py '提示訊息' '目的是讓一些背景執行或在 cron 自動執行的程式加提示訊息' file:///usr/share/icons/gnome/32x32/devices/drive-optical.png
pyNotify.py 也可以用在 cron 裡的 script, 例如
0-59/22 * * * * root /usr/local/bin/checkTime.sh >/dev/null 2>&1
這是我用來網路校時用的, 因為要能夠使用 x-window
這行要改成..
0-59/22 * * * * root env DISPLAY=:0 /usr/local/bin/checkTime.sh >/dev/null 2>&1
然後在 checkTime.sh 加上 pyNotify.py
#!/bin/sh
python /home/myname/bin/pyNotify.py '網路校時開始' '' clock
ntpdate time.stdtime.gov.tw
hwclock -w
以後每次網路校時, 在右上角就會出現一個提示訊息 ^_^