Exemplo n.º 1
0
    def __init__(self, application_id, flags):
        Gtk.Application.__init__(self, application_id=application_id, flags=flags)
        self.connect("activate", self.activate)

        self.settings = Gio.Settings(schema_id="com.linuxmint.report")

        # Status icon
        self.menu = Gtk.Menu()
        menuItem = Gtk.MenuItem.new_with_label(_("Show System Reports"))
        menuItem.connect('activate', self.on_menu_show)
        self.menu.append(menuItem)
        self.menu.append(Gtk.SeparatorMenuItem())
        menuItem = Gtk.MenuItem.new_with_label(_("Quit"))
        menuItem.connect('activate', self.on_menu_quit)
        self.menu.append(menuItem)
        self.menu.show_all()

        try:
            self.status_icon = XApp.StatusIcon()
            self.status_icon.set_name("mintreport")
            self.status_icon.connect("activate", self.on_statusicon_activated)
            self.status_icon.set_secondary_menu(self.menu)
        except Exception as e:
            print("Couldn't instantiate XApp.StatusIcon: %s" % e)
            self.status_icon = GtkStatusIcon()
            self.status_icon.connect("activate", self.on_gtk_statusicon_activated)
            self.status_icon.connect("popup-menu", self.on_gtk_statusicon_popup)
        self.status_icon.set_visible(False)
Exemplo n.º 2
0
    def do_startup(self):
        Gtk.Application.do_startup(self)

        debug = False
        if len(sys.argv) > 1 and sys.argv[1] == "debug":
            debug = True

        self.rfkill = rfkillMagic.Interface(self.update_icon_callback, debug)
        self.settings = Gio.Settings(schema="org.blueberry")
        self.settings.connect("changed::tray-enabled",
                              self.on_settings_changed_cb)

        # If we have no adapter, or disabled tray, end early
        if (not self.rfkill.have_adapter) or (
                not self.settings.get_boolean("tray-enabled")):
            self.rfkill.terminate()
            sys.exit(0)

        self.client = GnomeBluetooth.Client()
        self.model = self.client.get_model()
        self.model.connect('row-changed', self.update_icon_callback)
        self.model.connect('row-deleted', self.update_icon_callback)
        self.model.connect('row-inserted', self.update_icon_callback)

        self.icon = XApp.StatusIcon()
        self.icon.set_name("blueberry")
        self.icon.set_tooltip_text(_("Bluetooth"))
        self.icon.connect("activate", self.on_statusicon_activated)
        self.icon.connect("button-release-event", self.on_statusicon_released)

        self.update_icon_callback(None, None, None)
Exemplo n.º 3
0
    def __init__(self, app):
        if XApp or AyatanaIndicator:
            show_menu_item = create_menu_item("Show Ulauncher",
                                              lambda *_: app.do_activate())
            menu = Gtk.Menu()
            menu.append(show_menu_item)
            menu.append(
                create_menu_item("Preferences",
                                 lambda *_: app.show_preferences()))
            menu.append(
                create_menu_item("About",
                                 lambda *_: app.show_preferences("about")))
            menu.append(Gtk.SeparatorMenuItem())
            menu.append(create_menu_item("Exit", lambda *_: app.quit()))
            menu.show_all()

        if XApp:
            self.indicator = XApp.StatusIcon()
            self.indicator.set_icon_name("ulauncher-indicator")
            # Show menu on right click and show launcher on left click
            self.indicator.set_secondary_menu(menu)
            self.indicator.connect("activate", lambda *_: app.do_activate())

        elif AyatanaIndicator:
            self.indicator = AyatanaIndicator.Indicator.new(
                "ulauncher", "ulauncher-indicator",
                AyatanaIndicator.IndicatorCategory.APPLICATION_STATUS)
            # libappindicator can't/won't distinguish between left and right clicks
            # Show menu on left or right click and show launcher on middle click
            self.indicator.set_menu(menu)
            self.indicator.set_secondary_activate_target(show_menu_item)
Exemplo n.º 4
0
    def create_status_icon(self):
        self.menu = Gtk.Menu()

        item = Gtk.MenuItem(label=_("New Note"))
        item.connect('activate', self.new_note)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Manage Notes"))
        item.connect('activate', self.open_manager)
        self.menu.append(item)

        self.menu.append(Gtk.SeparatorMenuItem())

        self.group_menu = Gtk.Menu()
        item = Gtk.MenuItem(label=_("Change Group"), submenu=self.group_menu)
        self.menu.append(item)

        self.update_groups_menu()

        self.menu.append(Gtk.SeparatorMenuItem())

        item = Gtk.MenuItem(label=_("Back Up Notes"))
        item.connect('activate', self.file_handler.save_backup)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Back Up To File"))
        item.connect('activate', self.file_handler.backup_to_file)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Restore Backup"))
        item.connect('activate', self.file_handler.restore_backup)
        self.menu.append(item)

        self.menu.append(Gtk.SeparatorMenuItem())

        item = Gtk.MenuItem(label=_("Settings"))
        item.connect('activate', self.open_settings_window)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Keyboard Shortcuts"))
        item.connect('activate', self.open_keyboard_shortcuts)
        self.menu.append(item)

        self.menu.append(Gtk.SeparatorMenuItem())

        item = Gtk.MenuItem(label=_("Exit"))
        item.connect('activate', self.quit_app)
        self.menu.append(item)

        self.menu.show_all()

        self.status_icon = XApp.StatusIcon()
        self.status_icon.set_name('sticky')
        self.status_icon.set_icon_name('sticky-symbolic')
        self.status_icon.set_tooltip_text('Sticky Notes')
        self.status_icon.set_visible(True)
        self.status_icon.set_secondary_menu(self.menu)
        self.status_icon.connect('activate', self.activate_notes)
Exemplo n.º 5
0
 def create_status_icon(self):
     self.status_icon = XApp.StatusIcon()
     self.status_icon.set_name('sticky')
     self.status_icon.set_icon_name('sticky-symbolic')
     self.status_icon.set_tooltip_text(_('Notes'))
     self.status_icon.set_visible(True)
     self.status_icon.connect('button-press-event',
                              self.on_tray_button_pressed)
     self.status_icon.connect('button-release-event',
                              self.on_tray_button_released)
Exemplo n.º 6
0
    def do_activate(self):
        Gtk.Application.do_activate(self)

        self.file_handler = FileHandler()

        self.settings = Gio.Settings(schema_id=SCHEMA)

        self.note_group = self.settings.get_string('default-group')
        group_names = self.file_handler.get_note_group_names()
        if self.note_group not in group_names:
            if len(group_names) > 0:
                self.note_group = group_names[0]
            else:
                self.file_handler.update_note_list([], self.note_group)

        provider = Gtk.CssProvider()
        provider.load_from_path(STYLE_SHEET_PATH)

        Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),
                                                 provider, 600)

        self.menu = Gtk.Menu()

        item = Gtk.MenuItem(label=_("New Note"))
        item.connect('activate', self.new_note)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Manage Notes"))
        item.connect('activate', self.open_manager)
        self.menu.append(item)

        item = Gtk.MenuItem(label=_("Settings"))
        item.connect('activate', self.open_settings_window)
        self.menu.append(item)

        self.menu.append(Gtk.SeparatorMenuItem())

        item = Gtk.MenuItem(label=_("Exit"))
        item.connect('activate', self.quit_app)
        self.menu.append(item)

        self.menu.show_all()

        self.status_icon = XApp.StatusIcon()
        self.status_icon.set_name('sticky')
        self.status_icon.set_icon_name('sticky-symbolic')
        self.status_icon.set_tooltip_text('Sticky Notes')
        self.status_icon.set_visible(True)
        self.status_icon.set_secondary_menu(self.menu)
        self.status_icon.connect('activate', self.activate_notes)

        self.load_notes()

        self.hold()
Exemplo n.º 7
0
    def __init__(self):
        self.drop_zones = {}
        self.services = None

        self.build_services_menu()
        # Refresh list of services in the menu every 2 seconds
        GLib.timeout_add_seconds(2, self.reload_services)

        self.status_icon = XApp.StatusIcon()
        self.status_icon.set_name("mintupload")
        self.status_icon.set_icon_name(SYSTRAY_ICON)
        self.status_icon.set_tooltip_text(_("Upload services"))
        self.status_icon.set_primary_menu(self.menu)
        self.status_icon.set_secondary_menu(self.menu)
Exemplo n.º 8
0
    def do_activate(self):
        """
        Called when the plugin is activated
        """
        self.shell = self.object
        self.wind = self.shell.get_property("window")
        self.player = self.shell.props.shell_player
        self.db = self.shell.props.db
        self.playing = False

        self.wind.connect("delete-event", self.hide_on_delete)

        self.icon = XApp.StatusIcon()
        self.icon.set_icon_name("folder-music-symbolic")
        self.icon.connect("scroll-event", self.on_scroll)
        self.icon.connect("activate", self.toggle_player_visibility)
        self.player.connect("playing-changed", self.on_playing_changed)

        self.set_tooltip_text("Rhythmbox")
        self.create_popup_menu()
Exemplo n.º 9
0
    def dowork(self):
        # Wait for translated texts to be loaded
        while not sabnzbd.WEBUI_READY:
            sleep(0.2)
            logging.debug("language file not loaded, waiting")

        self.sabpaused = False
        if HAVE_XAPP:
            self.statusicon = XApp.StatusIcon()
        else:
            self.statusicon = Gtk.StatusIcon()
        self.statusicon.set_name("SABnzbd")
        self.statusicon.set_visible(True)
        self.icon = self.sabicons["default"]
        self.refresh_icon()
        self.tooltip = "SABnzbd %s" % sabnzbd.__version__
        self.refresh_tooltip()
        if HAVE_XAPP:
            self.statusicon.connect("activate", self.right_click_event)
        else:
            self.statusicon.connect("popup-menu", self.right_click_event)

        GLib.timeout_add(self.updatefreq, self.run)
        Gtk.main()
Exemplo n.º 10
0
 def setup_status_icon(self):
     self.status_icon = XApp.StatusIcon()
     self.status_icon.set_icon_name("warp-symbolic")
     self.status_icon.connect("activate", self.on_tray_icon_activate)
Exemplo n.º 11
0
    def __init__(self):
        self.menu = Gtk.Menu()
        self._xapp_status_icon = None
        self._app_indicator = None
        self._status_icon = None

        try:
            gi.require_version('XApp', '1.0')
            from gi.repository import XApp
            if not hasattr(XApp, 'StatusIcon'):
                raise ValueError
        except ValueError as ImportError:
            try:
                gi.require_version('AyatanaAppIndicator3', '0.1')
                from gi.repository import AyatanaAppIndicator3
            except ValueError as ImportError:
                try:
                    gi.require_version('AppIndicator3', '0.1')
                    from gi.repository import AppIndicator3
                except ValueError as ImportError:
                    self._status_icon = StatusIcon()
                    self._status_icon.set_menu(self.menu)
                else:
                    self._app_indicator = AppIndicator3.Indicator.new(
                        "glipper", "glipper",
                        AppIndicator3.IndicatorCategory.APPLICATION_STATUS)
                    self._app_indicator.set_status(
                        AppIndicator3.IndicatorStatus.ACTIVE)
                    self._app_indicator.set_menu(self.menu)
                    self._app_indicator.set_title("Glipper")
            else:
                self._app_indicator = AyatanaAppIndicator3.Indicator.new(
                    "glipper", "glipper",
                    AyatanaAppIndicator3.IndicatorCategory.APPLICATION_STATUS)
                self._app_indicator.set_status(
                    AyatanaAppIndicator3.IndicatorStatus.ACTIVE)
                self._app_indicator.set_menu(self.menu)
                self._app_indicator.set_title("Glipper")
        else:
            self._xapp_status_icon = XApp.StatusIcon()
            self._xapp_status_icon.set_icon_name("glipper")
            self._xapp_status_icon.set_tooltip_text("Glipper")
            self._xapp_status_icon.set_name("glipper")
            self._xapp_status_icon.set_primary_menu(self.menu)
            self._xapp_status_icon.set_secondary_menu(self.menu)
            self._xapp_status_icon.set_visible(True)

        glipper.GSETTINGS.connect(
            "changed::" + glipper.GSETTINGS_MARK_DEFAULT_ENTRY,
            lambda x, y, z=None: self.update_menu(get_glipper_history().
                                                  get_history()))
        glipper.GSETTINGS.connect(
            "changed::" + glipper.GSETTINGS_MAX_ITEM_LENGTH,
            lambda x, y, z=None: self.update_menu(get_glipper_history().
                                                  get_history()))
        glipper.GSETTINGS.get_boolean(glipper.GSETTINGS_MARK_DEFAULT_ENTRY)
        glipper.GSETTINGS.get_int(glipper.GSETTINGS_MAX_ITEM_LENGTH)

        Gtk.Window.set_default_icon_name("glipper")

        get_glipper_keybinder().connect('activated',
                                        self.on_key_combination_press)
        get_glipper_keybinder().connect('changed',
                                        self.on_key_combination_changed)
        get_glipper_history().connect('changed', self.on_history_changed)
        get_glipper_plugins_manager().load()
        get_glipper_history().load()
        get_glipper_plugins_manager().connect(
            'menu-items-changed', self.on_plugins_menu_items_changed)