[ibus/f16] Fixed no XKB languages from layout only.
Takao Fujiwara
fujiwara at fedoraproject.org
Fri Nov 4 10:24:28 UTC 2011
commit 3ef409f362de33998ec4c93c5c48b20e38e64c59
Author: Takao Fujiwara <tfujiwar at redhat.com>
Date: Fri Nov 4 19:24:09 2011 +0900
Fixed no XKB languages from layout only.
.gitignore | 2 +
ibus-541492-xkb.patch | 15 ++++++-----
ibus-xx-bridge-hotkey.patch | 58 +++++++++++++++++++++++++++++--------------
ibus.spec | 14 +++++++---
sources | 4 +-
5 files changed, 61 insertions(+), 32 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index aa119b2..ee667cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,3 +26,5 @@ ibus-1.3.6.tar.gz
/ibus-gjs-3.2.1.20111021.tar.gz
/ibus-gjs-3.0.2.20111028.tar.gz
/ibus-gjs-3.2.1.20111028.tar.gz
+/ibus-gjs-3.0.2.20111104.tar.gz
+/ibus-gjs-3.2.1.20111104.tar.gz
diff --git a/ibus-541492-xkb.patch b/ibus-541492-xkb.patch
index 50df294..d035ee7 100644
--- a/ibus-541492-xkb.patch
+++ b/ibus-541492-xkb.patch
@@ -1,6 +1,6 @@
-From 471e7583078c1e4b65219c9d37e16bf0d3d808bf Mon Sep 17 00:00:00 2001
+From 10bff3bb3c4ea8ec1316beb47b6d8fcbdfd357bf Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Fri, 28 Oct 2011 15:25:19 +0900
+Date: Fri, 4 Nov 2011 18:17:29 +0900
Subject: [PATCH] Add XKB layouts
---
@@ -12,7 +12,7 @@ Subject: [PATCH] Add XKB layouts
ibus/__init__.py | 2 +
ibus/bus.py | 3 +
ibus/interface/iibus.py | 3 +
- ibus/xkblayout.py.in | 230 +++
+ ibus/xkblayout.py.in | 231 +++
ibus/xkbxml.py.in | 419 ++++
setup/Makefile.am | 1 +
setup/enginecombobox.py | 7 +-
@@ -38,7 +38,7 @@ Subject: [PATCH] Add XKB layouts
xkb/xkblib.h | 41 +
xkb/xkbxml.c | 345 ++++
xkb/xkbxml.h | 113 ++
- 34 files changed, 9523 insertions(+), 4 deletions(-)
+ 34 files changed, 9524 insertions(+), 4 deletions(-)
create mode 100644 ibus/xkblayout.py.in
create mode 100644 ibus/xkbxml.py.in
create mode 100644 setup/xkbsetup.py
@@ -309,10 +309,10 @@ index 678d517..7de56fc 100644
diff --git a/ibus/xkblayout.py.in b/ibus/xkblayout.py.in
new file mode 100644
-index 0000000..11fce12
+index 0000000..9d7468f
--- /dev/null
+++ b/ibus/xkblayout.py.in
-@@ -0,0 +1,230 @@
+@@ -0,0 +1,231 @@
+# vim:set et sts=4 sw=4:
+#
+# ibus - The Input Bus
@@ -469,7 +469,8 @@ index 0000000..11fce12
+ need_us_layout = False
+ for latin_layout in self.__xkb_latin_layouts:
+ latin_layout = str(latin_layout)
-+ if layout == latin_layout:
++ # layout 'in' and model 'eng' is English layout.
++ if layout == latin_layout and model != 'eng':
+ need_us_layout = True
+ break
+ if model != None and layout + '(' + model + ')' == latin_layout:
diff --git a/ibus-xx-bridge-hotkey.patch b/ibus-xx-bridge-hotkey.patch
index 149a534..c7c2bf6 100644
--- a/ibus-xx-bridge-hotkey.patch
+++ b/ibus-xx-bridge-hotkey.patch
@@ -1,6 +1,6 @@
-From d4fd56784b18c8eb321c75e86a9c21d3e1984888 Mon Sep 17 00:00:00 2001
+From 1f5b2a32bf2ab762d293fb493ca355f3eb21ae48 Mon Sep 17 00:00:00 2001
From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Wed, 2 Nov 2011 12:01:55 +0900
+Date: Fri, 4 Nov 2011 18:54:23 +0900
Subject: [PATCH] Add a bridge hotkey which use prev-next engines instead
of on-off.
@@ -30,11 +30,11 @@ Subject: [PATCH] Add a bridge hotkey which use prev-next engines instead
src/ibusinputcontext.h | 12 +
src/ibusutil.c | 12 +
src/ibusutil.h | 14 +
- ui/gtk/panel.py | 315 +++++++++++++++++++--
+ ui/gtk/panel.py | 335 ++++++++++++++++++++--
xkb/Makefile.am | 2 +
xkb/ibus-engine-xkb-main.c | 16 +
xkb/xkbxml.c | 10 +-
- 29 files changed, 1596 insertions(+), 392 deletions(-)
+ 29 files changed, 1616 insertions(+), 392 deletions(-)
delete mode 100644 data/ibus.schemas.in
create mode 100644 data/ibus.schemas.in.in
@@ -1688,7 +1688,7 @@ index 7cf1995..a19d16e 100644
+
#endif
diff --git a/ui/gtk/panel.py b/ui/gtk/panel.py
-index 8804634..2fc11bb 100644
+index 8804634..549393a 100644
--- a/ui/gtk/panel.py
+++ b/ui/gtk/panel.py
@@ -67,6 +67,7 @@ class Panel(ibus.PanelBase):
@@ -1733,7 +1733,7 @@ index 8804634..2fc11bb 100644
def set_cursor_location(self, x, y, w, h):
self.__candidate_panel.set_cursor_location(x, y, w, h)
-@@ -233,12 +249,99 @@ class Panel(ibus.PanelBase):
+@@ -233,12 +249,119 @@ class Panel(ibus.PanelBase):
def __set_im_name(self, name):
self.__language_bar.set_im_name(name)
@@ -1745,6 +1745,25 @@ index 8804634..2fc11bb 100644
+ return self.__config.get_value("general/hotkey", "use_bridge_hotkey",
+ True)
+
++ def __registry_get_lang_from_layout(self, layout, model=None):
++ langs = None
++ lang = 'en'
++ registry = ibus.XKBConfigRegistry()
++ get_layout_lang = registry.get_layout_lang()
++ if model == '':
++ model = None
++ if model != None:
++ label = "%s(%s)" % (layout, model)
++ if label in get_layout_lang:
++ langs = get_layout_lang[label]
++ if langs == None:
++ label = layout
++ if label in get_layout_lang:
++ langs = get_layout_lang[label]
++ if langs != None:
++ lang = str(langs[0])
++ return lang
++
+ def __set_default_layout_engine(self, use_bridge_hotkey):
+ default_layout = self.__default_layout
+ default_model = self.__default_model
@@ -1760,10 +1779,10 @@ index 8804634..2fc11bb 100644
+ if len(self.__disabled_engines) == 0:
+ for i, layout in enumerate(layouts):
+ registry = ibus.XKBConfigRegistry()
-+ langs = registry.get_layout_lang()[layout]
-+ lang = 'en'
-+ if langs != None:
-+ lang = str(langs[0])
++ model = None
++ if models != None and i < len(models):
++ model = models[i]
++ lang = self.__registry_get_lang_from_layout(layout, model)
+ model = None
+ if i == 0:
+ layout = default_layout
@@ -1775,7 +1794,8 @@ index 8804634..2fc11bb 100644
+ model_desc = _("Default Layout")
+ if i == 0:
+ l = 0
-+ if models != None:
++ # layout 'in' and model 'eng' is English layout.
++ if models != None and model != 'eng':
+ for j in range(0, len(models)):
+ l = l + len(models[j])
+ if l != 0:
@@ -1834,7 +1854,7 @@ index 8804634..2fc11bb 100644
if not enabled:
self.__set_im_icon(ICON_KEYBOARD)
self.__set_im_name(None)
-@@ -247,10 +350,13 @@ class Panel(ibus.PanelBase):
+@@ -247,10 +370,13 @@ class Panel(ibus.PanelBase):
else:
engine = self.__focus_ic.get_engine()
if engine:
@@ -1850,7 +1870,7 @@ index 8804634..2fc11bb 100644
else:
self.__set_im_icon(ICON_KEYBOARD)
self.__set_im_name(None)
-@@ -273,7 +379,21 @@ class Panel(ibus.PanelBase):
+@@ -273,7 +399,21 @@ class Panel(ibus.PanelBase):
return
enabled = self.__focus_ic.is_enabled()
@@ -1873,7 +1893,7 @@ index 8804634..2fc11bb 100644
if enabled == False:
self.reset()
-@@ -284,10 +404,13 @@ class Panel(ibus.PanelBase):
+@@ -284,10 +424,13 @@ class Panel(ibus.PanelBase):
else:
engine = self.__focus_ic.get_engine()
if engine:
@@ -1889,7 +1909,7 @@ index 8804634..2fc11bb 100644
else:
self.__set_im_icon(ICON_KEYBOARD)
self.__set_im_name(None)
-@@ -315,6 +438,7 @@ class Panel(ibus.PanelBase):
+@@ -315,6 +458,7 @@ class Panel(ibus.PanelBase):
def __config_load_show(self):
show = self.__config.get_value("panel", "show", 0)
@@ -1897,7 +1917,7 @@ index 8804634..2fc11bb 100644
self.__language_bar.set_show(show)
def __config_load_position(self):
-@@ -443,6 +567,21 @@ class Panel(ibus.PanelBase):
+@@ -443,6 +587,21 @@ class Panel(ibus.PanelBase):
# menu.set_take_focus(False)
# return menu
@@ -1919,7 +1939,7 @@ index 8804634..2fc11bb 100644
def __create_im_menu(self):
engines = self.__bus.list_active_engines()
current_engine = \
-@@ -453,25 +592,39 @@ class Panel(ibus.PanelBase):
+@@ -453,25 +612,39 @@ class Panel(ibus.PanelBase):
size = gtk.icon_size_lookup(gtk.ICON_SIZE_MENU)
menu = gtk.Menu()
for i, engine in enumerate(engines):
@@ -1972,7 +1992,7 @@ index 8804634..2fc11bb 100644
menu.show_all()
menu.set_take_focus(False)
-@@ -523,8 +676,25 @@ class Panel(ibus.PanelBase):
+@@ -523,8 +696,25 @@ class Panel(ibus.PanelBase):
if not self.__focus_ic:
return
if engine:
@@ -1999,7 +2019,7 @@ index 8804634..2fc11bb 100644
self.__focus_ic.disable()
def __sys_menu_item_activate_cb(self, item, command):
-@@ -573,12 +743,113 @@ class Panel(ibus.PanelBase):
+@@ -573,12 +763,113 @@ class Panel(ibus.PanelBase):
self.__setup_pid = pid
glib.child_watch_add(self.__setup_pid, self.__child_watch_cb)
diff --git a/ibus.spec b/ibus.spec
index f454d45..464552d 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -7,16 +7,16 @@
%if 0%{?fedora} > 16
%define have_bridge_hotkey 1
-%define ibus_gjs_version 3.2.1.20111028
+%define ibus_gjs_version 3.2.1.20111104
%define ibus_gjs_build_failure 1
%else
%if 0%{?fedora} > 15
%define have_bridge_hotkey 1
-%define ibus_gjs_version 3.2.1.20111028
+%define ibus_gjs_version 3.2.1.20111104
%define ibus_gjs_build_failure 0
%else
%define have_bridge_hotkey 0
-%define ibus_gjs_version 3.0.2.20111028
+%define ibus_gjs_version 3.0.2.20111104
%define ibus_gjs_build_failure 0
%endif
%endif
@@ -30,7 +30,7 @@
Name: ibus
Version: 1.4.0
-Release: 9%{?dist}
+Release: 10%{?dist}
Summary: Intelligent Input Bus for Linux OS
License: LGPLv2+
Group: System Environment/Libraries
@@ -406,6 +406,12 @@ fi
%{_datadir}/gtk-doc/html/*
%changelog
+* Fri Nov 04 2011 Takao Fujiwara <tfujiwar at redhat.com> - 1.4.0-10
+- Updated ibus-xx-bridge-hotkey.patch for f16
+ Fixed no XKB languages from layout only. e.g. in(eng).
+- Updated ibus-541492-xkb.patch
+ Fixed not to show 'eng' on GUI for in(eng).
+
* Wed Nov 02 2011 Takao Fujiwara <tfujiwar at redhat.com> - 1.4.0-9
- Updated ibus-HEAD.patch
Fixed prev/next keys without global engine.
diff --git a/sources b/sources
index 1f110bf..e9cadd9 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
b4f063794e89c71eb1f8cb543210da30 ibus-1.4.0.tar.gz
-de3f3ea3f94b857e253943c54f77f63c ibus-gjs-3.0.2.20111028.tar.gz
-68800261522aa391f972c93c7317c05b ibus-gjs-3.2.1.20111028.tar.gz
+da885c3a62f509327859d1ed65544693 ibus-gjs-3.0.2.20111104.tar.gz
+d49a93c05a69bcdd65a839381d9fbaa1 ibus-gjs-3.2.1.20111104.tar.gz
More information about the scm-commits
mailing list