summaryrefslogtreecommitdiffstats
path: root/panel
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-08-07 07:25:10 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-08-07 07:25:10 +0800
commitafe55e0c6245ed0e17f1ed62b489fb94dff7543c (patch)
treed703a806d61901bedf4b411f4f2718ee21ca7bb1 /panel
parentf5ebcc85fdc233796fc181a63795045a7a8867d5 (diff)
downloadibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.tar.gz
ibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.tar.xz
ibus-afe55e0c6245ed0e17f1ed62b489fb94dff7543c.zip
Add sys menu for panel.
Diffstat (limited to 'panel')
-rw-r--r--panel/panel.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/panel/panel.py b/panel/panel.py
index 923dd59..fb7c416 100644
--- a/panel/panel.py
+++ b/panel/panel.py
@@ -167,6 +167,17 @@ class Panel(ibus.PanelBase):
def do_destroy(self):
gtk.main_quit()
+ def __create_sys_menu(self):
+ menu = gtk.Menu()
+ item = gtk.MenuItem("_Preferences...")
+ menu.add(item)
+ item = gtk.MenuItem("_Quit")
+ menu.add(item)
+
+ menu.show_all()
+ menu.set_take_focus(False)
+ return menu
+
def __create_im_menu(self):
menu = gtk.Menu()
factories = self.__bus.get_factories()
@@ -217,17 +228,15 @@ class Panel(ibus.PanelBase):
menu = self.__create_im_menu()
return menu
- def __status_icon_activate_cb(self, status_icon):
- if not self.__focus_ic:
- return
- menu = self.__create_im_menu()
+ def __status_icon_popup_menu_cb(self, status_icon, button, active_time):
+ menu = self.__create_sys_menu()
menu.popup(None, None,
gtk.status_icon_position_menu,
0,
gtk.get_current_event_time(),
self.__status_icon)
- def __status_icon_popup_menu_cb(self, status_icon, button, active_time):
+ def __status_icon_activate_cb(self, status_icon):
if not self.__focus_ic:
return
menu = self.__create_im_menu()