Ejemplo n.º 1
0
    def __init__(self):
        check_single_instance("blueman-tray")

        applet = AppletService()

        main_loop = GLib.MainLoop()

        Gio.bus_watch_name(Gio.BusType.SESSION, 'org.blueman.Applet',
                           Gio.BusNameWatcherFlags.NONE, None,
                           lambda _connection, _name: main_loop.quit())

        indicator_name = applet.GetStatusIconImplementation()
        logging.info('Using indicator "%s"' % indicator_name)
        indicator_class = getattr(
            import_module('blueman.main.indicators.' + indicator_name),
            indicator_name)
        self.indicator = indicator_class(applet.GetIconName(),
                                         self._activate_menu_item,
                                         self._activate_status_icon)

        applet.connect('g-signal', self.on_signal)

        self.indicator.set_text(applet.GetText())
        self.indicator.set_visibility(applet.GetVisibility())
        self.indicator.set_menu(applet.GetMenu())

        main_loop.run()
Ejemplo n.º 2
0
    def _on_name_appeared(self, _connection: Gio.DBusConnection, name: str, _owner: str) -> None:
        logging.debug("Applet started on name %s, showing indicator" % name)

        applet = AppletService()
        indicator_name = applet.GetStatusIconImplementation()
        logging.info(f'Using indicator "{indicator_name}"')
        indicator_class = getattr(import_module('blueman.main.indicators.' + indicator_name), indicator_name)
        self.indicator = indicator_class(applet.GetIconName(), self._activate_menu_item, self._activate_status_icon)

        applet.connect('g-signal', self.on_signal)

        self.indicator.set_text(applet.GetText())
        self.indicator.set_visibility(applet.GetVisibility())
        self.indicator.set_menu(applet.GetMenu())

        self._active = True