Beispiel #1
0
    def on_load(self):
        path = os.path.join(os.path.dirname(__file__), '..', '..', 'icons')
        icon_path = os.path.abspath(path)

        theme = gtk.icon_theme_get_default()
        theme.append_search_path(icon_path)

        if theme.has_icon('gpodder'):
            self.status_icon = gtk.status_icon_new_from_icon_name('gpodder')
        else:
            self.status_icon = gtk.status_icon_new_from_icon_name('stock_mic')

        self.status_icon.connect('activate', self.on_toggle_visible)
        self.status_icon.set_has_tooltip(True)
        self.status_icon.set_tooltip_text("gPodder")
        def __init__(self):
                self.pathname = os.path.dirname(sys.argv[0])
                self.abspath = os.path.abspath(self.pathname)
                self.gladefile = self.abspath + "/streamripper-gui.glade"
                self.window1 = gtk.glade.XML(self.gladefile,"window1",APP)
                self.record_active = False

                dic = {
                        "on_button1_clicked": self.on_button1_clicked,
                        "on_button2_clicked": self.on_button2_clicked,
                        "on_button4_clicked": self.about,
                        "on_button5_clicked": self.on_button5_clicked,
                        "on_window1_delete_event" : self.quit#(gtk.main_quit)
                }
                
                self.window1.signal_autoconnect (dic)
                
                
                self.statusIcon = gtk.status_icon_new_from_icon_name('audio-x-generic')
                self.statusIcon.connect("activate", self.toggleMainWindow)
                
                #while gtk.events_pending():
                        #gtk.main_iteration_do()
                meta = self.getPlayerStream()
                if meta:
                        stream = self.ProcessLocation(meta['location'])
                        self.window1.get_widget('entry1').set_text(stream)
    def __init__(self):
        self.pathname = os.path.dirname(sys.argv[0])
        self.abspath = os.path.abspath(self.pathname)
        self.gladefile = self.abspath + "/streamripper-gui.glade"
        self.window1 = gtk.glade.XML(self.gladefile, "window1", APP)
        self.record_active = False

        dic = {
            "on_button1_clicked": self.on_button1_clicked,
            "on_button2_clicked": self.on_button2_clicked,
            "on_button4_clicked": self.about,
            "on_button5_clicked": self.on_button5_clicked,
            "on_window1_delete_event": self.quit  #(gtk.main_quit)
        }

        self.window1.signal_autoconnect(dic)

        self.statusIcon = gtk.status_icon_new_from_icon_name('audio-x-generic')
        self.statusIcon.connect("activate", self.toggleMainWindow)

        #while gtk.events_pending():
        #gtk.main_iteration_do()
        meta = self.getPlayerStream()
        if meta:
            stream = self.ProcessLocation(meta['location'])
            self.window1.get_widget('entry1').set_text(stream)
Beispiel #4
0
	def _setup_gtk_status_icon(self, menu):
		status = gtk.status_icon_new_from_icon_name(version.ICON_NAME)
		status.set_tooltip(version.PROGRAM_NAME)

		status.connect("popup-menu", self._popup_menu, menu)
		status.connect("activate", self.show_hide)
		return status
    def set_icon(self, use_pixbuf=False):
        path = os.path.join(os.path.dirname(__file__), '..', '..', 'icons')
        icon_path = os.path.abspath(path)

        theme = gtk.icon_theme_get_default()
        theme.append_search_path(icon_path)

        if self.icon_name is None:
            if theme.has_icon('gpodder'):
                self.icon_name = 'gpodder'
            else:
                self.icon_name = 'stock_mic'

        if self.status_icon is None:
            self.status_icon = gtk.status_icon_new_from_icon_name(self.icon_name)
            return

        # If current mode matches desired mode, nothing to do.
        is_pixbuf = (self.status_icon.get_storage_type() == gtk.IMAGE_PIXBUF)
        if is_pixbuf == use_pixbuf:
            return

        if not use_pixbuf:
            self.status_icon.set_from_icon_name(self.icon_name)
        else:
            # Currently icon is not a pixbuf => was loaded by name, at which
            # point size was automatically determined.
            icon_size = self.status_icon.get_size()
            icon_pixbuf = theme.load_icon(self.icon_name, icon_size, gtk.ICON_LOOKUP_USE_BUILTIN)
            self.status_icon.set_from_pixbuf(icon_pixbuf)
Beispiel #6
0
    def set_icon(self, use_pixbuf=False):
        path = os.path.join(os.path.dirname(__file__), '..', '..', 'icons')
        icon_path = os.path.abspath(path)

        theme = gtk.icon_theme_get_default()
        theme.append_search_path(icon_path)

        if self.icon_name is None:
            if theme.has_icon('gpodder'):
                self.icon_name = 'gpodder'
            else:
                self.icon_name = 'stock_mic'

        if self.status_icon is None:
            self.status_icon = gtk.status_icon_new_from_icon_name(
                self.icon_name)
            return

        # If current mode matches desired mode, nothing to do.
        is_pixbuf = (self.status_icon.get_storage_type() == gtk.IMAGE_PIXBUF)
        if is_pixbuf == use_pixbuf:
            return

        if not use_pixbuf:
            self.status_icon.set_from_icon_name(self.icon_name)
        else:
            # Currently icon is not a pixbuf => was loaded by name, at which
            # point size was automatically determined.
            icon_size = self.status_icon.get_size()
            icon_pixbuf = theme.load_icon(self.icon_name, icon_size,
                                          gtk.ICON_LOOKUP_USE_BUILTIN)
            self.status_icon.set_from_pixbuf(icon_pixbuf)
Beispiel #7
0
    def __init(self, *args):
        self.main_window = args[0]

        self.icon = gtk.status_icon_new_from_icon_name(NAME.lower())

        self.__build_context_menu()

        self.__connect_widgets()
	def use_systray_icon(self):
		try:
			self.systray_icon = gtk.status_icon_new_from_icon_name("zeroinstall")
		except Exception as ex:
			info(_("No system tray support: %s"), ex)
		else:
			root_iface = iface_cache.iface_cache.get_interface(self.policy.root)
			self.systray_icon.set_tooltip(_('Checking for updates for %s') % root_iface.get_name())
			self.systray_icon.connect('activate', self.remove_systray_icon)
			self.systray_icon_blocker = tasks.Blocker('Tray icon clicked')
Beispiel #9
0
    def enable(self):
        """Enables the system tray icon."""
        self.builder = Builder()
        self.builder.add_from_file(resource_filename('deluge.ui.gtkui', os.path.join(
            'glade', 'tray_menu.ui')))

        self.builder.connect_signals(self)

        self.tray_menu = self.builder.get_object('tray_menu')

        if appindicator and self.config['enable_appindicator']:
            log.debug('Enabling the Application Indicator...')
            self.indicator = appindicator.Indicator('deluge', 'deluge',
                                                    appindicator.CATEGORY_APPLICATION_STATUS)
            try:
                self.indicator.set_property('title', _('Deluge'))
            except TypeError:
                # Catch 'title' property error for previous appindicator versions
                pass
            # Pass the menu to the Application Indicator
            self.indicator.set_menu(self.tray_menu)

            # Make sure the status of the Show Window MenuItem is correct
            self._sig_win_hide = self.mainwindow.window.connect('hide', self._on_window_hide)
            self._sig_win_show = self.mainwindow.window.connect('show', self._on_window_show)
            if self.mainwindow.visible():
                self.builder.get_object('menuitem_show_deluge').set_active(True)
            else:
                self.builder.get_object('menuitem_show_deluge').set_active(False)

            # Show the Application Indicator
            self.indicator.set_status(appindicator.STATUS_ACTIVE)

        else:
            log.debug('Enabling the system tray icon..')
            if windows_check():
                self.tray = status_icon_new_from_pixbuf(get_logo(32))
            else:
                self.tray = status_icon_new_from_icon_name('deluge')

            self.tray.connect('activate', self.on_tray_clicked)
            self.tray.connect('popup-menu', self.on_tray_popup)

        self.builder.get_object('download-limit-image').set_from_file(get_pixmap('downloading16.png'))
        self.builder.get_object('upload-limit-image').set_from_file(get_pixmap('seeding16.png'))

        client.register_event_handler('ConfigValueChangedEvent', self.config_value_changed)
        if client.connected():
            # We're connected so we need to get some values from the core
            self.__start()
        else:
            # Hide menu widgets because we're not connected to a host.
            for widget in self.hide_widget_list:
                self.builder.get_object(widget).hide()
Beispiel #10
0
 def use_systray_icon(self, root_iface):
     try:
         if sys.version_info[0] > 2:
             self.systray_icon = gtk.StatusIcon.new_from_icon_name("zeroinstall")
         else:
             self.systray_icon = gtk.status_icon_new_from_icon_name("zeroinstall")
     except Exception as ex:
         info(_("No system tray support: %s"), ex)
     else:
         self.systray_icon.set_tooltip(_("Checking for updates for %s") % root_iface.get_name())
         self.systray_icon.connect("activate", self.remove_systray_icon)
         self.systray_icon_blocker = tasks.Blocker("Tray icon clicked")
Beispiel #11
0
	def __init__(self, icon_name="TestTrayIcon", icon_file=None, menu=None, activate=None):
		# thats so incredibly simple!
		if icon_file:
			self.status_icon=gtk.status_icon_new_from_file(icon_file)
		else:
			self.status_icon=gtk.status_icon_new_from_icon_name(icon_name)
		
		# connect the menu and the callback if given
		if menu:
			self.connect_popup_menu(menu)

		if activate:
			self.connect_activate(activate)
Beispiel #12
0
    def __init__(self,
                 icon_name="TestTrayIcon",
                 icon_file=None,
                 menu=None,
                 activate=None):
        # thats so incredibly simple!
        if icon_file:
            self.status_icon = gtk.status_icon_new_from_file(icon_file)
        else:
            self.status_icon = gtk.status_icon_new_from_icon_name(icon_name)

        # connect the menu and the callback if given
        if menu:
            self.connect_popup_menu(menu)

        if activate:
            self.connect_activate(activate)
Beispiel #13
0
def main():
	DBusGMainLoop(set_as_default=True)

	relayed_keys = list(get_all_keys())

	for key in relayed_keys:
		rebind_key(key, True)
	bus = dbus.Bus()
	bus.add_signal_receiver(rebind_key, 'BoundKeyChanged',
			dbus_interface=IFACE)
	sicon = gtk.status_icon_new_from_icon_name("kupfer")
	display = os.getenv("DISPLAY", ":0")
	sicon.set_tooltip(_("Keyboard relay is active for display %s") % display)
	sicon.set_visible(True)
	try:
		gtk.main()
	except KeyboardInterrupt:
		raise SystemExit(0)
Beispiel #14
0
def main():
    DBusGMainLoop(set_as_default=True)

    relayed_keys = list(get_all_keys())

    for key in relayed_keys:
        rebind_key(key, True)
    bus = dbus.Bus()
    bus.add_signal_receiver(rebind_key,
                            'BoundKeyChanged',
                            dbus_interface=IFACE)
    sicon = gtk.status_icon_new_from_icon_name("kupfer")
    display = os.getenv("DISPLAY", ":0")
    sicon.set_tooltip(_("Keyboard relay is active for display %s") % display)
    sicon.set_visible(True)
    try:
        gtk.main()
    except KeyboardInterrupt:
        raise SystemExit(0)
Beispiel #15
0
    def __init__( self ):
        # set notification
        self.load_notify_conf()

        # set icon
        self.icon = gtk.status_icon_new_from_icon_name( "server" )

        # connect to signals        
        self.icon.connect( "popup-menu", self.show_menu )
        self.icon.connect( "activate", self.show_shares )

        # dbus stuff
        try:
            bus = dbus.SystemBus()
            self.nfsmount = dbus.Interface( bus.get_object( 'de.moonlake.nfsmount', '/de/moonlake/nfsmount' ), 'de.moonlake.nfsmount' )
        except:
            self.connectDBus()

        # set tooltip
        self.update_tooltip()

        # connect to dbus signals
        self.nfsmount.connect_to_signal( "newShare", self.new_share )
        self.nfsmount.connect_to_signal( "removeShare", self.remove_share )
        self.nfsmount.connect_to_signal( "mountedShare", self.mounted_share )
        self.nfsmount.connect_to_signal( "unmountedShare", self.unmounted_share )
        self.nfsmount.connect_to_signal( "mountError", self.mount_error )
        self.nfsmount.connect_to_signal( "unmountError", self.unmount_error )

        # initial scan for shares
        for share in self.nfsmount.getShareList():
            self.new_share( share )
        for share in self.nfsmount.getMountList():
            self.mounted_share( share )

        gtk.main()
	def _setup_status_icon(self):
		status = gtk.status_icon_new_from_icon_name(version.ICON_NAME)
		status.set_tooltip(version.PROGRAM_NAME)
		menu = gtk.Menu()

		def menu_callback(menuitem, callback):
			callback()
			return True

		def add_menu_item(icon, callback):
			mitem = gtk.ImageMenuItem(icon)
			mitem.connect("activate", menu_callback, callback)
			menu.append(mitem)

		add_menu_item(gtk.STOCK_PREFERENCES, kupferui.show_preferences)
		add_menu_item(gtk.STOCK_HELP, kupferui.show_help)
		add_menu_item(gtk.STOCK_ABOUT, kupferui.show_about_dialog)
		menu.append(gtk.SeparatorMenuItem())
		add_menu_item(gtk.STOCK_QUIT, self.quit)
		menu.show_all()

		status.connect("popup-menu", self._popup_menu, menu)
		status.connect("activate", self.show_hide)
		return status
Beispiel #17
0
    def __init__(self):
        
        self.logger = logging.getLogger('client.main')
        self.conf_client = get_default_client()
        self.dbus_manager = DbusManager(self)
        self.script_manager = ScriptManager()
        self.proxy_setter = ProxySetter()

        if pynotify and not pynotify.is_initted():
            pynotify.init('telecentros')

        # Get operating system version
        o = get_os()
        if o[0]:
            self.os_name = o[0]
        if o[1]:
            self.os_version = o[1]
        
        self.mac_id = get_route_mac_address()
        self.server = self.conf_client.get_string('server')
        self.port = self.conf_client.get_int('port')
        
        if not self.port:
            self.port = 80
    
        self.json_requester = JSONRequester(self.server, self.port)
        self.json_requester.run()
        self.json_requester.request('POST', {'cmd': 'identify', 'mac': self.mac_id, 'os_name': self.os_name,
                                             'os_version': self.os_version},
                                    self.on_identify_response, None)
        
        #icons
        self.icons = icons.Icons()
        self.logo = self.icons.get_icon(CLIENT_ICON_NAME)
        
        #MainWindow
        self.xml = get_gtk_builder('main')
        self.main_window = self.xml.get_object('window')
        self.time_str = self.xml.get_object('time_str')
        self.elapsed_pb = self.xml.get_object('elapsed_pb')
        self.remaining_pb = self.xml.get_object('remaining_pb')
        self.full_name = self.xml.get_object('full_name')
        self.tray_menu = self.xml.get_object('tray_menu')
        self.show_window_menu = self.xml.get_object('show_window_menu')
        
        self.main_window.set_icon_name('telecentros')
        self.main_window.show()
        
        self.visible = True
        self.show_window_menu.set_active(True)
        
        self.xml.connect_signals(self)
        
        #Tray
        self.tray_icon = gtk.status_icon_new_from_icon_name("telecentros")
        self.tray_icon.set_tooltip(_("TeleCentros"))
        
        self.tray_icon.connect('popup-menu', self.on_tray_popup_menu)
        self.tray_icon.connect('activate', self.on_show_hide)
        
        #Login Window
        self.login_window = login.Login(self)
        self.login_window.run()
Beispiel #18
0
	def activate(self, widget):
		if widget.get_active():
			decorators[self.decorator].kill_others()
			time.sleep(0.5)
			decorators.active = self.decorator

class CompizDecoratorMenu(gtk.Menu):

	def __init__(self):
		gtk.Menu.__init__(self)

		first = True
		for decorator in decorators:
			if first:
				first_item = CompizDecoratorItem(decorator)
				self.append(first_item)
				first = False
			else:
				item = CompizDecoratorItem(decorator, first_item)
				self.append(item)

icon = gtk.status_icon_new_from_icon_name('fusion-icon')
icon.set_tooltip('Compiz Fusion Icon')
menu = TrayMenu()
icon.connect('popup-menu', menu.show_menu)

# active wm (possibly) starts here
init()
gtk.main()

Beispiel #19
0
 def on_load(self):
     self.status_icon = gtk.status_icon_new_from_icon_name('gpodder')
     self.status_icon.connect('activate', self.on_toggle_visible)
Beispiel #20
0
    def enable(self):
        """Enables the system tray icon."""
        self.builder = gtk.Builder()
        self.builder.add_from_file(
            deluge.common.resource_filename(
                "deluge.ui.gtkui", os.path.join("glade", "tray_menu.ui")))

        self.builder.connect_signals({
            "on_menuitem_show_deluge_activate":
            self.on_menuitem_show_deluge_activate,
            "on_menuitem_add_torrent_activate":
            self.on_menuitem_add_torrent_activate,
            "on_menuitem_pause_all_activate":
            self.on_menuitem_pause_all_activate,
            "on_menuitem_resume_all_activate":
            self.on_menuitem_resume_all_activate,
            "on_menuitem_quit_activate":
            self.on_menuitem_quit_activate,
            "on_menuitem_quitdaemon_activate":
            self.on_menuitem_quitdaemon_activate
        })

        self.tray_menu = self.builder.get_object("tray_menu")

        if appindicator and self.config["enable_appindicator"]:
            log.debug("Enabling the Application Indicator..")
            self.indicator = appindicator.Indicator(
                "deluge", "deluge", appindicator.CATEGORY_APPLICATION_STATUS)
            try:
                self.indicator.set_property("title", _("Deluge"))
            except TypeError:
                # Catch 'title' property error for previous appindicator versions
                pass
            # Pass the menu to the Application Indicator
            self.indicator.set_menu(self.tray_menu)

            # Make sure the status of the Show Window MenuItem is correct
            self._sig_win_hide = self.window.window.connect(
                "hide", self._on_window_hide)
            self._sig_win_show = self.window.window.connect(
                "show", self._on_window_show)
            if self.window.visible():
                self.builder.get_object("menuitem_show_deluge").set_active(
                    True)
            else:
                self.builder.get_object("menuitem_show_deluge").set_active(
                    False)

            # Show the Application Indicator
            self.indicator.set_status(appindicator.STATUS_ACTIVE)

        else:
            log.debug("Enabling the system tray icon..")
            if deluge.common.windows_check() or deluge.common.osx_check():
                self.tray = gtk.status_icon_new_from_pixbuf(
                    common.get_logo(32))
            else:
                try:
                    self.tray = gtk.status_icon_new_from_icon_name("deluge")
                except:
                    log.warning(
                        "Update PyGTK to 2.10 or greater for SystemTray..")
                    return

            self.tray.connect("activate", self.on_tray_clicked)
            self.tray.connect("popup-menu", self.on_tray_popup)

        self.builder.get_object("download-limit-image").set_from_file(
            deluge.common.get_pixmap("downloading16.png"))
        self.builder.get_object("upload-limit-image").set_from_file(
            deluge.common.get_pixmap("seeding16.png"))

        client.register_event_handler("ConfigValueChangedEvent",
                                      self.config_value_changed)
        if client.connected():
            # We're connected so we need to get some values from the core
            self.__start()
        else:
            # Hide menu widgets because we're not connected to a host.
            for widget in self.hide_widget_list:
                self.builder.get_object(widget).hide()
Beispiel #21
0
    def __init__(self, is_local=True, client=None):
        log.Loggable.__init__(self)
        self.is_local = is_local
        self.client = client
        data_pkg = "shuffler.clients.gshuffler.data"
        self.gladefile = pkg_resources.resource_filename(data_pkg,
                                                         "gshuffler.glade")
        self.wTree = gtk.glade.XML(self.gladefile)

        bus = dbus.SessionBus()
        remote_object = bus.get_object('org.freedesktop.Notifications',
                                       '/org/freedesktop/Notifications')
        self.notifications = dbus.Interface(remote_object,
                                            'org.freedesktop.Notifications')

        callbacks = ["startingpopup_response_cb",
                     "window_destroy_cb",
                     "quitmenu_activate_cb",
                     "artistview_row_activated_cb",
                     "albumview_row_activated_cb",
                     "volume_value_changed_cb",
                     "speed_value_changed_cb",
                     "tempo_value_changed_cb",
                     "position_adjust_bounds_cb",
                     "playpausebutton_clicked_cb",
                     "prevbutton_clicked_cb",
                     "nextbutton_clicked_cb",
                     "stopbutton_clicked_cb",
                     "randombutton_clicked_cb",
                     "loopbutton_clicked_cb",
                     "smartbutton_clicked_cb",
                     "tracklabel_clicked_cb",
                     "aboutmenu_activate_cb",
                     "aboutdialog_response_cb",
                     "playlistview_row_activated_cb",
                     ]
        dic = dict([(k, getattr(self, k)) for k in callbacks])
        self.wTree.signal_autoconnect(dic)

        self._win_position = None

        tray = gtk.status_icon_new_from_icon_name("audio-x-generic")
        tray.connect('activate', self._tray_button_clicked_cb)

        self._player = None
        self._playlist = None
        self._db = None
        self._root = None

        popup = self.wTree.get_widget('startingpopup')
        prim_label = self.wTree.get_widget('primary-label')
        sec_label = self.wTree.get_widget('secondary-label')
        if is_local:
            msg = _("Connecting to session D-Bus")
        else:
            msg = _("Connecting to Telepathy D-Tubes")
        prim_label.set_markup("<b>%s</b>" % _("Connecting to Shuffler. Please wait"))
        sec_label.set_text(msg)

        popup.show_all()
        self._checking_objects = gobject.timeout_add(200, self._check_objects)
Beispiel #22
0
    def enable(self):
        """Enables the system tray icon."""
        self.builder = Builder()
        self.builder.add_from_file(
            resource_filename('deluge.ui.gtkui',
                              os.path.join('glade', 'tray_menu.ui')))

        self.builder.connect_signals(self)

        self.tray_menu = self.builder.get_object('tray_menu')

        if appindicator and self.config['enable_appindicator']:
            log.debug('Enabling the Application Indicator...')
            self.indicator = appindicator.Indicator(
                'deluge', 'deluge', appindicator.CATEGORY_APPLICATION_STATUS)
            try:
                self.indicator.set_property('title', _('Deluge'))
            except TypeError:
                # Catch 'title' property error for previous appindicator versions
                pass
            # Pass the menu to the Application Indicator
            self.indicator.set_menu(self.tray_menu)

            # Make sure the status of the Show Window MenuItem is correct
            self._sig_win_hide = self.mainwindow.window.connect(
                'hide', self._on_window_hide)
            self._sig_win_show = self.mainwindow.window.connect(
                'show', self._on_window_show)
            if self.mainwindow.visible():
                self.builder.get_object('menuitem_show_deluge').set_active(
                    True)
            else:
                self.builder.get_object('menuitem_show_deluge').set_active(
                    False)

            # Show the Application Indicator
            self.indicator.set_status(appindicator.STATUS_ACTIVE)

        else:
            log.debug('Enabling the system tray icon..')
            if windows_check() or osx_check():
                self.tray = status_icon_new_from_pixbuf(get_logo(32))
            else:
                self.tray = status_icon_new_from_icon_name('deluge-panel')

            self.tray.connect('activate', self.on_tray_clicked)
            self.tray.connect('popup-menu', self.on_tray_popup)

        self.builder.get_object('download-limit-image').set_from_file(
            get_pixmap('downloading16.png'))
        self.builder.get_object('upload-limit-image').set_from_file(
            get_pixmap('seeding16.png'))

        client.register_event_handler('ConfigValueChangedEvent',
                                      self.config_value_changed)
        if client.connected():
            # We're connected so we need to get some values from the core
            self.__start()
        else:
            # Hide menu widgets because we're not connected to a host.
            for widget in self.hide_widget_list:
                self.builder.get_object(widget).hide()
Beispiel #23
0
 def on_load(self):
     self.status_icon = gtk.status_icon_new_from_icon_name("gpodder")
     self.status_icon.connect("activate", self.on_toggle_visible)
Beispiel #24
0
window = xml.get_object('window1')
img_bt_toggle = xml.get_object('image6')
exp = xml.get_object('expander2')
expvbox = xml.get_object('expandvbox')
audioicon = xml.get_object('eventicon')
vol = xml.get_object('vol')
time_s = xml.get_object('time_s')
time_l = xml.get_object('time_l')

# connect to the different callbacks

window.connect('delete_event', delete_event)
window.connect('destroy', destroy)
window.connect('key_release_event', key_release)

tray = gtk.status_icon_new_from_icon_name('audio-x-generic')
tray.connect('activate', tray_button)

bt_close.connect('clicked', destroy)
bt_quit.connect('clicked', Quit)
bt_mrl.connect('clicked', AddTrack)
bt_toggle.connect('clicked', Pause)
bt_next.connect('clicked', Next)
bt_prev.connect('clicked', Prev)
bt_stop.connect('clicked', Stop)
bt_shuffle.connect('clicked', Shuffle)
exp.connect('activate', expander)
vol.connect('changed', volchange)
time_s.connect('adjust-bounds', timechange)
audioicon.set_events(
    gtk.gdk.BUTTON_PRESS_MASK)  # hack for the bottom right icon
Beispiel #25
0
 def _init_status_icon(self):
     self._status_icon = gtk.status_icon_new_from_icon_name("onboard")
     self._status_icon.connect_object("activate",
         Indicator._toggle_keyboard_window_state, self)
     self._status_icon.connect("popup-menu", self._on_status_icon_popup_menu,
         self._menu)
Beispiel #26
0
window = xml.get_widget("window1")
img_bt_toggle = xml.get_widget("image6")
exp = xml.get_widget("expander2")
expvbox = xml.get_widget("expandvbox")
audioicon = xml.get_widget("eventicon")
vol = xml.get_widget("vol")
time_s = xml.get_widget("time_s")
time_l = xml.get_widget("time_l")

# connect to the different callbacks

window.connect("delete_event", delete_event)
window.connect("destroy", destroy)
window.connect("key_release_event", key_release)

tray = gtk.status_icon_new_from_icon_name("audio-x-generic")
tray.connect("activate", tray_button)

bt_close.connect("clicked", destroy)
bt_quit.connect("clicked", Quit)
bt_mrl.connect("clicked", AddTrack)
bt_toggle.connect("clicked", Pause)
bt_next.connect("clicked", Next)
bt_prev.connect("clicked", Prev)
bt_stop.connect("clicked", Stop)
bt_loop.connect("clicked", Loop)
bt_repeat.connect("clicked", Repeat)
bt_shuffle.connect("clicked", Shuffle)
exp.connect("activate", expander)
vol.connect("changed", volchange)
time_s.connect("adjust-bounds", timechange)
Beispiel #27
0
 def on_load(self):
     self.status_icon = gtk.status_icon_new_from_icon_name('gpodder')
     self.status_icon.connect('activate', self.on_toggle_visible)
 def use_systray_icon(self):
     try:
         self.systray_icon = gtk.status_icon_new_from_icon_name(
             "zeroinstall-zero2desktop")
     except Exception, ex:
         info(_("No system tray support: %s"), ex)
Beispiel #29
0
    def enable(self):
        """Enables the system tray icon."""
        self.builder = gtk.Builder()
        self.builder.add_from_file(deluge.common.resource_filename(
            "deluge.ui.gtkui", os.path.join("glade", "tray_menu.ui"))
        )

        self.builder.connect_signals({
            "on_menuitem_show_deluge_activate": self.on_menuitem_show_deluge_activate,
            "on_menuitem_add_torrent_activate": self.on_menuitem_add_torrent_activate,
            "on_menuitem_pause_all_activate": self.on_menuitem_pause_all_activate,
            "on_menuitem_resume_all_activate": self.on_menuitem_resume_all_activate,
            "on_menuitem_quit_activate": self.on_menuitem_quit_activate,
            "on_menuitem_quitdaemon_activate": self.on_menuitem_quitdaemon_activate
        })

        self.tray_menu = self.builder.get_object("tray_menu")

        if appindicator and self.config["enable_appindicator"]:
            log.debug("Enabling the Application Indicator..")
            self.indicator = appindicator.Indicator (
                "deluge", "deluge", appindicator.CATEGORY_APPLICATION_STATUS)
            # Pass the menu to the Application Indicator
            self.indicator.set_menu(self.tray_menu)

            # Make sure the status of the Show Window MenuItem is correct
            self._sig_win_hide = self.window.window.connect("hide", self._on_window_hide)
            self._sig_win_show = self.window.window.connect("show", self._on_window_show)
            if self.window.visible():
                self.builder.get_object("menuitem_show_deluge").set_active(True)
            else:
                self.builder.get_object("menuitem_show_deluge").set_active(False)

            # Show the Application Indicator
            self.indicator.set_status(appindicator.STATUS_ACTIVE)

        else:
            log.debug("Enabling the system tray icon..")
            if deluge.common.windows_check() or deluge.common.osx_check():
                self.tray = gtk.status_icon_new_from_pixbuf(common.get_logo(32))
            else:
                try:
                    self.tray = gtk.status_icon_new_from_icon_name("deluge")
                except:
                    log.warning("Update PyGTK to 2.10 or greater for SystemTray..")
                    return

            self.tray.connect("activate", self.on_tray_clicked)
            self.tray.connect("popup-menu", self.on_tray_popup)

            # For some reason these icons do not display in appindicator
            self.builder.get_object("download-limit-image").set_from_file(
                deluge.common.get_pixmap("downloading16.png"))
            self.builder.get_object("upload-limit-image").set_from_file(
                deluge.common.get_pixmap("seeding16.png"))

        client.register_event_handler("ConfigValueChangedEvent", self.config_value_changed)
        if client.connected():
            # We're connected so we need to get some values from the core
            self.__start()
        else:
            # Hide menu widgets because we're not connected to a host.
            for widget in self.hide_widget_list:
                self.builder.get_object(widget).hide()
Beispiel #30
0
	def __init__(self):
		self.tray = gtk.status_icon_new_from_icon_name('audio-volume-medium')
		self.tray.connect('scroll-event', self.on_scroll)
		self.tray.set_tooltip(('Volume tray app'))
Beispiel #31
0
    quit_image.set_from_icon_name('application-exit', gtk.ICON_SIZE_MENU)
    quit_item = gtk.ImageMenuItem('Don\'t remind me again')
    quit_item.set_image(quit_image)

    menu.append(accept_item)
    menu.append(dismiss_item)
    menu.append(quit_item)
    accept_item.connect_object("activate", accept, "Accept")
    accept_item.show()
    dismiss_item.connect_object("activate", dismiss, "Dismiss")
    dismiss_item.show()
    quit_item.connect_object("activate", quit, "Quit")
    quit_item.show()
    menu.popup(None, None, None, event_button, event_time)


def on_right_click(data, event_button, event_time):
    make_menu(event_button, event_time)


def on_left_click(event):
    accept()


if __name__ == '__main__':
    icon = gtk.status_icon_new_from_icon_name("sboui")
    icon.set_tooltip_text('SBo updates are available')
    icon.connect('popup-menu', on_right_click)
    icon.connect('activate', on_left_click)
    gtk.main()
Beispiel #32
0
    def __init__(self):

        self.dbus = gintegration.DBusManager(self)

        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
        self.set_title(_("Gwibber"))
        self.set_default_size(330, 500)
        config.GCONF.add_dir(config.GCONF_PREFERENCES_DIR,
                             config.gconf.CLIENT_PRELOAD_NONE)
        self.preferences = config.Preferences()
        self.last_update = None
        self.last_focus_time = None
        self.last_clear = None
        self._reply_acct = None
        self.indicator_items = {}
        layout = gtk.VBox()

        gtk.rc_parse_string("""
    style "tab-close-button-style" {
      GtkWidget::focus-padding = 0
      GtkWidget::focus-line-width = 0
      xthickness = 0
      ythickness = 0
     }
     widget "*.tab-close-button" style "tab-close-button-style"
     """)

        self.accounts = configui.AccountManager()
        self.client = microblog.Client(self.accounts)
        self.client.handle_error = self.handle_error
        self.client.post_process_message = self.post_process_message

        self.notification_bubbles = {}
        self.message_target = None

        self.errors = table.generate(
            [["date", lambda t: t.time.strftime("%x")],
             ["time", lambda t: t.time.strftime("%X")], ["username"],
             ["protocol"],
             [
                 "message",
                 (gtk.CellRendererText(), {
                     "markup": lambda t: t.message
                 })
             ]])

        self.connect("delete-event", self.on_window_close)
        self.connect("focus-out-event", self.on_focus_out)
        self.connect("focus-in-event", self.on_focus)

        for key, value in list(DEFAULT_PREFERENCES.items()):
            if self.preferences[key] == None: self.preferences[key] = value

        self.preferences["version"] = VERSION_NUMBER

        self.timer = gobject.timeout_add(
            60000 * int(self.preferences["refresh_interval"]), self.update)
        self.preferences.notify("refresh_interval",
                                self.on_refresh_interval_changed)
        self.preferences.notify("theme", self.on_theme_change)

        gtk.icon_theme_add_builtin_icon(
            "gwibber", 22,
            gtk.gdk.pixbuf_new_from_file_at_size(
                resources.get_ui_asset("gwibber.svg"), 24, 24))

        self.set_icon_name("gwibber")
        self.tray_icon = gtk.status_icon_new_from_icon_name("gwibber")
        self.tray_icon.connect("activate", self.on_toggle_window_visibility)

        self.tabs = gtk.Notebook()
        self.tabs.set_property("homogeneous", False)
        self.tabs.set_scrollable(True)
        self.messages_view = self.add_msg_tab(self.client.receive,
                                              _("Messages"),
                                              show_icon="go-home")
        self.add_msg_tab(self.client.responses,
                         _("Replies"),
                         show_icon="mail-reply-all",
                         add_indicator=True)

        saved_position = config.GCONF.get_list(
            "%s/%s" % (config.GCONF_PREFERENCES_DIR, "saved_position"),
            config.gconf.VALUE_INT)
        if saved_position:
            self.move(*saved_position)

        saved_size = config.GCONF.get_list(
            "%s/%s" % (config.GCONF_PREFERENCES_DIR, "saved_size"),
            config.gconf.VALUE_INT)
        if saved_size:
            self.resize(*saved_size)

        saved_queries = config.GCONF.get_list(
            "%s/%s" % (config.GCONF_PREFERENCES_DIR, "saved_searches"),
            config.gconf.VALUE_STRING)

        if saved_queries:
            for query in saved_queries:
                # XXX: suggest refactor of below code to avoid duplication of on_search code
                if query.startswith("#"):
                    self.add_msg_tab(functools.partial(self.client.tag, query),
                                     query.replace("#", ""), True,
                                     gtk.STOCK_INFO, False, query)
                elif microblog.support.LINK_PARSE.match(query):
                    self.add_msg_tab(
                        functools.partial(self.client.search_url, query),
                        urlparse.urlparse(query)[1], True, gtk.STOCK_FIND,
                        True, query)
                elif len(query) > 0:
                    title = _("Search") + " '" + query[:12] + "...'"
                    self.add_msg_tab(
                        functools.partial(self.client.search, query), title,
                        True, gtk.STOCK_FIND, False, query)

        #self.add_map_tab(self.client.friend_positions, "Location")

        if gintegration.SPELLCHECK_ENABLED:
            self.input = gintegration.sexy.SpellEntry()
            self.input.set_checked(self.preferences["spellcheck_enabled"])
        else:
            self.input = gtk.Entry()
        self.input.connect("insert-text", self.on_add_text)
        self.input.connect("populate-popup", self.on_input_context_menu)
        self.input.connect("activate", self.on_input_activate)
        self.input.connect("changed", self.on_input_change)
        self.input.set_max_length(MAX_MESSAGE_LENGTH)

        self.cancel_button = gtk.Button(_("Cancel"))
        self.cancel_button.connect("clicked", self.on_cancel_reply)

        self.editor = gtk.HBox()
        self.editor.pack_start(self.input)
        self.editor.pack_start(self.cancel_button, False)

        vb = gtk.VBox(spacing=5)
        vb.pack_start(self.tabs, True, True)
        vb.pack_start(self.editor, False, False)
        vb.set_border_width(5)

        warning_icon = gtk.image_new_from_stock(gtk.STOCK_DIALOG_WARNING,
                                                gtk.ICON_SIZE_MENU)
        self.status_icon = gtk.EventBox()
        self.status_icon.add(warning_icon)
        self.status_icon.connect("button-press-event", self.on_errors_show)

        self.statusbar = gtk.Statusbar()
        self.statusbar.pack_start(self.status_icon, False, False)

        layout.pack_start(self.setup_menus(), False)
        layout.pack_start(vb, True, True)
        layout.pack_start(self.statusbar, False)
        self.add(layout)

        if gintegration.can_notify:
            # FIXME: Move this to DBusManager
            import dbus

            # http://galago-project.org/specs/notification/0.9/x408.html#signal-notification-closed
            def on_notify_close(nId, reason=1):
                if nId in self.notification_bubbles:
                    del self.notification_bubbles[nId]

            def on_notify_action(nId, action):
                if action == "reply":
                    self.reply(self.notification_bubbles[nId])
                    self.window.show()
                    self.present()

            bus = dbus.SessionBus()
            bus.add_signal_receiver(
                on_notify_close,
                dbus_interface="org.freedesktop.Notifications",
                signal_name="NotificationClosed")

            bus.add_signal_receiver(
                on_notify_action,
                dbus_interface="org.freedesktop.Notifications",
                signal_name="ActionInvoked")

        if indicate:
            self.indicate = indicate.indicate_server_ref_default()
            self.indicate.set_type("message.gwibber")
            self.indicate.set_desktop_file(resources.get_desktop_file())
            self.indicate.connect("server-display",
                                  self.on_toggle_window_visibility)
            self.indicate.show()

        for i in list(CONFIGURABLE_UI_ELEMENTS.keys()):
            config.GCONF.notify_add(
                config.GCONF_PREFERENCES_DIR + "/show_%s" % i,
                lambda *a: self.apply_ui_element_settings())

        config.GCONF.notify_add("/apps/gwibber/accounts",
                                self.on_account_change)

        self.preferences.notify("hide_taskbar_entry",
                                lambda *a: self.apply_ui_element_settings())

        self.preferences.notify("spellcheck_enabled",
                                lambda *a: self.apply_ui_element_settings())

        #for i in CONFIGURABLE_UI_SETTINGS:
        #  config.GCONF.notify_add(config.GCONF_PREFERENCES_DIR + "/%s" % i,
        #    lambda *a: self.apply_ui_drawing_settings())

        def on_key_press(w, e):
            if e.keyval == gtk.keysyms.F5:
                self.update()
                return True
            if e.keyval == gtk.keysyms.Tab and e.state & gtk.gdk.CONTROL_MASK:
                if len(self.tabs) == self.tabs.get_current_page() + 1:
                    self.tabs.set_current_page(0)
                else:
                    self.tabs.next_page()
                return True
            elif e.keyval in [ord(str(x)) for x in range(10)
                              ] and e.state & gtk.gdk.MOD1_MASK:
                self.tabs.set_current_page(
                    int(gtk.gdk.keyval_name(e.keyval)) - 1)
                return True
            elif e.keyval == gtk.keysyms.T and e.state & gtk.gdk.CONTROL_MASK:
                self.on_theme_change()
                return True
            else:
                return False

            #else:
            #  if not self.input.is_focus():
            #    self.input.grab_focus()
            #    self.input.set_position(-1)
            #  return False

        self.connect("key_press_event", on_key_press)

        self.show_all()
        self.apply_ui_element_settings()
        self.cancel_button.hide()
        self.status_icon.hide()

        if not self.preferences["inhibit_startup_refresh"]:
            self.update()