gtk.StatusIconとpynotifyをくっつける
トレイアイコン上から吹き出しで通知するように。
#!/usr/bin/env python #-*- coding:utf-8 -*- import gtk import pynotify def tray_activate(event): n.show() def popup_menu(status, button, time): menu.popup(None, None, None, button, time) def menu_pref_blink(event): if tray.get_blinking(): tray.set_blinking(False) event.set_active(False) else: tray.set_blinking(True) # トレイを点滅させる event.set_active(True) # サブメニューにチェック def menu_quit(event): gtk.main_quit() # statusicon tray = gtk.StatusIcon() tray.set_from_stock(gtk.STOCK_DIALOG_INFO) tray.set_tooltip('トレイアイコンのテスト') tray.connect('activate', tray_activate) tray.connect('popup-menu', popup_menu) # pynotify pynotify.init("test") n = pynotify.Notification("テスト", "トレイアイコンからニョキッと", gtk.STOCK_DIALOG_INFO) n.attach_to_status_icon(tray) # n を tray へくっつける # menu menu = gtk.Menu() item = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) submenu = gtk.Menu() subitem = gtk.CheckMenuItem("点滅") submenu.append(subitem) subitem.connect("activate", menu_pref_blink) item.set_submenu(submenu) menu.append(item) item = gtk.SeparatorMenuItem() menu.append(item) item = gtk.ImageMenuItem(gtk.STOCK_QUIT) menu.append(item) item.connect("activate", menu_quit) menu.show_all() gtk.main()