diff options
-rw-r--r-- | ui/gtk/languagebar.py | 17 | ||||
-rw-r--r-- | ui/gtk/panel.py | 1 |
2 files changed, 14 insertions, 4 deletions
diff --git a/ui/gtk/languagebar.py b/ui/gtk/languagebar.py index 99b1af0..eb758f2 100644 --- a/ui/gtk/languagebar.py +++ b/ui/gtk/languagebar.py @@ -114,6 +114,11 @@ class LanguageBar(gtk.Toolbar): map(lambda i: i.destroy(), self.__properties) self.__properties = [] + def __set_opacity(self, opacity): + if self.__toplevel.window == None: + self.__toplevel.realize() + self.__toplevel.window.set_opacity(opacity) + def do_show(self): gtk.Toolbar.do_show(self) @@ -129,10 +134,14 @@ class LanguageBar(gtk.Toolbar): def set_enabled(self, enabled): self.__enabled = enabled - if self.__enabled and self.__has_focus: - self.show_all() - if not self.__enabled and self.__auto_hide: - self.hide_all() + if self.__enabled: + self.__set_opacity(1.0) + if self.__has_focus: + self.show_all() + else: + self.__set_opacity(0.5) + if self.__auto_hide: + self.hide_all() def is_enabled(self): return self.__enabled diff --git a/ui/gtk/panel.py b/ui/gtk/panel.py index d3cd249..d968393 100644 --- a/ui/gtk/panel.py +++ b/ui/gtk/panel.py @@ -191,6 +191,7 @@ class Panel(ibus.PanelBase): def focus_out(self, ic): self.reset() self.__focus_ic = None + self.__language_bar.set_enabled(False) self.__language_bar.focus_out() self.__set_im_icon(self.__ibus_icon) |