summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ui/gtk/languagebar.py17
-rw-r--r--ui/gtk/panel.py1
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)