def __init__(self, bus): super(Panel, self).__init__(bus) self.__bus = bus self.__config = self.__bus.get_config() self.__focus_ic = None self.__setup_pid = None self.__prefix = os.getenv("IBUS_PREFIX") self.__data_dir = path.join(self.__prefix, "share", "ibus") # self.__icons_dir = path.join(self.__data_dir, "icons") self.__setup_cmd = path.join(self.__prefix, "bin", "ibus-setup") # connect bus signal self.__config.connect("value-changed", self.__config_value_changed_cb) self.__config.connect("reloaded", self.__config_reloaded_cb) # self.__bus.config_add_watch("panel") # add icon search path # icon_theme = gtk.icon_theme_get_default() # icon_theme.prepend_search_path(self.__icons_dir) self.__language_bar = LanguageBar() self.__language_bar.connect( "property-activate", lambda widget, prop_name, prop_state: self.property_activate( prop_name, prop_state)) self.__language_bar.connect("get-im-menu", self.__get_im_menu_cb) self.__language_bar.connect("show-engine-about", self.__show_engine_about_cb) self.__language_bar.connect("position-changed", self.__position_changed_cb) self.__language_bar.focus_out() self.__language_bar.show_all() self.__candidate_panel = CandidatePanel() self.__candidate_panel.connect("cursor-up", lambda widget: self.cursor_up()) self.__candidate_panel.connect("cursor-down", lambda widget: self.cursor_down()) self.__candidate_panel.connect("page-up", lambda widget: self.page_up()) self.__candidate_panel.connect("page-down", lambda widget: self.page_down()) self.__candidate_panel.connect( "candidate-clicked", lambda widget, index, button, state: self.candidate_clicked( index, button, state)) self.__status_icon = gtk.StatusIcon() # gnome-shell checks XClassHint.res_class with ShellTrayIcon. # gtk_status_icon_set_name() can set XClassHint.res_class . # However gtk_status_icon_new() also calls gtk_window_realize() so # gtk_status_icon_set_visible() needs to be called to set WM_CLASS # so that gtk_window_realize() is called later again. # set_title is for gnome-shell notificationDaemon in bottom right. self.__status_icon.set_visible(False) # gtk_status_icon_set_name() is not available in pygtk2 2.17 if hasattr(self.__status_icon, 'set_name'): self.__status_icon.set_name('ibus-ui-gtk') self.__status_icon.set_title(_("IBus Panel")) # Hide icon until bus get the name owner. #self.__status_icon.set_visible(True) self.__status_icon.connect("popup-menu", self.__status_icon_popup_menu_cb) self.__status_icon.connect("activate", self.__status_icon_activate_cb) self.__status_icon.set_from_icon_name(ICON_KEYBOARD) self.__status_icon.set_tooltip(_("IBus input method framework")) # Hide icon until bus get the name owner. #self.__status_icon.set_visible(True) self.__config_load_lookup_table_orientation() self.__config_load_show() self.__config_load_position() self.__config_load_custom_font() # Hide icon until bus get the name owner. #self.__config_load_show_icon_on_systray() self.__config_load_show_im_name()
def __init__(self, bus): super(Panel, self).__init__(bus) self.__bus = bus self.__config = self.__bus.get_config() self.__focus_ic = None self.__setup_pid = None self.__prefix = os.getenv("IBUS_PREFIX") self.__data_dir = path.join(self.__prefix, "share", "ibus") # self.__icons_dir = path.join(self.__data_dir, "icons") self.__setup_cmd = path.join(self.__prefix, "bin", "ibus-setup") # connect bus signal self.__config.connect("value-changed", self.__config_value_changed_cb) self.__config.connect("reloaded", self.__config_reloaded_cb) # self.__bus.config_add_watch("panel") # add icon search path # icon_theme = gtk.icon_theme_get_default() # icon_theme.prepend_search_path(self.__icons_dir) self.__language_bar = LanguageBar() self.__language_bar.connect( "property-activate", lambda widget, prop_name, prop_state: self.property_activate( prop_name, prop_state)) self.__language_bar.connect("get-im-menu", self.__get_im_menu_cb) self.__language_bar.connect("show-engine-about", self.__show_engine_about_cb) self.__language_bar.connect("position-changed", self.__position_changed_cb) self.__language_bar.focus_out() self.__language_bar.show_all() self.__candidate_panel = CandidatePanel() self.__candidate_panel.connect("cursor-up", lambda widget: self.cursor_up()) self.__candidate_panel.connect("cursor-down", lambda widget: self.cursor_down()) self.__candidate_panel.connect("page-up", lambda widget: self.page_up()) self.__candidate_panel.connect("page-down", lambda widget: self.page_down()) self.__candidate_panel.connect( "candidate-clicked", lambda widget, index, button, state: self.candidate_clicked( index, button, state)) self.__status_icon = gtk.StatusIcon() self.__status_icon.connect("popup-menu", self.__status_icon_popup_menu_cb) self.__status_icon.connect("activate", self.__status_icon_activate_cb) self.__status_icon.set_from_icon_name(ICON_KEYBOARD) self.__status_icon.set_tooltip(_("IBus input method framework")) self.__status_icon.set_visible(True) self.__config_load_lookup_table_orientation() self.__config_load_show() self.__config_load_position() self.__config_load_custom_font() self.__config_load_show_icon_on_systray() self.__config_load_show_im_name()