Got ping in status icon label

This commit is contained in:
Will Bradley 2013-12-15 23:46:40 -07:00
parent dd9c3711f4
commit bd0e445fa7

View File

@ -45,86 +45,20 @@ class HelloWorld:
stderr = subprocess.PIPE stderr = subprocess.PIPE
) )
out, error = ping.communicate() out, error = ping.communicate()
self.label.set_text(out) ind.set_label ("10.0 ms", "100.0 ms")
self.ping_menu_item.set_label(out) self.ping_menu_item.set_label(out)
gobject.timeout_add_seconds(self.timeout, self.ping) gobject.timeout_add_seconds(self.timeout, self.ping)
def delete_event(self, widget, event, data=None):
# If you return FALSE in the "delete_event" signal handler,
# GTK will emit the "destroy" signal. Returning TRUE means
# you don't want the window to be destroyed.
# This is useful for popping up 'are you sure you want to quit?'
# type dialogs.
print "delete event occurred"
# Change FALSE to TRUE and the main window will not be destroyed
# with a "delete_event".
return False
def destroy(self, widget, data=None): def destroy(self, widget, data=None):
print "destroy signal occurred" print "destroy signal occurred"
Gtk.main_quit() Gtk.main_quit()
def __init__(self): def __init__(self):
# create a new window
self.window = Gtk.Window()
# When the window is given the "delete_event" signal (this is given
# by the window manager, usually by the "close" option, or on the
# titlebar), we ask it to call the delete_event () function
# as defined above. The data passed to the callback
# function is NULL and is ignored in the callback function.
self.window.connect("delete_event", self.delete_event)
# Here we connect the "destroy" event to a signal handler.
# This event occurs when we call gtk_widget_destroy() on the window,
# or if we return FALSE in the "delete_event" callback.
self.window.connect("destroy", self.destroy)
# Sets the border width of the window.
self.window.set_border_width(10)
# Creates a new button with the label "Hello World".
self.button = Gtk.Button("Hello World")
self.label = Gtk.Label(str)
# When the button receives the "clicked" signal, it will call the
# function hello() passing it None as its argument. The hello()
# function is defined above.
self.button.connect("clicked", self.ping, None)
# register a periodic timer # register a periodic timer
self.counter = 0 self.counter = 0
self.timeout = 1 self.timeout = 1
gobject.timeout_add_seconds(self.timeout, self.ping) gobject.timeout_add_seconds(self.timeout, self.ping)
# This will cause the window to be destroyed by calling
# gtk_widget_destroy(window) when "clicked". Again, the destroy
# signal could come from here, or the window manager.
#self.button.connect_object("clicked", Gtk.Widget.destroy, self.window)
self.container = Gtk.Fixed()
self.container.put(self.button, 0, 0)
self.button.show()
self.container.put(self.label, 0, 50)
self.label.show()
self.container.show()
self.window.add(self.container)
# and the window
self.window.show()
# and the system tray
#self.system_tray()
def main(self):
# All PyGTK applications must have a Gtk.main(). Control ends here
# and waits for an event to occur (like a key press or mouse event).
foo = "bar"
def menuitem_response(w, buf): def menuitem_response(w, buf):
print buf print buf
@ -150,6 +84,7 @@ if __name__ == "__main__":
appindicator.IndicatorCategory.APPLICATION_STATUS) appindicator.IndicatorCategory.APPLICATION_STATUS)
ind.set_status (appindicator.IndicatorStatus.ACTIVE) ind.set_status (appindicator.IndicatorStatus.ACTIVE)
ind.set_attention_icon ("indicator-messages-new") ind.set_attention_icon ("indicator-messages-new")
ind.set_label ("0.0 ms", "100.0 ms")
# create a menu # create a menu
menu = Gtk.Menu() menu = Gtk.Menu()