-
-
Save illucent/aac7e237a43a4f700887479b84605989 to your computer and use it in GitHub Desktop.
StatusIcon – A Simple Tray Icon Application Using PyGTK
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# found on <http://files.majorsilence.com/rubbish/pygtk-book/pygtk-notebook-html/pygtk-notebook-latest.html#SECTION00430000000000000000> | |
# simple example of a tray icon application using PyGTK | |
import gtk | |
def message(data=None): | |
"Function to display messages to the user." | |
msg=gtk.MessageDialog(None, gtk.DIALOG_MODAL, | |
gtk.MESSAGE_INFO, gtk.BUTTONS_OK, data) | |
msg.run() | |
msg.destroy() | |
def open_app(data=None): | |
message(data) | |
def close_app(data=None): | |
message(data) | |
gtk.main_quit() | |
def make_menu(event_button, event_time, data=None): | |
menu = gtk.Menu() | |
open_item = gtk.MenuItem("Open App") | |
close_item = gtk.MenuItem("Close App") | |
#Append the menu items | |
menu.append(open_item) | |
menu.append(close_item) | |
#add callbacks | |
open_item.connect_object("activate", open_app, "Open App") | |
close_item.connect_object("activate", close_app, "Close App") | |
#Show the menu items | |
open_item.show() | |
close_item.show() | |
#Popup the menu | |
menu.popup(None, None, None, event_button, event_time) | |
def on_right_click(data, event_button, event_time): | |
make_menu(event_button, event_time) | |
def on_left_click(event): | |
message("Status Icon Left Clicked") | |
if __name__ == '__main__': | |
icon = gtk.status_icon_new_from_stock(gtk.STOCK_ABOUT) | |
icon.connect('popup-menu', on_right_click) | |
icon.connect('activate', on_left_click) | |
gtk.main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment