Created
February 15, 2010 20:36
-
-
Save pklaus/304963 to your computer and use it in GitHub Desktop.
StatusIcon – A Simple Tray Icon Application Using PyGTK
This file contains 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
I've got this error: