def show(self, name='dtc', icon='exec', tooltip='DTC - Script Runner',*args, **vargs): if len(self.itens): self.menu.show() try: #try use appindicator import appindicator ind = appindicator.Indicator(name, icon, appindicator.CATEGORY_APPLICATION_STATUS) ind.set_status(appindicator.STATUS_ACTIVE) #ind.set_label(tooltip) ind.set_menu(self.menu) Loggable.debug("Appindicator", "Use appindicator") except: #else use gtk.StatusIcon tray = gtk.StatusIcon() tray.set_name(name) tray.set_from_icon_name(icon) tray.set_tooltip(tooltip) def show_menu(self, tray, event, activate_time, menu, *args, **kws): menu.popup(None, None, gtk.status_icon_position_menu, event, activate_time, tray) tray.connect('popup-menu', show_menu, self.menu) Loggable.debug("StatusIcon", "Use StatusIcon") Loggable.info("Starter indicator", "Your indicatior module starts", self.itens) gtk.main() else: Loggable.warn("Empty indicator", "No itens found to populate indicator menu")
def run(self, *arg, **args): Loggable.debug("dtc mainloop gtk", "start") try: gtk.main() self._running = True except: self._running = False
def appendItem(self, title, on_click, alt=None, *args, **vargs): menu_item = gtk.MenuItem(title) menu_item.connect("activate", on_click) menu_item.set_tooltip_text(alt) menu_item.show() self.menu.append(menu_item) key = len(self.itens.keys()) self.itens[key] = menu_item Loggable.debug("appendItem", "'%s' => '%s'" % (key, title)) return key
def handle_message(msgpdu, from_number, msg_hash, to_number, *args, **argsv): Loggable.debug("MSGPU: ", msgpdu) pdu = gsmdecode.decode_pdu(msgpdu) Notifiable.info("SMS: %s" % (pdu.get('sender'),), pdu.get('user_data', '')) Loggable.info("SMS: %s" % (pdu.get('sender'),), pdu.get('user_data', ''))
def removeItem(self, item_id=None, *args, **vargs): menu_item = self.itens.get(item_id, None) if menu_item: Loggable.debug("removeItem", item_id) menu_item.destroy()