def __init__(self, indicator, service_control_thread, named_pipe_controller): self.service_controller = service_control_thread self.named_pipe_controller = named_pipe_controller helper = gtk.Button() self.paired_service_ico = gtk.gdk.pixbuf_new_from_file( RESOURCES + "emblem-default.png") self.connected_service_ico = gtk.gdk.pixbuf_new_from_file( RESOURCES + "audio-x-generic.png") self.play_ico = helper.render_icon(gtk.STOCK_MEDIA_PLAY, gtk.ICON_SIZE_MENU) self.stop_ico = helper.render_icon(gtk.STOCK_MEDIA_STOP, gtk.ICON_SIZE_MENU) self.pause_ico = helper.render_icon(gtk.STOCK_MEDIA_PAUSE, gtk.ICON_SIZE_MENU) self.next_ico = helper.render_icon(gtk.STOCK_MEDIA_NEXT, gtk.ICON_SIZE_MENU) self.play_status = indicate.Indicator() self.play_status.connect("user-display", self.service_controller.toggle_play) self.next = indicate.Indicator() self.next.set_property_icon("icon", self.next_ico) self.next.set_property("name", "Next track") self.next.connect("user-display", self.service_controller.next_track) self.indicator = indicator self.indicator.set_property_icon("icon", self.paired_service_ico)
def update_indicators(self, counts): if indicate: if counts.has_key("private"): if not self.private_indicator: self.private_indicator = indicate.Indicator() if hasattr( indicate, "Indicator") else indicate.IndicatorMessage() self.private_indicator.connect("user-display", self.on_indicator_activate) self.private_indicator.set_property("name", _("Private")) self.private_indicator.set_property("stream", "private") self.private_indicator.show() self.private_indicator.set_property("count", str(counts["private"])) if counts["private"] > 0: self.private_indicator.set_property_bool( "draw-attention", True) if self.private_indicator not in self.indicator_items: self.indicator_items["private"] = self.private_indicator log.logger.debug( "Private Messages Indicator count updated to %s", counts["private"]) if counts.has_key("replies"): if not self.replies_indicator: self.replies_indicator = indicate.Indicator() if hasattr( indicate, "Indicator") else indicate.IndicatorMessage() self.replies_indicator.connect("user-display", self.on_indicator_activate) self.replies_indicator.set_property("name", _("Replies")) self.replies_indicator.set_property("stream", "replies") self.replies_indicator.show() self.replies_indicator.set_property("count", str(counts["replies"])) if self.replies_indicator not in self.indicator_items: self.indicator_items["replies"] = self.replies_indicator log.logger.debug("Replies Indicator count updated to %s", counts["replies"]) if counts.has_key("messages"): if not self.messages_indicator: self.messages_indicator = indicate.Indicator() if hasattr( indicate, "Indicator") else indicate.IndicatorMessage() self.messages_indicator.connect("user-display", self.on_indicator_activate) self.messages_indicator.set_property("name", _("Messages")) self.messages_indicator.set_property("stream", "messages") self.messages_indicator.show() self.messages_indicator.set_property("count", str(counts["messages"])) if self.messages_indicator not in self.indicator_items: self.indicator_items["messages"] = self.messages_indicator log.logger.debug("Messages Indicator count updated to %s", counts["messages"])
def show_indicator(self, conversation): log("Updating Indicator", INFO) new = False if not conversation.indicator_name in self.indicators: self.indicators[conversation.indicator_name] = indicate.Indicator() self.indicators[conversation.indicator_name].set_property_bool( "draw-attention", True) self.indicators[conversation.indicator_name].set_property( "id", str(conversation.id)) self.indicators[conversation.indicator_name].set_property( "indicator_name", str(conversation.indicator_name)) self.indicators[conversation.indicator_name].connect( "user-display", self.show_conversation) new = True self.indicators[conversation.indicator_name].set_property( "name", str(conversation.display_name)) self.indicators[conversation.indicator_name].set_property( "timestamp", str(conversation.timestamp)) self.indicators[conversation.indicator_name].set_property_time( 'time', conversation.timestamp) # check if the settings want avatars user_avatar = None if settings.get_display_indicator_avatars(): user_avatar = SkypeAvatar(conversation.skypereturn.Sender.Handle) if user_avatar and user_avatar.filename: bitmapVersion = user_avatar.get_bitmap_version() self.indicators[conversation.indicator_name].set_property( "icon", str(user_avatar.get_bitmap_version())) else: self.indicators[conversation.indicator_name].set_property( "icon", "") if new: self.indicators[conversation.indicator_name].show()
def create_indicator(self, acc): indicator = indicate.Indicator() indicator.set_property("name", acc.get_name()) indicator.set_property("count", str(acc.get_total_unread())) indicator.set_property_icon("icon", acc.get_icon()) indicator.show() indicator.connect("user-display", self.on_indicator_display_cb) acc.indicator = indicator indicator.account = acc acc.is_error_icon = False
def addIndicator(indicator_name, handler): """ Add a new indicator to the application's messaging menu entry (the "server"). @param indicator_name: The label for the indicator in the messaging menu.""" indicator = indicate.Indicator() indicator.set_property("name", indicator_name) indicator.set_property("subtype", "mail") indicator.label = indicator_name indicator.connect("user-display", handler) indicators[indicator_name] = indicator indicator.show()
def _create_indicator(self, subtype, sender, body, extra_text='', icid=None): """ This creates a new indicator item, called by on_message, online & offline. """ if indicate: try: # Ubuntu 9.10+ ind = indicate.Indicator() except Exception: # Ubuntu 9.04 ind = indicate.IndicatorMessage() #Get user icon. contact = self.handler.session.contacts.safe_get(body) pixbuf = utils.safe_gtk_pixbuf_load(contact.picture or '', (48, 48)) if pixbuf is not None: ind.set_property_icon("icon", pixbuf) ind.set_property("subtype", subtype) ind.set_property("sender", sender + extra_text) if icid is not None: ind.set_property("body", str(icid)) else: ind.set_property("body", body) ind.set_property_time("time", time.time()) ind.set_property("draw-attention", "true") ind.connect("user-display", self._display) ind.show() # Add indicator to the dictionary if subtype == "im": self.indicator_dict[ind] = icid self.r_indicator_dict[icid] = ind for old_icid in self.indicator_dict.values(): if old_icid not in self.handler.session.conversations.keys(): # workaround: kill the orphan indicator ind = self.r_indicator_dict[old_icid] del self.indicator_dict[ind] del self.r_indicator_dict[old_icid] else: return
def handle_indicator_item(self, message): if not self.indicator_items.has_key(str(message["mid"])): indicator = indicate.Indicator() if hasattr( indicate, "Indicator") else indicate.IndicatorMessage() indicator.connect("user-display", self.on_indicator_reply_activate) indicator.set_property("subtype", "im.gwibber") indicator.set_property("sender", message["sender"].get("name", "")) indicator.set_property("body", message["text"]) indicator.set_property_time( "time", mx.DateTime.DateTimeFromTicks( message["time"]).localtime().ticks()) indicator.show() self.indicator_items[message["mid"]] = indicator log.logger.debug("Message from %s added to indicator", message["sender"].get("name", "")) return False
def add_indicator(self, watch): icon = self.specto.notifier.get_icon(watch.icon, 0, False) try: # Ubuntu 9.10 and above _indicator = indicate.Indicator() except: # Ubuntu 9.04 _indicator = indicate.IndicatorMessage() _indicator.set_property("subtype", "im") _indicator.set_property("sender", watch.name) _indicator.set_property("body", watch.get_balloon_text()) _indicator.set_property_time("time", time.time()) if icon: _indicator.set_property_icon("icon", icon) _indicator.set_property('draw-attention', 'true') _indicator.connect("user-display", watch.open_watch) _indicator.show() self.indicate_db.update({watch.id: _indicator})
def service_added(self, interface, protocol, name, type, domain, flags): interface, protocol, name, type, domain, host, aprotocol, address, port, txt, flags = server.ResolveService( interface, protocol, name, type, domain, avahi.PROTO_UNSPEC, dbus.UInt32(0)) service_id = name + '.' + type + '.' + domain properties = {} for t in txt: # convert the dbus byte arrays into strings, split into KV pairs and store in a map as_string = "".join(chr(b) for b in t) key_value_pair = as_string.split("=") properties[key_value_pair[0]] = key_value_pair[1] service_id = properties[SERVICE_ID_PROPERTY].replace("0x", "", 1) base = base_service(host, port, indicate.Indicator()) base.indicator.set_property("name", name) self.services.update({service_id: base}) self.service_available(service_id)
from time import time import indicate import gtk server = indicate.indicate_server_ref_default() server.set_type("message.im") #server.connect("server-display", self.on_server_display_cb) server.set_desktop_file("/usr/local/share/applications/cloudsn.desktop") server.show() inds = [] for i in range(10): indicator = indicate.Indicator() indicator.set_property("name", "Test account") indicator.set_property_time("time", time()) indicator.set_property_int("count", 0) """ if acc.get_provider().get_icon() is not None: indicator.set_property_icon("icon", acc.get_provider().get_icon()) """ indicator.show() inds.append(indicator) #acc.indicator = indicator #indicator.account = acc #indicator.connect("user-display", self.on_indicator_display_cb) gtk.main()
def __init__(self, name): self.indicator = indicate.Indicator() self.indicator.set_property("subtype", "micro") self.indicator.set_property("sender", name)
import indicate except ImportError: HAS_MEMENU = False else: HAS_MEMENU = True from time import time label = "Unread Tweets" # Indicator server ind_server = indicate.indicate_server_ref_default() ind_server.set_type("message.im") ind_server.set_desktop_file("/usr/share/applications/hotot.desktop") # Indicator indicator_unread = indicate.Indicator() indicator_unread.set_property("name", label) indicator_unread.set_property("count", "0") indicator_unread.set_property("draw-attention", "false"); indicator_unread.label = label indicator_unread.show() try: import i18n except: from gettext import gettext as _ try: import glib glib.set_application_name(_("Hotot")) except: pass