Advertisement
Guest User

Untitled

a guest
Sep 10th, 2017
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.89 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: UTF-8 -*-
  3. import pygtk
  4. pygtk.require('2.0')
  5. import gtk
  6. import os
  7. import getpass
  8.  
  9. class cb_exit:
  10. def disable_buttons(self):
  11. self.cancel.set_sensitive(False)
  12. self.logout.set_sensitive(False)
  13. self.suspend.set_sensitive(False)
  14. self.reboot.set_sensitive(False)
  15. self.shutdown.set_sensitive(False)
  16.  
  17. def cancel_action(self,btn):
  18. self.disable_buttons()
  19. gtk.main_quit()
  20.  
  21. def logout_action(self,btn):
  22. self.disable_buttons()
  23. self.status.set_label("Kijelentkezés, kérem várjon...")
  24. os.system("openbox --exit")
  25.  
  26. def suspend_action(self,btn):
  27. self.disable_buttons()
  28. self.status.set_label("Felfüggesztés folyamatban, kérem várjon...")
  29. os.system("cb-lock")
  30. os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.UPower\" /org/freedesktop/UPower org.freedesktop.UPower.Suspend")
  31. gtk.main_quit()
  32.  
  33. def reboot_action(self,btn):
  34. self.disable_buttons()
  35. self.status.set_label("Újraindítás, kérem várjon...")
  36. os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Restart")
  37.  
  38. def shutdown_action(self,btn):
  39. self.disable_buttons()
  40. self.status.set_label("Leállítás, kérem várjon...")
  41. os.system("dbus-send --system --print-reply --dest=\"org.freedesktop.ConsoleKit\" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop")
  42.  
  43. def create_window(self):
  44. self.window = gtk.Window()
  45. title = "Válasszon az alábbi lehetőségek közül:"
  46. self.window.set_title(title)
  47. self.window.set_border_width(5)
  48. self.window.set_size_request(500, 80)
  49. self.window.set_resizable(False)
  50. self.window.set_keep_above(True)
  51. self.window.stick
  52. self.window.set_position(1)
  53. self.window.connect("delete_event", gtk.main_quit)
  54. windowicon = self.window.render_icon(gtk.STOCK_QUIT, gtk.ICON_SIZE_MENU)
  55. self.window.set_icon(windowicon)
  56.  
  57.  
  58. #Create HBox for buttons
  59. self.button_box = gtk.HBox()
  60. self.button_box.show()
  61.  
  62. #Cancel button
  63. self.cancel = gtk.Button(stock = gtk.STOCK_CANCEL)
  64. self.cancel.set_border_width(4)
  65. self.cancel.connect("clicked", self.cancel_action)
  66. self.button_box.pack_start(self.cancel)
  67. self.cancel.show()
  68.  
  69. #Logout button
  70. self.logout = gtk.Button("_Kijelentkezés")
  71. self.logout.set_border_width(4)
  72. self.logout.connect("clicked", self.logout_action)
  73. self.button_box.pack_start(self.logout)
  74. self.logout.show()
  75.  
  76. #Suspend button
  77. self.suspend = gtk.Button("_Felfüggesztés")
  78. self.suspend.set_border_width(4)
  79. self.suspend.connect("clicked", self.suspend_action)
  80. self.button_box.pack_start(self.suspend)
  81. self.suspend.show()
  82.  
  83. #Reboot button
  84. self.reboot = gtk.Button("_Újraindítás")
  85. self.reboot.set_border_width(4)
  86. self.reboot.connect("clicked", self.reboot_action)
  87. self.button_box.pack_start(self.reboot)
  88. self.reboot.show()
  89.  
  90. #Shutdown button
  91. self.shutdown = gtk.Button("_Leállítás")
  92. self.shutdown.set_border_width(4)
  93. self.shutdown.connect("clicked", self.shutdown_action)
  94. self.button_box.pack_start(self.shutdown)
  95. self.shutdown.show()
  96.  
  97. #Create HBox for status label
  98. self.label_box = gtk.HBox()
  99. self.label_box.show()
  100. self.status = gtk.Label()
  101. self.status.show()
  102. self.label_box.pack_start(self.status)
  103.  
  104. #Create VBox and pack the above HBox's
  105. self.vbox = gtk.VBox()
  106. self.vbox.pack_start(self.button_box)
  107. self.vbox.pack_start(self.label_box)
  108. self.vbox.show()
  109.  
  110. self.window.add(self.vbox)
  111. self.window.show()
  112.  
  113. def __init__(self):
  114. self.create_window()
  115.  
  116.  
  117. def main():
  118. gtk.main()
  119.  
  120. if __name__ == "__main__":
  121. go = cb_exit()
  122. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement