特定のことをチェックし、何か問題がある場合はトレイに通知を表示するスクリプトを作成しようとしています。この例では、ファイルの経過時間を見ています。
gtk.main() の実行中にアイコンを変更する方法がわかりません。
import os, gtk
from time import time, sleep
from datetime import datetime
class HeartbeatTrayIcon(object):
"""
Use GTK to create an object in the system tray
and manipulate icon shown if there is an issue.
"""
def __init__(self):
rx = os.path.getmtime("test")
self.statusIcon = gtk.StatusIcon()
if (time() - rx) > (60*60*24):
self.statusIcon.set_from_stock(gtk.STOCK_CANCEL)
else:
self.statusIcon.set_from_stock(gtk.STOCK_APPLY)
self.statusIcon.set_tooltip("Last heartbeat received at %s" % datetime.fromtimestamp(int(rx)).strftime('%H:%M:%S %d-%m-%Y'))
def tray(self):
gtk.main()
if __name__ == "__main__":
i = HeartbeatTrayIcon()
i.tray()