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)
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)
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)
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)
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)
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()
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)
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()
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()
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)
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)