Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import gtk
- #import sys
- import os
- global ab
- ab = 0
- class SystrayIconApp:
- def __init__(self):
- self.tray = gtk.StatusIcon()
- self.tray.set_from_file("desktop-icon.png")
- self.tray.connect('popup-menu', self.on_right_click)
- self.tray.connect('activate', self.on_left_click)
- self.tray.set_tooltip(('Brightness Lord'))
- #global window
- self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
- self.window.set_title("Brightness Lord")
- self.window.set_position(gtk.WIN_POS_MOUSE)
- self.window.set_default_size(20, 150)
- gtk.Window.set_decorated(self.window,0)
- adjustment = gtk.Adjustment(value=0, lower=0, upper=0.9)
- self.scale = gtk.VScale(adjustment)
- #self.scale.set_digits(1)
- self.scale.set_draw_value(0)
- self.scale.set_update_policy(gtk.UPDATE_DELAYED)
- self.window.connect("destroy", lambda w: gtk.main_quit())
- self.scale.connect("value-changed", self.scale_moved)
- self.window.add(self.scale)
- def on_right_click(self, icon, event_button, event_time):
- self.make_menu(event_button, event_time)
- def make_menu(self, event_button, event_time):
- menu = gtk.Menu()
- clear = gtk.MenuItem("Display OFF")
- clear.show()
- menu.append(clear)
- clear.connect('activate', self.off)
- #show about dialog
- about = gtk.MenuItem("About")
- about.show()
- menu.append(about)
- about.connect('activate', self.show_about_dialog)
- # add quit item
- quit = gtk.MenuItem("Quit")
- quit.show()
- menu.append(quit)
- quit.connect('activate', gtk.main_quit)
- menu.popup(None, None, gtk.status_icon_position_menu,
- event_button, event_time, self.tray)
- def on_left_click(self, widget):
- global ab
- if ab == 0:
- self.window.show_all()
- ab = 1
- else:
- self.window.hide()
- ab = 0
- def show_about_dialog(self, widget):
- about_dialog = gtk.AboutDialog()
- about_dialog.set_destroy_with_parent (True)
- about_dialog.set_icon_name ("Brightness Lord")
- about_dialog.set_name('Brightness Lord')
- about_dialog.set_version('0.1')
- about_dialog.set_comments(("Program to control brightness and turn monitor off"))
- about_dialog.set_authors(['Avogadrus'])
- about_dialog.run()
- about_dialog.destroy()
- def scale_moved(self, event):
- os.system("xrandr --output $(xrandr --current | awk '/ connected/ { print $1 }') --brightness " + str(1 - round(self.scale.get_value(),1)) )
- def off(self, widget):
- os.system("xset dpms force off")
- if __name__ == "__main__":
- SystrayIconApp()
- gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment