[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