Beispiel #1
0
    def post_init (self):
        config_dir = os.path.expanduser ("~/.config")
        if not os.path.exists (config_dir):
            os.mkdir (config_dir)

        self.config_parser = ConfigParser.ConfigParser ()
        self.config_parser.read (config_dir + "/wallbox.conf")
        if not self.config_parser.has_section ("general"):
            self.config_parser.add_section ("general")

        try:
            self.refresh_interval = self.config_parser.getint ("general", "refresh_interval")
        except ConfigParser.NoOptionError:
            self.refresh_interval = 60
            self.config_parser.set ("general", "refresh_interval", 60)

        try:
            self.notification_num = self.config_parser.getint("general", "notification_num")
        except ConfigParser.NoOptionError:
            self.notification_num = 10
            self.config_parser.set ("general", "notification_num", 10)

        self.office.set_refresh_interval (self.refresh_interval)
        self.office.set_notification_num (self.notification_num)

        configfile = open (config_dir + "/wallbox.conf", 'wb')
        self.config_parser.write (configfile)

        status_icon = gtk.status_icon_new_from_stock (gtk.STOCK_OPEN)
        n = notification.Notification ()
        self.status_icon = status_icon
        status_icon.connect ("activate", self.show_notification, n)
        n.connect ("has-unread", self.has_unread)
    def __init__(self):
        
        self.set_proc_name(APP_NAME)

        #folders
        self.config_folder = os.getenv('HOME')+"/.services-manager"
        self.system_plugin_folder = sys.path[0]+"/plugins"
        self.user_plugin_folder = self.config_folder+"/plugins"
        self.plugin_folder = [self.system_plugin_folder,self.user_plugin_folder]

        #plugins main module name
        self.main_module = "__init__"

        # create folders if dont exsist
        if not os.path.exists(self.config_folder):
            os.makedirs(self.config_folder)
        if not os.path.exists(self.user_plugin_folder):
            os.makedirs(self.user_plugin_folder)

        #image files
        self.image_green = sys.path[0]+"/media/green.png"
        self.image_red = sys.path[0]+"/media/red.png"
        
        #tray declaration
        self.tray_icon = gtk.status_icon_new_from_stock(gtk.STOCK_INFO)
        self.tray_menu = gtk.Menu()       
        self.update_menu()
        self.tray_icon.connect('popup-menu', self.show_menu, self.tray_menu)
        self.tray_icon.set_tooltip("Services Manager")
Beispiel #3
0
	def _setup_status_icon(self):
		from kupfer import kupferui

		status = gtk.status_icon_new_from_stock(self.icon_name)
		status.set_tooltip(_("Kupfer"))
		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 #4
0
    def __init__(self):
        ## Create appindicator object
        if have_appindicator:
            self.ind = appindicator.Indicator ("example-simple-client",
                        "indicator-messages",
                        appindicator.CATEGORY_APPLICATION_STATUS)
            self.ind.set_status (appindicator.STATUS_ACTIVE)
            self.ind.set_attention_icon ("new-messages-red")
            self.ind.set_icon("distributor-logo")
        else:
            self.ind = gtk.status_icon_new_from_stock(gtk.STOCK_HOME)
        
        ## Create menu object
        self.menu = gtk.Menu()
    
        ## Add menu items below 
        
        ## About
        menuItemAbout = gtk.MenuItem('About')
        menuItemAbout.connect("activate", self.about_response, "About")
        self.menu.append(menuItemAbout)
    
        ## Quit
        menuItemQuit = gtk.MenuItem('Quit')
        menuItemQuit.connect('activate', self.quit)
        self.menu.append(menuItemQuit)
    
        ## Show all in menu (instead of calling .show() for each item)
        self.menu.show_all()

        ## Add constructed menu as indicator menu
        self.ind.set_menu(self.menu)   
Beispiel #5
0
def load_status_icon(path, size_x, size_y, stock):
    if os.access(path, os.R_OK):
        pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(path, size_x, size_y)
        return gtk.status_icon_new_from_pixbuf(pixbuf)
    else:
        # Can't find icon file
        logging.warning("cannot find icon file: " + path)
        return gtk.status_icon_new_from_stock(stock)
Beispiel #6
0
 def runGTKApplet(self):
     self.dialog_title = "Test"
     self.STOKICON = gtk.STOCK_YES
     self.icon = gtk.status_icon_new_from_stock(self.STOKICON)
     gobject.timeout_add(500, self.updateStatus)
     self.icon.set_tooltip("Test")
     self.icon.connect("popup-menu", self.right_click)
     gtk.main()
Beispiel #7
0
	def __init__(self):

		self.user_homepath = os.getenv('HOME').rstrip('/')
		self.app_data_path = '%s/.brelock/' % (self.user_homepath)
		os.chdir(sys.path[0])

		self.hidden = False
		self.compact = False
		self.passwords = PassStorage()
		self.config = {}
		self.gladefile = "ui.glade"
		self.menus = {}

		self.wTree = gtk.glade.XML(self.gladefile, 'main_window')
		self.window = self.wTree.get_widget("main_window")
		if (self.window):
			self.window.connect("destroy", gtk.main_quit)
		
		gettext.translation('brelock', 'language', languages=['ru']).install(unicode=True)
		self.check_fs()
		self.load_config()
		if not self.load_accounts():
			raise Exception('Terminated by user')
		
		self.wTree.signal_autoconnect({ 
			"on_quit" : self.on_quit,
			"on_about" : self.on_about,
			"on_add_account" : self.on_add_account,
			"on_tree_clicked" : self.on_tree_clicked,
			"on_preferences" : self.on_preferences,
			'on_reload': self.on_reload
		})
		accel = gtk.AccelGroup()
		key, modif = gtk.accelerator_parse('F2')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_edit_account(None))
		key, modif = gtk.accelerator_parse('<Ctrl>C')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_copy_pass(None))
		key, modif = gtk.accelerator_parse('<Alt>C')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_copy_user(None))
		key, modif = gtk.accelerator_parse('<Ctrl><Shift>C')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_copy_account(None))
		key, modif = gtk.accelerator_parse('Delete')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_delete())
		key, modif = gtk.accelerator_parse('<Ctrl>T')
		accel.connect_group(key, modif, gtk.ACCEL_VISIBLE, lambda a,b,c,d: self.on_toggle())
		self.window.add_accel_group(accel)
		
		self.prepare_tree()
		self.display_accounts()
		
		self.statusbar = self.wTree.get_widget("statusbar")
		
		icon = gtk.status_icon_new_from_stock(gtk.STOCK_DIALOG_AUTHENTICATION)
		icon.connect("activate", self.on_activate)
		icon.connect('popup-menu', self.on_icon_menu)
		self.window.connect("delete-event", self.on_close)
		gtk.gdk.threads_init()
Beispiel #8
0
    def activate(self, shell):
        self.window_is_hidden = False
        self.shell = shell

        self.status_icon = gtk.status_icon_new_from_stock(gtk.STOCK_MISSING_IMAGE)
        self.status_icon.connect('activate', self.signal_activate)
        self.status_icon.set_visible(True)

        window = shell.get_window()
        self.handler = window.connect('delete-event', self.signal_delete_event)
Beispiel #9
0
  def __init__(self):
      self.notedb = os.path.join( sys.path[0], 'notey.sqlite3' )
      self.setup_db()
      
      builder = gtk.Builder()
      builder.add_from_file( os.path.join( sys.path[0], "notey.xml" ) )
      builder.connect_signals(self)

      
      # GtkBuilder is not really good at treeviews
      # so we need to create our own cells and associate them
      # see http://faq.pygtk.org/index.py?req=show&file=faq13.039.htp
      # and http://zetcode.com/tutorials/pygtktutorial/advancedwidgets/
      #
      
      self.treeview1 = builder.get_object("treeview1")
      
      cell0 = gtk.CellRendererText()
      self.col0 = gtk.TreeViewColumn("Title", cell0,text=0)
      self.col0.set_sort_column_id(0)
      self.treeview1.append_column(self.col0)
      
      cell1 = gtk.CellRendererText()
      self.col1 = gtk.TreeViewColumn("Modified Time", cell1,text=1)
      self.col1.set_sort_column_id(1)
      self.treeview1.append_column(self.col1)
      
      self.treeview1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
      
      self.liststore1 = builder.get_object("liststore1")
      
      self.populate_liststore1()
      
      self.window1 = builder.get_object("window1")
      self.textbuffer1 = builder.get_object("textbuffer1")
      self.textview1 = builder.get_object("textview1")

      self.window2 = builder.get_object("window2")
      self.entry2 = builder.get_object("entry2")

      self.entry1 = builder.get_object("entry1")
      self.vbox1 = builder.get_object("vbox1")
      self.tvsw = builder.get_object("scrolledwindow1")

      self.title = ""
      
      self.liststore1.set_sort_func(0, self.compare_data, 0)
      self.liststore1.set_sort_func(1, self.compare_data, 1)

      #make a status icon
      self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
      self.statusicon.connect('activate', self.status_clicked )
      self.statusicon.set_tooltip("the window is visible")
      
      self.window1.show()
Beispiel #10
0
    def activate(self, shell):
        self.window_is_hidden = False
        self.shell = shell

        self.status_icon = gtk.status_icon_new_from_stock(
            gtk.STOCK_MISSING_IMAGE)
        self.status_icon.connect('activate', self.signal_activate)
        self.status_icon.set_visible(True)

        window = shell.get_window()
        self.handler = window.connect('delete-event', self.signal_delete_event)
Beispiel #11
0
    def __init__(self):

        # fenêtre root
        self.root = gtk.gdk.get_default_root_window()
        self.sz = self.root.get_size()
        self.x, self.y, mods = self.root.get_pointer()
        self.zoom = 2
        self.ignorefocuslost = False
        self.isvisible = True
        self.follow_mouse = True

        # fenêtre principale
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_resizable(False)
        self.window.set_decorated(False)
        self.window.set_skip_taskbar_hint(True)
        self.window.set_keep_above(True)
        self.window.move(self.x, self.y)
        self.window.set_border_width(1) # pour avoir une bordure noire
        self.window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("black"))
        self.window.add_events(gtk.gdk.KEY_PRESS_MASK |\
                gtk.gdk.POINTER_MOTION_MASK | \
                gtk.gdk.BUTTON_PRESS_MASK |\
                gtk.gdk.SCROLL_MASK | \
                gtk.gdk.LEAVE_NOTIFY)

        self.window.connect("delete_event", self.quit)
        self.window.connect("motion-notify-event", self.cursor_move)
        self.window.connect("key-press-event", self.keypress)
        self.window.connect("scroll-event", self.scroll)
        self.window.connect("leave-notify-event", self.focus_lost)

        # image zoomée
        self.im = gtk.Image()
        evbox = gtk.EventBox()
        evbox.connect("button_release_event", self.clic)
        evbox.add(self.im)
        self.window.add(evbox)

        # icone dans le tray
        trayicon = gtk.status_icon_new_from_stock(gtk.STOCK_ZOOM_IN)
        trayicon.set_visible(True)
        trayicon.connect("button-press-event", self.trayclic)

        self.window.show_all()

        pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,self.sz[0],self.sz[1])
        self.pb = pb.get_from_drawable(self.root,self.root.get_colormap(),0,0,0,0,self.sz[0],self.sz[1])
        self.loupe()
Beispiel #12
0
    def __init__(self):
        self.config = Config.load_or_create()

        if self.config.status_icon:
            self.status_icon = gtk.status_icon_new_from_stock(gtk.STOCK_OK)
            self.status_icon.connect("activate", self.on_activate_status)
            self.status_icon.connect("popup-menu", self.on_status_menu)

            agr = gtk.AccelGroup()

            menu = self.context_menu = gtk.Menu()
            exit_item = exit_menu_item(self.exit, agr)

            menu.append(exit_item)
            menu.show_all()
 def __init__(self):
     self._z = GnomeZoomSettings.Zoomer()
     filename = "/usr/share/zoomcontrolwindow/zoomcontrolwindow.glade"
     if not os.path.exists("/usr/share/zoomcontrolwindow/zoomcontrolwindow.glade") or "-l" in sys.argv:
         print "Using GTKBuilder file from local directory."
         filename = "zoomcontrolwindow.glade"
     builder = gtk.Builder()
     builder.add_from_file(filename)
     builder.connect_signals(self)
     self._onoffbutton = builder.get_object("zoom_on_off_button")
     self._refresh_zoom_button_label()
     self._window = builder.get_object("zoomcontrolwindow")
     self.show_above()
     # make a status icon
     self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_FIND)
     self.statusicon.connect("activate", self.status_clicked)
     self.statusicon.connect("popup-menu", self.make_menu)
     self.statusicon.set_tooltip("Zoom")
Beispiel #14
0
    def __init__(self):
        """docstring for __init__"""
        self.pymodoro = Pymodoro(self)

        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.window.set_size_request(400, 300)
        self.window.set_title("Pymodoro")

        self.main_box = gtk.VBox(False, 5)
        self.button_box = gtk.HBox(False, 5)
        self.bottom_box = gtk.HBox(False, 5)
        self.info_box = gtk.VBox(False, 5)

        self.start_pomodoro_button = gtk.Button("Start a pomodoro...")
        self.start_pomodoro_button.connect("clicked", self.pymodoro.start_pomodoro)

        self.stop_button = gtk.Button("Stop and Reset")
        self.stop_button.connect("clicked", self.pymodoro.stop)

        self.time_left_label = gtk.Label("0:00 remaining")
        self.num_pomodoros_label = gtk.Label("0 pomodoros completed")
        self.num_big_breaks_label = gtk.Label("0 extended breaks taken")

        self.window.add(self.main_box)
        self.main_box.pack_start(self.button_box)
        self.button_box.pack_start(self.start_pomodoro_button)
        self.button_box.pack_start(self.stop_button)
        self.main_box.pack_start(self.bottom_box)
        self.bottom_box.pack_start(self.time_left_label)
        self.bottom_box.pack_start(self.info_box)
        self.info_box.pack_start(self.num_pomodoros_label)
        self.info_box.pack_start(self.num_big_breaks_label)

        self.clock_timer = gobject.timeout_add(1000, self.pymodoro.update_clocks)
        self.gui_timer = gobject.timeout_add(1000, self.update_labels)

        pynotify.init("Pymodoro")
        self.status_icon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
        self.status_icon.connect("activate", self.status_clicked)
        self.status_icon.connect("popup-menu", self.popup)
        self.window.connect("delete-event", self.delete_event)
        # self.window.connect("destroy", self.on_window_destroy)
        self.window.show_all()
Beispiel #15
0
  def __init__(self):
    status_icon = gtk.status_icon_new_from_stock(gtk.STOCK_MEDIA_RECORD)
    status_icon.connect('activate', self._onActivate)
    status_icon.connect('popup-menu', self._onPopup)
    status_icon.set_tooltip(self.start_tooltip)
    self.ui_manager = self._newUIManager()
    self.script_buffer = ScriptBuffer(self.ui_manager)
    self.script_buffer.clearBuffer()
    self.script_buffer.connect('notify::recording', 
                               self._onRecordChange, status_icon)
    self.macro_preview = None
    # Get program ID
    global APP_ID
    from gnome import program_get
    _prog = program_get()
    if _prog is not None:
      APP_ID = _prog.get_app_id()

    pyatspi.Registry.start()
Beispiel #16
0
    def __init__(self):
        status_icon = gtk.status_icon_new_from_stock(gtk.STOCK_MEDIA_RECORD)
        status_icon.connect('activate', self._onActivate)
        status_icon.connect('popup-menu', self._onPopup)
        status_icon.set_tooltip(self.start_tooltip)
        self.ui_manager = self._newUIManager()
        self.script_buffer = ScriptBuffer(self.ui_manager)
        self.script_buffer.clearBuffer()
        self.script_buffer.connect('notify::recording', self._onRecordChange,
                                   status_icon)
        self.macro_preview = None
        # Get program ID
        global APP_ID
        from gnome import program_get
        _prog = program_get()
        if _prog is not None:
            APP_ID = _prog.get_app_id()

        pyatspi.Registry.start()
Beispiel #17
0
    def __init__(self, parent = None, status_icon=True):
        gobject.timeout_add(1000, self.wakeup)

        self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_DIALOG_INFO)
        self.icon.set_visible(status_icon)
        self.icon.connect('activate', self.status_icon_activate)
        self.icon.connect('popup-menu', self.__icon_menu)

        gtk.Window.__init__(self)
        self.set_title('Eve Timer')
        self.set_position(gtk.WIN_POS_CENTER)
        self.set_default_size(300,200)

        self.connect('destroy', lambda *w: gtk.main_quit())

        merge = gtk.UIManager()
        self.set_data('ui-manager', merge)
        merge.insert_action_group(self.__create_action_group(), 0)
        self.add_accel_group(merge.get_accel_group())
        
        mergeid = merge.add_ui_from_string(self.ui_info)

        table = gtk.Table(1, 3, False)
        self.add(table)

        bar = merge.get_widget("/MenuBar")
        table.attach(bar, 0, 1, 0, 1, gtk.EXPAND | gtk.FILL, 0, 0, 0)

        self.char_notebook = gtk.Notebook()
        table.attach(self.char_notebook, 0, 1, 1, 2, gtk.EXPAND | gtk.FILL, gtk.EXPAND | gtk.FILL, 0, 0)
        for char in chars.get():
            label = gtk.Label(char.character)
            self.char_notebook.append_page(self.__char_tab(char), label)

        self.statusbar = gtk.Statusbar()
        table.attach(self.statusbar, 0, 1, 2, 3, gtk.EXPAND | gtk.FILL, 0, 0, 0)
        self.connect("window_state_event", self.update_resize_grip)
Beispiel #18
0
 def __init__(self):
     gtk.Window.__init__(self)
     self.set_title("Close to tray")
     self.connect("delete-event", self.delete_event)
     #create a virtical box to hold some widgets
     vbox = gtk.VBox(False)
     #make a quit button
     quitbutton = gtk.Button("Quit")
     quitbutton.connect("clicked",self.quit)
     #add the quitbutton to the vbox
     vbox.pack_start(quitbutton)
     #create a label to say *something* and add to the vbox
     label=gtk.Label("This is a test of 'close to tray' functionality")
     vbox.pack_start(label)
     #add the vbox to the Window
     self.add(vbox)
     #show all of the stuff
     self.show_all()
     #make a status icon
     self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
     self.statusicon.connect('activate', self.status_clicked )
     self.statusicon.set_tooltip("the window is visible")
     #start the gtk main loop
     gtk.main()
Beispiel #19
0
    def __init__(self,
                 show_kthreads=True,
                 show_uthreads=True,
                 cpus_filtered=[]):
        global tuna_glade

        (app, localedir) = ('tuna', '/usr/share/locale')
        gtk.glade.bindtextdomain(app, localedir)
        gtk.glade.textdomain(app)

        if self.check_root():
            sys.exit(1)
        for dir in tuna_glade_dirs:
            tuna_glade = "%s/tuna_gui.glade" % dir
            if os.access(tuna_glade, os.F_OK):
                break
        self.wtree = gtk.glade.XML(tuna_glade, "mainbig_window", "tuna")
        self.ps = procfs.pidstats()
        self.irqs = procfs.interrupts()
        self.window = self.wtree.get_widget("mainbig_window")

        self.procview = procview(self.wtree.get_widget("processlist"), self.ps,
                                 show_kthreads, show_uthreads, cpus_filtered,
                                 tuna_glade)
        self.irqview = irqview(self.wtree.get_widget("irqlist"), self.irqs,
                               self.ps, cpus_filtered, tuna_glade)
        self.cpuview = cpuview(self.wtree.get_widget("vpaned1"),
                               self.wtree.get_widget("hpaned2"),
                               self.wtree.get_widget("cpuview"), self.procview,
                               self.irqview, cpus_filtered)

        self.config = Config()
        self.check_env()
        self.commonview = commonview()
        self.commonview.contentTable = self.wtree.get_widget("commonTbl")
        self.commonview.configFileCombo = self.wtree.get_widget(
            "profileSelector")

        self.profileview = profileview()
        self.profileview.config = self.config
        self.commonview.config = self.config
        self.profileview.commonview = self.commonview
        self.commonview.profileview = self.profileview

        self.profileview.setWtree(self.wtree)
        self.profileview.init_default_file()

        event_handlers = {
            "on_mainbig_window_delete_event":
            self.on_mainbig_window_delete_event,
            "on_processlist_button_press_event":
            self.procview.on_processlist_button_press_event,
            "on_irqlist_button_press_event":
            self.irqview.on_irqlist_button_press_event,
            "on_loadProfileButton_clicked":
            self.profileview.on_loadProfileButton_clicked,
            "on_SaveButton_clicked":
            self.profileview.on_SaveButton_clicked,
            "on_UpdateButton_clicked":
            self.profileview.on_UpdateButton_clicked,
            "on_applyChanges_clicked":
            self.commonview.on_applyChanges_clicked,
            "on_undoChanges_clicked":
            self.commonview.on_undoChanges_clicked,
            "on_saveSnapshot_clicked":
            self.commonview.on_saveSnapshot_clicked,
            "on_saveTunedChanges_clicked":
            self.commonview.on_saveTunedChanges_clicked,
            "on_profileSelector_changed":
            self.commonview.on_profileSelector_changed,
            "on_profileTree_button_press_event":
            self.profileview.on_profileTree_button_press_event
        }

        self.wtree.signal_autoconnect(event_handlers)

        self.ps.reload_threads()
        self.show()
        self.timer = gobject.timeout_add(2500, self.refresh)
        try:
            self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_PREFERENCES)
            self.icon.connect("activate", self.on_status_icon_activate)
            self.icon.connect("popup-menu", self.on_status_icon_popup_menu)
        except AttributeError:
            # Old pygtk2
            pass
        pixbuf = self.window.render_icon(gtk.STOCK_PREFERENCES,
                                         gtk.ICON_SIZE_SMALL_TOOLBAR)
        self.window.set_icon(pixbuf)
Beispiel #20
0
import cairo
import gtk
import os
import state
if os.name == "nt":
	from ctypes import windll

drawwin     = gtk.Window()
eventwin    = drawwin if os.name != "nt" else gtk.Window()
statusicon  = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
drawcalls   = [lambda cr, c=state.color(): cr.set_source_rgb(*c)]
drawtrigger = 0

GWL_EXSTYLE      = -20
SW_HIDE          = 0
SW_SHOW          = 5
WS_EX_LAYERED    = 0x00080000
WS_EX_TOOLWINDOW = 0x00000080
LWA_ALPHA        = 0x00000002
LWA_COLORKEY     = 0x00000001
COLORREF_BLACK   = 0x00000000
MIN_ALPHA        = 1

def init():
	statusicon.connect("activate", on_status_clicked)
	eventwin.add_events(gtk.gdk.BUTTON_PRESS_MASK   |
	                    gtk.gdk.BUTTON_RELEASE_MASK |
	                    gtk.gdk.POINTER_MOTION_MASK)

	eventwin.connect("key-press-event", on_keypress)
	eventwin.connect("button-press-event", on_buttonpress)
Beispiel #21
0
    def __init__(self, node):
        gtk.Window.__init__(self)

        self.set_default_size(640, 480)

        self.trayIcon = gtk.status_icon_new_from_stock(gtk.STOCK_FIND)
        self.trayIcon.connect('popup-menu', self._trayIconRightClick)
        self.trayIcon.connect('activate', self._trayIconClick)

        self.node = node

        self.connect("delete-event", self._hideWindow)

        # Layout the window
        highLevelVbox = gtk.VBox(spacing=3)
        self.add(highLevelVbox)
        highLevelVbox.show()

        notebook = gtk.Notebook()
        notebook.set_tab_pos(pos=gtk.POS_TOP)
        notebook.show()
        highLevelVbox.pack_start(notebook, expand=True, fill=True)

        vbox = gtk.VBox(spacing=3)
        vbox.show()

        notebook.append_page(vbox, gtk.Label('Search P2P Network'))

        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        # Create tree model
        model = self.createListStore([])
        # Create tree view
        self.dhtTreeView = gtk.TreeView(model)
        self.dhtTreeView.set_rules_hint(True)
        self.dhtTreeView.set_search_column(0)
        self.dhtTreeView.connect('row-activated', self.downloadFile)
        # Add the tree view to the scrolling window
        sw.add(self.dhtTreeView)
        # column for file name/description
        column = gtk.TreeViewColumn('File list:',
                                    gtk.CellRendererText(),
                                    text=0)
        column.set_sort_column_id(0)
        self.dhtTreeView.append_column(column)

        # Add the controls
        # Search for keyword
        hbox = gtk.HBox(False, 8)
        hbox.show()
        label = gtk.Label("Search:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        entryKeyword = gtk.Entry()
        hbox.pack_start(entryKeyword, expand=True, fill=True)
        entryKeyword.show()

        button = gtk.Button('Search')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.search, entryKeyword)
        button.show()

        self.progressBar = gtk.ProgressBar()
        self.progressBar.show()
        hbox.pack_start(self.progressBar, expand=True, fill=True)
        self.progressBar.show()

        vbox.pack_start(hbox, expand=False, fill=False)

        ######### Publish data
        vbox = gtk.VBox(spacing=3)
        vbox.show()
        notebook.append_page(vbox, gtk.Label('Share Local Files'))

        # List view
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        model = self.createListStore([])
        self.localTreeView = gtk.TreeView(model)
        self.localTreeView.set_rules_hint(True)
        self.localTreeView.set_search_column(0)
        self.localTreeView.connect('row-activated', self.downloadFile)
        sw.add(self.localTreeView)
        column = gtk.TreeViewColumn('Shared Files:',
                                    gtk.CellRendererText(),
                                    text=0)
        column.set_sort_column_id(0)
        self.localTreeView.append_column(column)

        hbox = gtk.HBox(False, 8)
        hbox.show()
        label = gtk.Label("Share directory:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        self.entryDir = gtk.Entry()
        hbox.pack_start(self.entryDir, expand=True, fill=True)
        self.entryDir.show()
        button = gtk.Button('Browse')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.browseDirectory, self.entryDir.get_text)
        button.show()
        button = gtk.Button('Publish')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.publishDirectory,
                       self.entryDir.get_text)
        button.show()
        vbox.pack_start(hbox, expand=False, fill=False)

        self._setupTCPNetworking()

        self.show_all()
 def __init__(self):
     icon = gtk.status_icon_new_from_stock(gtk.STOCK_PASTE)
     icon.connect('popup-menu', self.on_right_click)
     icon.connect('activate', self.on_left_click)
     pynotify.init(self.APP_NAME)
Beispiel #23
0
    def __init__(self, node):
        gtk.Window.__init__(self)
        
        self.set_default_size(640, 480)
        
        self.trayIcon = gtk.status_icon_new_from_stock(gtk.STOCK_FIND)
        self.trayIcon.connect('popup-menu', self._trayIconRightClick)
        self.trayIcon.connect('activate', self._trayIconClick)
        
        self.node = node
        
        self.connect("delete-event", self._hideWindow)
        
        # Layout the window
        highLevelVbox = gtk.VBox(spacing=3)
        self.add(highLevelVbox)
        highLevelVbox.show()
        
        notebook = gtk.Notebook()
        notebook.set_tab_pos(pos=gtk.POS_TOP)
        notebook.show()
        highLevelVbox.pack_start(notebook,expand=True, fill=True)
        
        vbox = gtk.VBox(spacing=3)
        vbox.show()
        
        notebook.append_page(vbox, gtk.Label('Search P2P Network'))

        
        
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        # Create tree model
        model = self.createListStore([])
        # Create tree view
        self.dhtTreeView = gtk.TreeView(model)
        self.dhtTreeView.set_rules_hint(True)
        self.dhtTreeView.set_search_column(0)
        self.dhtTreeView.connect('row-activated', self.downloadFile)
        # Add the tree view to the scrolling window
        sw.add(self.dhtTreeView)
        # column for file name/description
        column = gtk.TreeViewColumn('File list:', gtk.CellRendererText(), text=0)
        column.set_sort_column_id(0)
        self.dhtTreeView.append_column(column)

        # Add the controls
        # Search for keyword
        hbox = gtk.HBox(False, 8)
        hbox.show()
        label = gtk.Label("Search:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        entryKeyword = gtk.Entry()
        hbox.pack_start(entryKeyword, expand=True, fill=True)
        entryKeyword.show()
        
        button = gtk.Button('Search')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.search, entryKeyword)
        button.show()
        
        self.progressBar = gtk.ProgressBar()
        self.progressBar.show()
        hbox.pack_start(self.progressBar, expand=True, fill=True)
        self.progressBar.show()
        
        vbox.pack_start(hbox, expand=False, fill=False)
        
        
        ######### Publish data
        vbox = gtk.VBox(spacing=3)
        vbox.show()
        notebook.append_page(vbox, gtk.Label('Share Local Files'))
        
        
        # List view
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        model = self.createListStore([])
        self.localTreeView = gtk.TreeView(model)
        self.localTreeView.set_rules_hint(True)
        self.localTreeView.set_search_column(0)
        self.localTreeView.connect('row-activated', self.downloadFile)
        sw.add(self.localTreeView)
        column = gtk.TreeViewColumn('Shared Files:', gtk.CellRendererText(), text=0)
        column.set_sort_column_id(0)
        self.localTreeView.append_column(column)
        
        
        hbox = gtk.HBox(False, 8)
        hbox.show()
        label = gtk.Label("Share directory:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        self.entryDir = gtk.Entry()
        hbox.pack_start(self.entryDir, expand=True, fill=True)
        self.entryDir.show()
        button = gtk.Button('Browse')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.browseDirectory, self.entryDir.get_text)
        button.show()
        button = gtk.Button('Publish')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.publishDirectory, self.entryDir.get_text)
        button.show()
        vbox.pack_start(hbox, expand=False, fill=False)

        self._setupTCPNetworking()

        self.show_all()
Beispiel #24
0
 def create_gui(self):
     self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
     self.window.set_border_width(15)
     self.window.set_default_size(380, 130)
     self.window.set_position(gtk.WIN_POS_CENTER)
     self.window.set_title('pyIpclient by:xspyhack@guetsec')
     self.window.set_keep_above(True)
     self.window.set_resizable(False)
     self.window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color('#CCCCCC'))
     self.window.connect('delete_event',
                         self.delete_event_callback, self.window)    
     self.window.connect('destroy', self.destroy_callback)
     vbox = gtk.VBox(False, 10)
     self.window.add(vbox)
     hbox_msg   = gtk.HBox(False, 0)
     hbox_usage = gtk.HBox(False, 0)
     hbox_input = gtk.HBox(False, 0)
     hbox_btns  = gtk.HBox(False, 0)
     separator  = gtk.HSeparator()        
     vbox.pack_start(hbox_msg,   False, False, 0)
     vbox.pack_start(hbox_usage, False, False, 0)
     vbox.pack_start(hbox_input, False, False, 0)
     vbox.pack_start(separator,  False, False, 0)
     vbox.pack_start(hbox_btns,  False, False, 0)                
     self.label_msg   = gtk.Label(u'新闻')
     self.label_ip    = gtk.Label('255.255.255.255')
     self.label_flow  = gtk.Label(u' 流量: 0.00KB')
     self.label_money = gtk.Label(u' 剩余金额: 0.00元')       
     self.label_guetsec = gtk.Label('GUET Sec')
     label_user  = gtk.Label(u' 用户:')
     label_pswd  = gtk.Label(u' 密码:')
     self.entry_user  = gtk.Entry(max = 15)        
     self.entry_pswd  = gtk.Entry(max = 20)
     self.entry_pswd.set_visibility(False)
     self.btn_remember   = gtk.CheckButton(u'记住用户', False)
     self.btn_autologin  = gtk.CheckButton(u'自动登录', False)                
     self.btn_remember.connect ('clicked', self.btn_togg_clicked)
     self.btn_autologin.connect('clicked', self.btn_togg_clicked)        
     btn_open = gtk.Button(u' 开放 ')
     btn_stop = gtk.Button(u' 停止 ')
     btn_hide = gtk.Button(u' 隐藏 ')
     btn_exit = gtk.Button(u' 退出 ')        
     btn_open.connect('clicked', self.btn_open_clicked)
     btn_stop.connect('clicked', self.btn_stop_clicked)
     btn_hide.connect('clicked', self.btn_hide_clicked)
     btn_exit.connect('clicked', self.btn_exit_clicked)
     hbox_msg.pack_start(self.label_msg, True, True, 10)
     hbox_msg.pack_start(self.label_ip,  True, True, 10)
     hbox_usage.pack_start(self.label_flow, True, True, 10)
     hbox_usage.pack_start(self.label_guetsec, False, False, 0)
     hbox_usage.pack_start(self.label_money,True, True, 0)
     hbox_input.pack_start(label_user, False, False, 0)
     hbox_input.pack_start(self.entry_user, False, False, 10)
     hbox_input.pack_start(label_pswd, False, False, 10)
     hbox_input.pack_start(self.entry_pswd, False, False, 5)
     hbox_btns.pack_end(btn_exit, False, False, 5)
     hbox_btns.pack_end(btn_hide, False, False, 5)
     hbox_btns.pack_end(btn_stop, False, False, 5)
     hbox_btns.pack_end(btn_open, False, False, 5)
     hbox_btns.pack_end(self.btn_remember,  False, False, 5)
     hbox_btns.pack_end(self.btn_autologin, False, False, 5)
     icon_path = CONF['SOFTWARE DIR'] + CONF['ICON NAME']
     try:            
         # self.create_icon_file()
         self.window.set_icon_from_file(icon_path)
         self.statusicon = gtk.status_icon_new_from_file(icon_path)
     except glib.GError:            
         self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GO_FORWARD)
     finally:
         self.statusicon.connect('activate',self.trayicon_activate)            
         self.statusicon.set_tooltip(COPYRIGHT['SOFTWARE'])
Beispiel #25
0
  def _build_ui(self):
    ui_elements = [ 
                    "mainWindow",
                    "titleEntry",
                    "oneNoteSyncButton",
                    "tocList",
                    "tocListView",
                    "noteText",
                    "noteTextView",
                    "eventProgressBar",
                    "keypressLabel",
                    "cursorPositionLabel",
                    "printButton"
                  ]
    builder = gtk.Builder()
    builder.add_from_file( os.path.join( sys.path[0], "notey.glade" ) )
    
    for elem in ui_elements:
      setattr(self, elem, builder.get_object(elem))
    
    if disable_print:
      self.printButton.set_property('visible', False)
    #
    # glade cannot handle Cells and CellRenders
    # create them here
    #
    self.titleCellRenderer = gtk.CellRendererText()
    self.titleCell = gtk.TreeViewColumn(
                                        "Title", 
                                        self.titleCellRenderer, 
                                        text=0
                                       )
    self.titleCell.set_sort_column_id(0)
    
    self.titleCellRenderer.connect(
                                  'edited', 
                                  self.on_titleCell_edited, 
                                  self.tocList
                                  )
    self.titleCellRenderer.connect(
                                  'editing-canceled',
                                   self.on_titleCell_editing_cancelled, 
                                   self.tocList
                                  )
    self.modifiedDateCellRenderer = gtk.CellRendererText()
    self.modifiedDateCell = gtk.TreeViewColumn(
                                        "Modified Date",
                                        self.modifiedDateCellRenderer, 
                                        text=1
                                       )
    
    self.tocListView.append_column(self.titleCell)
    self.tocListView.append_column(self.modifiedDateCell)
    self.tocListView.get_selection().set_mode(gtk.SELECTION_MULTIPLE)

    self.tocList.set_sort_func(0, self.compare_data, 0)
    
    #make a status icon
    self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
    self.statusicon.connect('activate', self.status_clicked )
    self.statusicon.set_tooltip("Notey is not hidden")
   
    builder.connect_signals(self)

   
    #
    # for some strange reasons destroy-event is not useful
    # unfortunately that is the event that glade on fedora14 knows about
    # connect the mainWindow destroy event to the handler
    #
    self.mainWindow.connect("destroy", self.on_mainWindow_destroy)
Beispiel #26
0
    def create_window(self):
        # GTK initialisation
        window = gtk.Window(gtk.WINDOW_TOPLEVEL)
        window.connect("delete_event", self.delete_event)
        window.connect("destroy", self.destroy)
        window.connect("window-state-event", self.win_state_cb)
        window.set_border_width(10)
        window.set_title("NagMe")
        window.set_resizable(False)

        self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
        self.statusicon.connect('activate', self.status_clicked)
        self.statusicon.set_visible(self.mainwin_hidden)

        vbox = gtk.VBox(False, 5)

        self.statusbar = gtk.Statusbar()
        vbox.pack_end(self.statusbar, False, True, 0)

        # I need to say something
        label = gtk.Label("Don't forget things, just tell me, I will nag you!!\n"
                          "What you want to be reminded of?")
        vbox.pack_start(label, True, True, 0)

        self.textentry = gtk.Entry(max = 0)
        vbox.pack_start(self.textentry, True, True, 0)

        self.ptimer = gobject.timeout_add(200, self.timer_timer, self)

        hbox1 = gtk.HBox(True, 5)
        hbox2 = gtk.HBox(True, 5)
        hbox3 = gtk.HBox(True, 5)
        hbox0 = gtk.HBox(True, 5)
        vbox.pack_start(hbox1, True, True, 0)
        vbox.pack_start(hbox2, True, True, 0)
        vbox.pack_start(hbox3, True, True, 0)
        window.add(vbox)

        label = gtk.Label("Hour :")
        label.set_alignment(0, 0.5)
        hbox1.pack_start(label, False, True, 0)
        adj = gtk.Adjustment(0, 0.0, 23.0, 1.0, 5.0, 0.0)
        self.hourspin = gtk.SpinButton(adj, 0, 0)
        self.hourspin.set_wrap(True)
        hbox1.pack_start(self.hourspin, False, True, 0)

        label = gtk.Label("Minute :")
        label.set_alignment(0, 0.5)
        hbox1.pack_start(label, False, True, 0)
        adj = gtk.Adjustment(0, 0.0, 59.0, 1.0, 5.0, 0.0)
        self.minspin = gtk.SpinButton(adj, 0, 0)
        self.minspin.set_wrap(True)
        hbox1.pack_start(self.minspin, False, True, 0)

        # Add a button for OK
        buttonOK = gtk.Button(label=None, stock=gtk.STOCK_ADD)
        buttonOK.connect("clicked", self.get_values, None)
        hbox2.pack_start(buttonOK, True, True, 0)
        add_tt = gtk.Tooltips()
        add_tt.set_tip(buttonOK, "Add timer", tip_private=None) # Tool tip

        # Add a button for clearing
        buttonClear = gtk.Button(label=None, stock=gtk.STOCK_CLEAR)
        buttonClear.connect_object("clicked", self.reset_values, None)
        hbox2.pack_start(buttonClear, True, True, 0)
        clear_tt = gtk.Tooltips()
        clear_tt.set_tip(buttonClear, "Clear Form", tip_private=None)

        # Close confirmation
        confirm_close_toggle = gtk.CheckButton("_Confirm Close?")
        confirm_close_toggle.connect("toggled", self.confirm_close_cb)
        confirm_close_toggle.set_active(self.confirm_close)
        hbox3.pack_start(confirm_close_toggle, True, True, 0)

        # Relative or absolute timing?
        relative_time_toggle = gtk.CheckButton("_Absolute timing?")
        relative_time_toggle.connect("toggled", self.relative_time_cb)
        hbox3.pack_start(relative_time_toggle, True, True, 0)

        # Make a display to list timers
        label_exp = gtk.Label("Timers")
        self.expander = gtk.Expander(None)
        self.expander.set_label_widget(label_exp)
        self.expander.connect("notify::expanded", self.expanded)
        vbox.pack_end(self.expander, True, True, 0)
        list_tt = gtk.Tooltips()
        list_tt.set_tip(self.expander, "Show all timers", tip_private=None)

        self.timer_counter = gtk.Label("Nothing to remind")
        self.timer_counter.set_justify(gtk.JUSTIFY_CENTER)
        vbox.pack_start(self.timer_counter, True, True, 0)

        return window
Beispiel #27
0
 def __init__(self):
     self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_ABOUT)
     # gtk.STOCK_YES gtk.STOCK_NO
     self.icon.connect('popup-menu', self.on_right_click)
     self.icon.connect('activate', self.on_left_click)
     self.icon.set_tooltip((PROGRAM))
Beispiel #28
0
def make_menu(icon, button, time):

  image_size = gtk.ICON_SIZE_MENU

  menu = gtk.Menu()

  itm_add_prof = gtk.ImageMenuItem('_Add a new profile')
  add_prof_img = gtk.Image()
  add_prof_img.set_from_stock(gtk.STOCK_ADD, image_size)
  itm_add_prof.set_image(add_prof_img)
  #itm_add_prof.connect('activate', btn_add_prof_press, None)
  menu.append(itm_add_prof)

  itm_quit = gtk.ImageMenuItem('_Quit')
  quit_img = gtk.Image()
  quit_img.set_from_stock(gtk.STOCK_QUIT, image_size)
  itm_quit.set_image(quit_img)
  itm_quit.connect('activate', gtk.main_quit)
  menu.append(itm_quit)

  menu.show_all()
  menu.popup(None, None, gtk.status_icon_position_menu, button,
             time, icon)

if __name__ == '__main__':
  notify_icon = gtk.status_icon_new_from_stock(gtk.STOCK_CONNECT)
  notify_icon.connect('popup-menu', make_menu)
  #notify_icon.connect('activate', btn_play_press, None)

  gtk.main()
Beispiel #29
0
    def __init__(self):
        # Creo una nuova finestra
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)

        # Setto un titolo alla finestra
        self.window.set_title("Openvpn PyGTK Gui")

        # Se viene cliccata la "x" in altro a destra della finestra viene eseguita
        # la funzione self.hideondel_event.
        # Solitamente viene richiamata la funzione gtk.main_quit() per chiudere la finestra,
        # in questo caso viene ridotta nel system tray
        self.window.connect("delete_event", self.hideondel_event)

        # Setto la larghezza dei bordi della finestra
        self.window.set_border_width(20)

        # Creo una vertical box
        vbox = gtk.VBox(True, 2)
        # Inserisco la vertical box nella finestra principale del programma
        self.window.add(vbox)

        # Se non trovo il binario dell'openvpn creo una finestra d'errore
        if not self.CheckOpenvpnBin(self.openvpnclipath):

            errmessage = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK)
            errmessage.set_markup("Openvpn not found")
            errmessage.set_default_response(gtk.RESPONSE_OK)
            errmessage.run()
            errmessage.destroy()

        # Se non trovo la cartella contenente i file .ovpn creo una finestra d'errore
        if not self.CheckOpenvpnDir(self.openvpnclidir):

            errmessage = gtk.MessageDialog(type=gtk.MESSAGE_ERROR, buttons=gtk.BUTTONS_OK)
            errmessage.set_markup("Openvpn conf dir not found")
            errmessage.run()
            errmessage.destroy()

        # Tramite la funzione OvpnFileList creo una lista contenente tutti i file .ovpn
        connectionlist = self.OvpnFileList()

        # Creo una lista di tutti i CheckButton
        # In questo modo posso gestire e modificare ogni bottone in maniera autonoma (ciclando la lista)
        self.chckbuttonlist = []

        # Ciclo le connessioni vpn in ordine alfabetico (sorted) per creare i CheckButtons
        for vpn in sorted(connectionlist):

            vpnname = vpn.split("#####")[0]
            vpndir  = vpn.split("#####")[1]
            vpnfull = vpn.split("#####")[2]

            # Creo il checkbutton dandogli il nome del file openvpn senza estensione .ovpn
            self.chckbutton = gtk.CheckButton(vpnname[:-5])
            # Inserisco il checkbutton nella lista completa
            self.chckbuttonlist.append(self.chckbutton)

            # Controllo se tra i processi del sistema ci sono gia in esecuzione le vpn
            for ovpnprocess in self.CheckOpenvpnProc():
                # Se trovo una connessione tra i processi setto il checkbutton come attivo
                if vpnfull in str(ovpnprocess[-1:]):
                    self.chckbutton.set_active(True)

            # Se spunto il checkbutton di una vpn, eseguo la funzione StartStopConn
            # così da decidere se far partire o stoppare una connessione openvpn.
            self.chckbutton.connect("toggled", self.StartStopConn, vpnfull, vpndir, self.chckbutton)
            # Inserisco il bottone nella vertical box precedentemente creata
            vbox.pack_start(self.chckbutton, True, True, 2)
            # Mostro il bottone nella GUI.
            self.chckbutton.show()

        # Creo una progressbar
        self.progressbar = gtk.ProgressBar()
        # Inserisco la progressbar sotto i CheckButtons all'interno della vertical box
        vbox.pack_start(self.progressbar, True, True, 2)
        # Mostro la progressbar
        self.progressbar.show()
        # Creo il bottone Quit
        button = gtk.Button("Quit")
        # Quando il bottone Quit viene premuto chiudo la finestra principale
        button.connect("clicked", lambda wid: gtk.main_quit())

        # Inserisco il bottone Quit nella vertical box
        vbox.pack_start(button, True, True, 2)
        # Mostro il bottone Quit
        button.show()
        # Mostro la vertical box
        vbox.show()
        # Appena creata la finestra principale la riduco nel system tray.
        self.window.hide_on_delete()
        # Inserisco l'icona della finestra per il system tray.
        self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_CONNECT)
        # Se viene cliccata l'icona del system tray esegui la funzione self.status_clicked
        self.icon.connect('activate', self.status_clicked )
Beispiel #30
0
	def build_gui(self):
		print "Starting GUI for cyberoam-linux client.."
		self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
		self.window.connect("delete_event", self.gotoTray)
		self.window.connect("destroy", self.destroy)
		#self.window.set_border_width(24)
		self.window.set_size_request(400, 200)
		self.window.set_title("Cyberoam client")
		self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
		self.window.set_resizable(False)
		
		topwid=gtk.VBox(gtk.FALSE, 0)
		
				
		mb = gtk.MenuBar()

		appmenu = gtk.Menu()
		app = gtk.MenuItem("App")
		app.set_submenu(appmenu)

		exit = gtk.MenuItem("Exit")
		exit.connect("activate", self.destroy)
		appmenu.append(exit)

		mb.append(app)
		vbox = gtk.VBox(False, 2)
		vbox.pack_start(mb, False, False, 0)
		topwid.pack_start(vbox)
		
		
		
		
		table = gtk.Table(3, 3, True)
		topwid.pack_start(table)
		
		label = gtk.Label("Username")
		table.attach(label,0,1,0,1)
		label.show()
		
		self.username=gtk.Entry(max=10)
		table.attach(self.username,1,3,0,1)
		self.username.show()
		
		label1 = gtk.Label("Password")
		table.attach(label1,0,1,1,2)
		label1.show()
		
		self.password=gtk.Entry(max=10)
		table.attach(self.password,1,3,1,2)
		self.password.set_visibility(False)
		self.password.show()
		
		self.button=gtk.Button("Login")
		self.button.connect("clicked",self.click_button)
		table.attach(self.button,1,3,2,3)
		self.button.show()
		
		#
		
		table.show()

		
		self.window.add(topwid)

		topwid.show()
		
		self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_NETWORK)
		self.statusicon.connect('activate', self.status_clicked )
		self.statusicon.set_name("Cyberoam")
		
		self.window.show_all()
		self.winstatus='showing'
		
		gtk.main()
Beispiel #31
0
def GMailNotifier():
    icon = gtk.status_icon_new_from_stock(gtk.STOCK_QUIT)
    icon.set_tooltip("Hello")
    #icon.connect("activate", activate)
    icon.connect("popup-menu", popup_menu)
    def __init__(self, node,port,groups,name,eid,guest):
        gtk.Window.__init__(self)
        
        self.set_default_size(800, 600)
        
        self.trayIcon = gtk.status_icon_new_from_stock(gtk.STOCK_FIND)
        self.trayIcon.connect('popup-menu', self._trayIconRightClick)
        self.trayIcon.connect('activate', self._trayIconClick)
        
        self.node = node
        self.groups = groups
        
        self.connect("delete-event", self._hideWindow)
        
        # Layout the window
        highLevelVbox = gtk.VBox(spacing=3)
        self.add(highLevelVbox)
        highLevelVbox.show()
        
        notebook = gtk.Notebook()
        notebook.set_tab_pos(pos=gtk.POS_TOP)
        notebook.show()
        highLevelVbox.pack_start(notebook,expand=True, fill=True)
        
        ###USER INFO
        hbox2 = gtk.HBox(spacing=3)
        hbox2.show()
        
        notebook.append_page(hbox2, gtk.Label('User Information'))
        
        vbox = gtk.VBox(spacing=3)
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        self.userList = gtk.TreeStore(str)
        
        # Create tree view
        self.dTV = gtk.TreeView(gtk.TreeStore(str))
        self.dTV.set_rules_hint(True)
        self.dTV.set_search_column(0)
        #self.dTV.connect('row-activated', self.downloadFile)
        sw.add(self.dTV)
        column = gtk.TreeViewColumn('Current Online Users:', gtk.CellRendererText(), text=0)
        column.set_sort_column_id(0)
        self.dTV.append_column(column)
        self.dTV.set_reorderable(True)
        self.dTV.set_show_expanders(False)
        self.dTV.set_level_indentation(10)
        
        vbox.show()
        hbox2.pack_start(vbox, expand=True, fill=True)
        
        
        
        vbox = gtk.VBox(spacing=3)       
        
        hbox = gtk.HBox(False, 5)
        hbox.show()
        if(guest):
            g='YES'
        else:
            g='NO'
        frame = gtk.Frame("Currently Logged User:"******"Name:\t"+name+"\nEmail:\t"+eid+"\nGuest Login:\t"+g)        
        labelgrp = gtk.Label("Groups:\t"+self.groups)
        vboxLabel = gtk.VBox(spacing=3)
        vboxLabel.pack_start(label,expand=False, fill=False)
        vboxLabel.pack_start(labelgrp,expand=False, fill=False)
        hbox.pack_start(frame, expand=True, fill=True)
        label.show()  
        labelgrp.show()
        frame.add(vboxLabel)
        vboxLabel .show()
        frame.show()
        
        vbox.pack_start(hbox,expand=False, fill=False)
        
        hbox = gtk.HBox(False, 5)
        hbox.show()
        aGrpTxt = gtk.Entry()
        hbox.pack_start(aGrpTxt, expand=True, fill=True)
        aGrpTxt.show()
        aGrpBtn = gtk.Button('Add Group(s)')
        hbox.pack_start(aGrpBtn, expand=True, fill=True)
        
        
        vbox.pack_start(hbox,expand=False, fill=False)
        
        hbox = gtk.HBox(False, 5)
        hbox.show()
        dGrpTxt = gtk.Entry()
        hbox.pack_start(dGrpTxt, expand=True, fill=True)
        dGrpTxt.show()
        dGrpBtn = gtk.Button('Delete Group')
        hbox.pack_start(dGrpBtn, expand=True, fill=True)
        vbox.pack_start(hbox,expand=False, fill=False)
        
        hbox = gtk.HBox(False, 5)
        hbox.show()  
        #chat logs todo        
        frame = gtk.Frame('Chat Logs')
        textview = gtk.TextView()
        frame.add(textview)
        textview.set_editable(False)
        textbuffer = textview.get_buffer()
        textbuffer.set_text('Chat Log Todo')
        hbox.pack_start(frame, expand=True, fill=True)
        textview.show()
        frame.show()
        vbox.pack_start(hbox)
        
        vbox.show()
        hbox2.pack_start(vbox, expand=True, fill=True)
        
        
        
        ###search info
        vbox = gtk.VBox(spacing=3)
        vbox.show()
        
        notebook.append_page(vbox, gtk.Label('Search P2P Network'))

        
        
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        # Create tree model
        model = self.createListStore([])
        self.actualModel = []
        # Create tree view
        self.dhtTreeView = gtk.TreeView(model)
        self.dhtTreeView.set_rules_hint(True)
        self.dhtTreeView.set_search_column(0)
        self.dhtTreeView.connect('row-activated', self.downloadFile)
        # Add the tree view to the scrolling window
        sw.add(self.dhtTreeView)
        # column for file name/description
        column = gtk.TreeViewColumn('File list:', gtk.CellRendererText(), text=0)
        column.set_sort_column_id(0)
        self.dhtTreeView.append_column(column)
	#column = gtk.TreeViewColumn('Associated Group:', gtk.CellRendererText(), text=0)
        #column.set_sort_column_id(1)
        #self.dhtTreeView.append_column(column)

        # Add the controls
        # Search for keyword
        hbox = gtk.HBox(False, 5)
        hbox.show()
        label = gtk.Label("Smart Search:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        entryKeyword = gtk.Entry()
        hbox.pack_start(entryKeyword, expand=True, fill=True)
        entryKeyword.show()
		
	
        labelGrp = gtk.Label("in Group:")
        hbox.pack_start(labelGrp, False, False, 0)
        labelGrp.show()
        entryKeywordGrp = gtk.Entry()
        hbox.pack_start(entryKeywordGrp, expand=True, fill=True)
        entryKeywordGrp.set_text(self.groups)
        print groups
        entryKeywordGrp.show()
        
        button = gtk.Button('Search')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.search, entryKeyword, entryKeywordGrp)
        button.show()
        
        self.progressBar = gtk.ProgressBar()
        self.progressBar.show()
        hbox.pack_start(self.progressBar, expand=True, fill=True)
        self.progressBar.show()
        
        vbox.pack_start(hbox,expand=False, fill=False)
	#vbox.pack_start(hboxGrp, expand=False, fill=False)
        
        
        ######### Publish data
        vbox = gtk.VBox(spacing=3)
        vbox.show()
        notebook.append_page(vbox, gtk.Label('Share Local Files'))
        
        
        # List view
        sw = gtk.ScrolledWindow()
        sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
        sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
        vbox.pack_start(sw)
        model = self.createListStore([])
        self.localTreeView = gtk.TreeView(model)
        self.localTreeView.set_rules_hint(True)
        self.localTreeView.set_search_column(0)
        self.localTreeView.connect('row-activated', self.downloadFile)
        sw.add(self.localTreeView)
        column = gtk.TreeViewColumn('Shared Files:', gtk.CellRendererText(), text=0)
        column.set_sort_column_id(0)
        self.localTreeView.append_column(column)
        
        
        hbox = gtk.HBox(False, 8)
        hbox.show()
        label = gtk.Label("Share directory:")
        hbox.pack_start(label, False, False, 0)
        label.show()
        self.entryDir = gtk.Entry()
        hbox.pack_start(self.entryDir, expand=True, fill=True)
        self.entryDir.show()
        '''
        labelGrp = gtk.Label("Publisher Group:")
        hbox.pack_start(labelGrp, False, False, 0)
        labelGrp.show()
        '''
        entryKeywordGrp2 = gtk.Entry()
        '''
        hbox.pack_start(entryKeywordGrp2, expand=True, fill=True)
        entryKeywordGrp2.show()
        '''
        entryKeywordGrp2.set_text(self.groups)
        
        button = gtk.Button('Browse')
        hbox.pack_start(button, expand=False, fill=False)
        button.connect("clicked", self.browseDirectory, self.entryDir.get_text)
        button.show()
        button = gtk.Button('Publish')
        hbox.pack_start(button, expand=False, fill=False)
        
        
            
	
        button.connect("clicked", self.publishDirectory, self.entryDir.get_text, entryKeywordGrp2,(not guest))
        button.show()
        vbox.pack_start(hbox, expand=False, fill=False)
        
        aGrpBtn.connect("clicked",self.addGroup,aGrpTxt,entryKeywordGrp2,entryKeywordGrp,labelgrp)
        aGrpBtn.show()
        dGrpBtn.connect("clicked",self.delGroup,dGrpTxt,entryKeywordGrp2,entryKeywordGrp,labelgrp)
        dGrpBtn.show()
        
        

        self._setupTCPNetworking(port)
        if(not guest):
            self.publishOldFiles(entryKeywordGrp2)

        #no longer used
        #df = self.node.publishData(name+':us3rn@me:'+self.groups.replace(',',':'),self.node.id)
        #df.addCallback(self.updateUsers)
        
        self.publishMyself(name,eid)
        gobject.timeout_add(5000, self.updateUsers)
        self.show_all()
Beispiel #33
0
 def __init__(self, message):
     self.tray = gtk.status_icon_new_from_stock(gtk.STOCK_QUIT)
     self.msg = message
     self.tray.connect('popup-menu', self.on_right_click, self.msg)
 def __init__(self):
     self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_ABOUT)
     # gtk.STOCK_YES gtk.STOCK_NO  
     self.icon.connect('popup-menu', self.on_right_click)
     self.icon.connect('activate', self.on_left_click)
     self.icon.set_tooltip((PROGRAM))
Beispiel #35
0
  close_item.show()
  
  #Popup the menu
  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):
    #win.show_all()
#    open_app()
    win.show()
    #message("Status Icon Left Clicked")

#def main( self):
#      open_app()
#      gtk.main() 



if __name__ == '__main__':
      #  self.statusicon = gtk.status_icon_new_from_stock(gtk.STOCK_GOTO_TOP)
  icon = gtk.status_icon_new_from_stock(gtk.STOCK_ABOUT)
  icon.connect('popup-menu', on_right_click)
  icon.connect('activate', on_left_click)
  #m = MyGUI( "TextView example")
  #m.main()
  open_app()
  gtk.main()

Beispiel #36
0
    def __init__(self):
        # Create appindicator object
        if have_appindicator:
            self.ind = appindicator.Indicator("example-simple-client",
                                              "indicator-messages",
                                              appindicator.CATEGORY_APPLICATION_STATUS)
            self.ind.set_status(appindicator.STATUS_ACTIVE)
            self.ind.set_icon(
                os.path.abspath("biertje.svg"))
        else:
            self.ind = gtk.status_icon_new_from_stock(gtk.STOCK_HOME)

        # Create menu object
        self.menu = gtk.Menu()  # create the main menu item
        self.menuWeight = gtk.MenuItem(
            'Het fust weegt {printWeight} Kg'.
            format(printWeight=self.gewicht + self.emptyweight))

        self.menuWeight.set_sensitive(False)
        menuItemBeer = gtk.MenuItem('Beer')
        menuItemOptions = gtk.MenuItem('Options')
        menuItemQuit = gtk.MenuItem('Quit')

        self.menubeer = gtk.Menu()  # Create second menu for the submenu
        self.menuoptions = gtk.Menu()  # make options allso a menu
        # Make MenuItemBeer submenuable
        menuItemBeer.set_submenu(self.menubeer)
        # make the menuoptions a submenu of itemoptions
        menuItemOptions.set_submenu(self.menuoptions)

        self.suboptionsNixie = gtk.CheckMenuItem("Nixies")
        self.suboptionsLeds = gtk.CheckMenuItem("LEDs")
        self.suboptionsColor = gtk.MenuItem("Select LED color")
        self.suboptionsCal = gtk.MenuItem("Calibrate scale")

        self.menu.append(self.menuWeight)
        self.menu.append(gtk.SeparatorMenuItem())
        self.menu.append(menuItemBeer)
        self.menu.append(menuItemOptions)
        self.menu.append(menuItemQuit)

        self.menuoptions.append(self.suboptionsNixie)
        self.menuoptions.append(self.suboptionsLeds)
        self.menuoptions.append(self.suboptionsColor)
        self.menuoptions.append(self.suboptionsCal)
        self.menuoptions.append(gtk.SeparatorMenuItem())
        self.beerEdit = gtk.MenuItem(label="Edit beer list")
        self.menuoptions.append(self.beerEdit)
        self.beerEdit.connect("activate", self.openFile, "fustlijst.json")
        self.menuoptions.append(gtk.SeparatorMenuItem())

        menuItemQuit.connect('activate', self.quit, "quit")

        self.createBeerList()
        self.createPortList()

        self.suboptionsNixie.connect("activate", self.writeArduino)
        self.suboptionsLeds.connect("activate", self.writeArduino)
        self.colorseldlg = None
        self.suboptionsColor.connect("activate", self.colorSelector)
        self.suboptionsCal.connect("activate", self.calWindow)

        self.loadfile()

        self.menu.show_all()

        # Add constructed menu as indicator menu
        self.ind.set_menu(self.menu)
    # Append the menu items
    menu.append(open_item)
    menu.append(close_item)

    # add callbacks
    open_item.connect_object("activate", open_app, "Open App")
    close_item.connect_object("activate", close_app, "Close App")

    # Show the menu items
    open_item.show()
    close_item.show()

    # Popup the menu
    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):
    message("Status Icon Left Clicked")


if __name__ == "__main__":
    icon = gtk.status_icon_new_from_stock(gtk.STOCK_ABOUT)
    icon.connect("popup-menu", on_right_click)
    icon.connect("activate", on_left_click)
    gtk.main()
Beispiel #38
0
	def __init__(self, show_kthreads = True, show_uthreads = True, cpus_filtered = []):
		global tuna_glade

		(app, localedir) = ('tuna', '/usr/share/locale')
		gtk.glade.bindtextdomain(app, localedir)
		gtk.glade.textdomain(app)

		if self.check_root():
			sys.exit(1)
		for dir in tuna_glade_dirs:
			tuna_glade = "%s/tuna_gui.glade" % dir
			if os.access(tuna_glade, os.F_OK):
				break
		self.wtree = gtk.glade.XML(tuna_glade, "mainbig_window", "tuna")
		self.ps = procfs.pidstats()
		self.irqs = procfs.interrupts()
		self.window = self.wtree.get_widget("mainbig_window")

		self.procview = procview(self.wtree.get_widget("processlist"),
					 self.ps, show_kthreads, show_uthreads,
					 cpus_filtered, tuna_glade)
		self.irqview = irqview(self.wtree.get_widget("irqlist"),
				       self.irqs, self.ps, cpus_filtered,
				       tuna_glade)
		self.cpuview = cpuview(self.wtree.get_widget("vpaned1"),
				       self.wtree.get_widget("hpaned2"),
				       self.wtree.get_widget("cpuview"),
				       self.procview, self.irqview, cpus_filtered)

		self.config = Config()
		self.check_env()
		self.commonview = commonview()
		self.commonview.contentTable = self.wtree.get_widget("commonTbl")
		self.commonview.configFileCombo = self.wtree.get_widget("profileSelector")

		self.profileview = profileview()
		self.profileview.config = self.config
		self.commonview.config = self.config
		self.profileview.commonview = self.commonview
		self.commonview.profileview = self.profileview

		self.profileview.setWtree(self.wtree)
		self.profileview.init_default_file()

		event_handlers = { "on_mainbig_window_delete_event"		: self.on_mainbig_window_delete_event,
					"on_processlist_button_press_event"			: self.procview.on_processlist_button_press_event,
					"on_irqlist_button_press_event"				: self.irqview.on_irqlist_button_press_event,
					"on_loadProfileButton_clicked"				: self.profileview.on_loadProfileButton_clicked,
					"on_SaveButton_clicked"						: self.profileview.on_SaveButton_clicked,
					"on_UpdateButton_clicked"					: self.profileview.on_UpdateButton_clicked,
					"on_applyChanges_clicked"					: self.commonview.on_applyChanges_clicked,
					"on_undoChanges_clicked"					: self.commonview.on_undoChanges_clicked,
					"on_saveSnapshot_clicked"					: self.commonview.on_saveSnapshot_clicked,
					"on_saveTunedChanges_clicked"				: self.commonview.on_saveTunedChanges_clicked,
					"on_profileSelector_changed"				: self.commonview.on_profileSelector_changed,
					"on_profileTree_button_press_event"			: self.profileview.on_profileTree_button_press_event
		}
	
		self.wtree.signal_autoconnect(event_handlers)

		self.ps.reload_threads()
		self.show()
		self.timer = gobject.timeout_add(2500, self.refresh)
		try:
			self.icon = gtk.status_icon_new_from_stock(gtk.STOCK_PREFERENCES)
			self.icon.connect("activate", self.on_status_icon_activate)
			self.icon.connect("popup-menu", self.on_status_icon_popup_menu)
		except AttributeError:
			# Old pygtk2
			pass
		pixbuf = self.window.render_icon(gtk.STOCK_PREFERENCES,
						 gtk.ICON_SIZE_SMALL_TOOLBAR)
		self.window.set_icon(pixbuf)
def StatusIconDemo(parent=None):
    icon = gtk.status_icon_new_from_stock(gtk.STOCK_QUIT)
    icon.connect('popup-menu', on_right_click)
Beispiel #40
0
 def create_gui(self):
     self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
     self.window.set_border_width(15)
     self.window.set_default_size(380, 130)
     self.window.set_position(gtk.WIN_POS_CENTER)
     self.window.set_title('pyIpclient by:xspyhack@guetsec')
     self.window.set_keep_above(True)
     self.window.set_resizable(False)
     self.window.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color('#CCCCCC'))
     self.window.connect('delete_event', self.delete_event_callback,
                         self.window)
     self.window.connect('destroy', self.destroy_callback)
     vbox = gtk.VBox(False, 10)
     self.window.add(vbox)
     hbox_msg = gtk.HBox(False, 0)
     hbox_usage = gtk.HBox(False, 0)
     hbox_input = gtk.HBox(False, 0)
     hbox_btns = gtk.HBox(False, 0)
     separator = gtk.HSeparator()
     vbox.pack_start(hbox_msg, False, False, 0)
     vbox.pack_start(hbox_usage, False, False, 0)
     vbox.pack_start(hbox_input, False, False, 0)
     vbox.pack_start(separator, False, False, 0)
     vbox.pack_start(hbox_btns, False, False, 0)
     self.label_msg = gtk.Label(u'新闻')
     self.label_ip = gtk.Label('255.255.255.255')
     self.label_flow = gtk.Label(u' 流量: 0.00KB')
     self.label_money = gtk.Label(u' 剩余金额: 0.00元')
     self.label_guetsec = gtk.Label('GUET Sec')
     label_user = gtk.Label(u' 用户:')
     label_pswd = gtk.Label(u' 密码:')
     self.entry_user = gtk.Entry(max=15)
     self.entry_pswd = gtk.Entry(max=20)
     self.entry_pswd.set_visibility(False)
     self.btn_remember = gtk.CheckButton(u'记住用户', False)
     self.btn_autologin = gtk.CheckButton(u'自动登录', False)
     self.btn_remember.connect('clicked', self.btn_togg_clicked)
     self.btn_autologin.connect('clicked', self.btn_togg_clicked)
     btn_open = gtk.Button(u' 开放 ')
     btn_stop = gtk.Button(u' 停止 ')
     btn_hide = gtk.Button(u' 隐藏 ')
     btn_exit = gtk.Button(u' 退出 ')
     btn_open.connect('clicked', self.btn_open_clicked)
     btn_stop.connect('clicked', self.btn_stop_clicked)
     btn_hide.connect('clicked', self.btn_hide_clicked)
     btn_exit.connect('clicked', self.btn_exit_clicked)
     hbox_msg.pack_start(self.label_msg, True, True, 10)
     hbox_msg.pack_start(self.label_ip, True, True, 10)
     hbox_usage.pack_start(self.label_flow, True, True, 10)
     hbox_usage.pack_start(self.label_guetsec, False, False, 0)
     hbox_usage.pack_start(self.label_money, True, True, 0)
     hbox_input.pack_start(label_user, False, False, 0)
     hbox_input.pack_start(self.entry_user, False, False, 10)
     hbox_input.pack_start(label_pswd, False, False, 10)
     hbox_input.pack_start(self.entry_pswd, False, False, 5)
     hbox_btns.pack_end(btn_exit, False, False, 5)
     hbox_btns.pack_end(btn_hide, False, False, 5)
     hbox_btns.pack_end(btn_stop, False, False, 5)
     hbox_btns.pack_end(btn_open, False, False, 5)
     hbox_btns.pack_end(self.btn_remember, False, False, 5)
     hbox_btns.pack_end(self.btn_autologin, False, False, 5)
     icon_path = CONF['SOFTWARE DIR'] + CONF['ICON NAME']
     try:
         # self.create_icon_file()
         self.window.set_icon_from_file(icon_path)
         self.statusicon = gtk.status_icon_new_from_file(icon_path)
     except glib.GError:
         self.statusicon = gtk.status_icon_new_from_stock(
             gtk.STOCK_GO_FORWARD)
     finally:
         self.statusicon.connect('activate', self.trayicon_activate)
         self.statusicon.set_tooltip(COPYRIGHT['SOFTWARE'])
Beispiel #41
0
def StatusIconDemo(parent=None):
    icon = gtk.status_icon_new_from_stock(gtk.STOCK_QUIT)
    icon.connect('popup-menu', on_right_click)
Beispiel #42
0
        i.show()
    sep = gtk.SeparatorMenuItem()
    menu.append(sep)
    sep.show()
    close_item = gtk.MenuItem("Quit")
    close_item.connect_object("activate", close_app, "Close App")
    menu.append(close_item)
    close_item.show()
    menu.popup(None, None, None, event_button, event_time)

def on_script_click(widget):
    if widget.active is False:
        script_handler.desactivate(widget.get_label())
    else:
        script_handler.activate(widget.get_label())

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

def close_app(data=None):
    script_handler.kill_threads()
    gtk.main_quit()


if __name__ == '__main__':
    script_handler = ScriptHandler()
    icon = gtk.status_icon_new_from_stock(gtk.STOCK_EXECUTE)
    icon.connect('popup-menu', on_right_click)
    icon.set_has_tooltip(True)
    icon.set_tooltip_text(APPNAME + " | " + VERSION)
    gtk.main()