Plugin decription

Layers

NameClassValue
cdimage
dvdimage
lockimage
bgrect

Global code

class Updater:
  def __init__(self, anInconXInstance):
    self.iconx = anInconXInstance

  def updateLayers(self):
    if os.system('mount | grep /mnt/dvd > /dev/null') != 0 :
      self.iconx.setStatus("bg,cd,dvd")
    else:
      self.iconx.setStatus("bg,cd,lock,dvd")

def explore(menuItem):
    os.system('gnome-commander -s /mnt/dvd &')

  

Actions

onLoad

self.updater = Updater(self)
self.updater.updateLayers()
  

onPress (button 1)

# swap dvd
os.system('~/bin/swap-dvd')
self.updater.updateLayers()
    

onPress (button 2)

# update status
self.updater.updateLayers()

    

onRelease (button 3)

def quit(widget,data):
     gtk.main_quit()

def changeStatus(widget,data):
    print widget

submenu = gtk.Menu()

quitItem = gtk.MenuItem("quit")
quitItem.connect("activate", quit, "quit")

swapItem = gtk.MenuItem("swap")
swapItem.connect("activate", self.action_pressOnButton_1, "swap")

updateItem = gtk.MenuItem("update")
updateItem.connect("activate", self.action_pressOnButton_2, "update")

exploreItem = gtk.MenuItem("explore")
exploreItem.connect("activate", explore)

submenu.add(swapItem)
submenu.add(updateItem)
submenu.add(exploreItem)
submenu.add(gtk.SeparatorMenuItem())
submenu.add(quitItem)
submenu.show_all()
submenu.popup(None, None, None, event.button, event.time)