Pandora Rebirth >> SuperZaxxon

自製鍵盤背光控制


trayicon.py

#!/usr/bin/python
import os
import sys
import gtk
import glib
import time
import commands
import subprocess

base_path = '/usr/pandora/trayicon/'

class pandora:
  def __init__(self):
    self.statusicon = gtk.StatusIcon()
    self.statusicon.set_from_file('{}{}'.format(base_path, 'main.png'))
    self.statusicon.connect("activate", self.left_click_event)

  def left_click_event(self, event):
    time = gtk.get_current_event_time()
    button = gtk.get_current_event().button

    menu = gtk.Menu()

    submenu = None
    img = gtk.Image()
    img.set_from_file('{}{}'.format(base_path, 'off.png'))
    submenu = gtk.ImageMenuItem("Turn Off")
    submenu.connect("button-press-event", self.off) 
    submenu.set_image(img)
    menu.append(submenu)

    submenu = None
    img = gtk.Image()
    img.set_from_file('{}{}'.format(base_path, 'lv1.png'))
    submenu = gtk.ImageMenuItem("Level 1")
    submenu.connect("button-press-event", self.lv1) 
    submenu.set_image(img)
    menu.append(submenu)

    submenu = None
    img = gtk.Image()
    img.set_from_file('{}{}'.format(base_path, 'lv2.png'))
    submenu = gtk.ImageMenuItem("Level 2")
    submenu.connect("button-press-event", self.lv2) 
    submenu.set_image(img)
    menu.append(submenu)

    submenu = None
    img = gtk.Image()
    img.set_from_file('{}{}'.format(base_path, 'lv3.png'))
    submenu = gtk.ImageMenuItem("Level 3")
    submenu.connect("button-press-event", self.lv3) 
    submenu.set_image(img)
    menu.append(submenu)

    '''
    menu.append(gtk.SeparatorMenuItem())
    menuexit = gtk.ImageMenuItem("Exit")
    img = gtk.Image()
    img.set_from_file('{}{}'.format(base_path, 'exit.png'))
    menuexit.set_image(img)
    menuexit.connect("button-press-event", self.exit) 
    menu.append(menuexit) 
    '''

    menu.show_all() 
    menu.popup(None, None, 
      gtk.status_icon_position_menu, button, time, self.statusicon) 

  def off(self, widget, event): 
    os.system('echo 0 > /sys/class/leds/pandora::keypad_bl/brightness')
  
  def lv1(self, widget, event): 
    os.system('echo 50 > /sys/class/leds/pandora::keypad_bl/brightness')
  
  def lv2(self, widget, event): 
    os.system('echo 150 > /sys/class/leds/pandora::keypad_bl/brightness')
   
  def lv3(self, widget, event): 
    os.system('echo 250 > /sys/class/leds/pandora::keypad_bl/brightness')
  
  def exit(self, widget, event): 
    if event.button == 1:
      gtk.main_quit() 
  
pandora()
gtk.main()

完成


返回上一頁