Posted by tao_te on Fri 5th Oct 17:12 (modification of post by view diff)
download | new post
- #!/usr/bin/env python
- import pygtk
- pygtk.require('2.0')
- import gtk
- import os
- import getpass
- class cb_exit:
- def disable_buttons(self):
- self.shutdown.set_sensitive(False)
- self.reboot.set_sensitive(False)
- self.suspend.set_sensitive(False)
- self.cancel.set_sensitive(False)
- def shutdown_action(self,btn):
- self.disable_buttons()
- self.status.set_label("Shutting down, please standby...")
- os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
- def reboot_action(self,btn):
- self.disable_buttons()
- self.status.set_label("Rebooting, please standby...")
- os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
- def suspend_action(self,btn):
- self.disable_buttons()
- self.status.set_label("Suspending, please standby...")
- os.system("cb-lock")
- os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Suspend")
- gtk.main_quit()
- def cancel_action(self,btn):
- self.disable_buttons()
- gtk.main_quit()
- def create_window(self):
- self.window = gtk.Window()
- title = "exit menu"
- self.window.set_title(title)
- self.window.set_border_width(1)
- self.window.set_size_request(400, 50)
- self.window.set_resizable(False)
- self.window.set_keep_above(True)
- self.window.stick
- self.window.set_position(1)
- self.window.connect("delete_event", gtk.main_quit)
- windowicon = self.window.render_icon(gtk.STOCK_QUIT, gtk.ICON_SIZE_MENU)
- self.window.set_icon(windowicon)
- #Create HBox for buttons
- self.button_box = gtk.HBox()
- self.button_box.show()
- #Shutdown button
- self.shutdown = gtk.Button("_Shutdown")
- self.shutdown.set_border_width(4)
- self.shutdown.connect("clicked", self.shutdown_action)
- self.button_box.pack_start(self.shutdown)
- self.shutdown.show()
- #Reboot button
- self.reboot = gtk.Button("_Reboot")
- self.reboot.set_border_width(4)
- self.reboot.connect("clicked", self.reboot_action)
- self.button_box.pack_start(self.reboot)
- self.reboot.show()
- #Suspend button
- self.suspend = gtk.Button("_Suspend")
- self.suspend.set_border_width(4)
- self.suspend.connect("clicked", self.suspend_action)
- self.button_box.pack_start(self.suspend)
- self.suspend.show()
- #Cancel button
- self.cancel = gtk.Button("_cancel")
- self.cancel.set_border_width(4)
- self.cancel.connect("clicked", self.cancel_action)
- self.button_box.pack_start(self.cancel)
- self.cancel.show()
- #Create HBox for status label
- self.label_box = gtk.HBox()
- self.label_box.show()
- self.status = gtk.Label()
- self.status.show()
- self.label_box.pack_start(self.status)
- #Create VBox and pack the above HBox's
- self.vbox = gtk.VBox()
- self.vbox.pack_start(self.button_box)
- self.vbox.pack_start(self.label_box)
- self.vbox.show()
- self.window.add(self.vbox)
- self.window.show()
- def __init__(self):
- self.create_window()
- def main():
- gtk.main()
- if __name__ == "__main__":
- go = cb_exit()
- main()
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.