def remove(self, item):
     if self.menu:
         mitem = self.menu.itemWithTag_(item.sessionController.identifier)
         if mitem:
             self.menu.removeItem_(mitem)
             self.items.remove(item)
         if not self.items:
             NSStatusBar.systemStatusBar().removeStatusItem_(self.statusItem)
             self.statusItem = None
             self.menu = None
 def show(self, item):
     if not self.items:
         self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength_(30)
         self.menu = NSMenu.alloc().init()
         image = NSImage.imageNamed_("display").copy()
         image.setSize_(NSMakeSize(24, 24))
         self.statusItem.setImage_(image)
         self.statusItem.setMenu_(self.menu)
     self.items.append(item)
     mitem = self.menu.addItemWithTitle_action_keyEquivalent_("%s - Waiting" % item.sessionController.getTitle(),  "activateItem:", "")
     mitem.setTag_(item.sessionController.identifier)
     mitem.setTarget_(self)