public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/ibus] autotool: Bumped to 1.5.11
@ 2026-05-31  2:06 Takao Fujiwara
  0 siblings, 0 replies; only message in thread
From: Takao Fujiwara @ 2026-05-31  2:06 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/ibus
Branch : autotool
Commit : c104094ffef2c14befb0e3ae36774ba532e6e801
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date   : 2015-07-16T17:04:26+09:00
Stats  : +11/-1673 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/ibus/c/c104094ffef2c14befb0e3ae36774ba532e6e801?branch=autotool

Log:
Bumped to 1.5.11

---
diff --git a/.gitignore b/.gitignore
index 32c53c5..fe80bb7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -44,3 +44,4 @@ ibus-1.3.6.tar.gz
 /ibus-1.5.8.tar.gz
 /ibus-1.5.9.tar.gz
 /ibus-1.5.10.tar.gz
+/ibus-1.5.11.tar.gz

diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index 34574de..8b13789 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -1,1646 +1 @@
-From 49ee54f83471542447e1121be15c27ff5d86600b Mon Sep 17 00:00:00 2001
-From: Colin Walters <walters@verbum.org>
-Date: Fri, 27 Feb 2015 11:32:41 +0900
-Subject: [PATCH] dconf: Work around using dbus development builds and
- /etc/machine-id
-
-Recent DBus changed the way it reads /etc/machine-id to be more
-strict, and it turns out that this breaks the use of dbus-launch here.
-
-The *correct* fix is to use `dbus-run-session`, but not everyone has
-that yet.  This is a quick hack that keeps the build going.
-
-BUG=https://github.com/ibus/ibus/pull/16
-TEST=data/dconf/00-upstream-settings
-
-Review URL: https://codereview.appspot.com/209810043
-Patch from Colin Walters <walters@verbum.org>.
----
- data/dconf/make-dconf-override-db.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/data/dconf/make-dconf-override-db.sh b/data/dconf/make-dconf-override-db.sh
-index 49a6df9..9c650e9 100755
---- a/data/dconf/make-dconf-override-db.sh
-+++ b/data/dconf/make-dconf-override-db.sh
-@@ -2,6 +2,10 @@
- 
- set -e
- 
-+# gnome-continuous doesn't have a machine-id set, which
-+# breaks dbus-launch.  There's dbus-run-session which is
-+# better, but not everyone has it yet.
-+export DBUS_FATAL_WARNINGS=0
- export TMPDIR=$(mktemp -d --tmpdir="$PWD")
- export XDG_CONFIG_HOME="$TMPDIR/config"
- export XDG_CACHE_HOME="$TMPDIR/cache"
--- 
-2.1.0
-
-From 0ba6452740ec6e76344afaa2a9887566d0b62a4d Mon Sep 17 00:00:00 2001
-From: Peng Wu <alexepico@gmail.com>
-Date: Mon, 9 Mar 2015 13:36:58 +0900
-Subject: [PATCH] Add ibus_keyval_convert_case and
- ibus_keyval_to_upper/lower methods
-
-In some input method setup dialog, customization of shortcut keys are supported. But in python Gtk+, when grab the shortcut key, the gdk_keyval_to_lower method will be used.
-
-This patch adds ibus_keyval_convert_case and ibus_keyval_to_upper/lower methods, so ibus-libpinyin can drop the Gdk 3.x C++ dependency.
-
-BUG=https://code.google.com/p/ibus/issues/detail?id=1766
-TEST=
-
-Review URL: https://codereview.appspot.com/213760043
-Patch from Peng Wu <alexepico@gmail.com>.
----
- src/ibuskeynames.c | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- src/ibuskeys.h     |  33 ++++++++++++
- 2 files changed, 180 insertions(+)
-
-diff --git a/src/ibuskeynames.c b/src/ibuskeynames.c
-index 2935bcb..fe7836e 100644
---- a/src/ibuskeynames.c
-+++ b/src/ibuskeynames.c
-@@ -31,6 +31,7 @@
- #include <string.h>
- #include "ibuskeysyms.h"
- #include "keyname-table.h"
-+#include "ibuskeys.h"
- 
- #define IBUS_NUM_KEYS G_N_ELEMENTS (gdk_keys_by_keyval)
- 
-@@ -196,3 +197,149 @@ _out:
-     return retval;
- }
- 
-+guint
-+ibus_keyval_to_upper (guint keyval)
-+{
-+  guint result;
-+
-+  ibus_keyval_convert_case (keyval, NULL, &result);
-+
-+  return result;
-+}
-+
-+guint
-+ibus_keyval_to_lower (guint keyval)
-+{
-+  guint result;
-+
-+  ibus_keyval_convert_case (keyval, &result, NULL);
-+
-+  return result;
-+}
-+
-+void
-+ibus_keyval_convert_case (guint symbol,
-+                         guint *lower,
-+                         guint *upper)
-+{
-+  guint xlower, xupper;
-+
-+  xlower = symbol;
-+  xupper = symbol;
-+
-+  /* Check for directly encoded 24-bit UCS characters: */
-+  if ((symbol & 0xff000000) == 0x01000000)
-+    {
-+      if (lower)
-+        *lower = ibus_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff));
-+      if (upper)
-+        *upper = ibus_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff));
-+      return;
-+    }
-+
-+  switch (symbol >> 8)
-+    {
-+    case 0: /* Latin 1 */
-+      if ((symbol >= IBUS_KEY_A) && (symbol <= IBUS_KEY_Z))
-+        xlower += (IBUS_KEY_a - IBUS_KEY_A);
-+      else if ((symbol >= IBUS_KEY_a) && (symbol <= IBUS_KEY_z))
-+        xupper -= (IBUS_KEY_a - IBUS_KEY_A);
-+      else if ((symbol >= IBUS_KEY_Agrave) && (symbol <= IBUS_KEY_Odiaeresis))
-+        xlower += (IBUS_KEY_agrave - IBUS_KEY_Agrave);
-+      else if ((symbol >= IBUS_KEY_agrave) && (symbol <= IBUS_KEY_odiaeresis))
-+        xupper -= (IBUS_KEY_agrave - IBUS_KEY_Agrave);
-+      else if ((symbol >= IBUS_KEY_Ooblique) && (symbol <= IBUS_KEY_Thorn))
-+        xlower += (IBUS_KEY_oslash - IBUS_KEY_Ooblique);
-+      else if ((symbol >= IBUS_KEY_oslash) && (symbol <= IBUS_KEY_thorn))
-+        xupper -= (IBUS_KEY_oslash - IBUS_KEY_Ooblique);
-+      break;
-+
-+    case 1: /* Latin 2 */
-+      /* Assume the KeySym is a legal value (ignore discontinuities) */
-+      if (symbol == IBUS_KEY_Aogonek)
-+        xlower = IBUS_KEY_aogonek;
-+      else if (symbol >= IBUS_KEY_Lstroke && symbol <= IBUS_KEY_Sacute)
-+        xlower += (IBUS_KEY_lstroke - IBUS_KEY_Lstroke);
-+      else if (symbol >= IBUS_KEY_Scaron && symbol <= IBUS_KEY_Zacute)
-+        xlower += (IBUS_KEY_scaron - IBUS_KEY_Scaron);
-+      else if (symbol >= IBUS_KEY_Zcaron && symbol <= IBUS_KEY_Zabovedot)
-+        xlower += (IBUS_KEY_zcaron - IBUS_KEY_Zcaron);
-+      else if (symbol == IBUS_KEY_aogonek)
-+        xupper = IBUS_KEY_Aogonek;
-+      else if (symbol >= IBUS_KEY_lstroke && symbol <= IBUS_KEY_sacute)
-+        xupper -= (IBUS_KEY_lstroke - IBUS_KEY_Lstroke);
-+      else if (symbol >= IBUS_KEY_scaron && symbol <= IBUS_KEY_zacute)
-+        xupper -= (IBUS_KEY_scaron - IBUS_KEY_Scaron);
-+      else if (symbol >= IBUS_KEY_zcaron && symbol <= IBUS_KEY_zabovedot)
-+        xupper -= (IBUS_KEY_zcaron - IBUS_KEY_Zcaron);
-+      else if (symbol >= IBUS_KEY_Racute && symbol <= IBUS_KEY_Tcedilla)
-+        xlower += (IBUS_KEY_racute - IBUS_KEY_Racute);
-+      else if (symbol >= IBUS_KEY_racute && symbol <= IBUS_KEY_tcedilla)
-+        xupper -= (IBUS_KEY_racute - IBUS_KEY_Racute);
-+      break;
-+
-+    case 2: /* Latin 3 */
-+      /* Assume the KeySym is a legal value (ignore discontinuities) */
-+      if (symbol >= IBUS_KEY_Hstroke && symbol <= IBUS_KEY_Hcircumflex)
-+        xlower += (IBUS_KEY_hstroke - IBUS_KEY_Hstroke);
-+      else if (symbol >= IBUS_KEY_Gbreve && symbol <= IBUS_KEY_Jcircumflex)
-+        xlower += (IBUS_KEY_gbreve - IBUS_KEY_Gbreve);
-+      else if (symbol >= IBUS_KEY_hstroke && symbol <= IBUS_KEY_hcircumflex)
-+        xupper -= (IBUS_KEY_hstroke - IBUS_KEY_Hstroke);
-+      else if (symbol >= IBUS_KEY_gbreve && symbol <= IBUS_KEY_jcircumflex)
-+        xupper -= (IBUS_KEY_gbreve - IBUS_KEY_Gbreve);
-+      else if (symbol >= IBUS_KEY_Cabovedot && symbol <= IBUS_KEY_Scircumflex)
-+        xlower += (IBUS_KEY_cabovedot - IBUS_KEY_Cabovedot);
-+      else if (symbol >= IBUS_KEY_cabovedot && symbol <= IBUS_KEY_scircumflex)
-+        xupper -= (IBUS_KEY_cabovedot - IBUS_KEY_Cabovedot);
-+      break;
-+
-+    case 3: /* Latin 4 */
-+      /* Assume the KeySym is a legal value (ignore discontinuities) */
-+      if (symbol >= IBUS_KEY_Rcedilla && symbol <= IBUS_KEY_Tslash)
-+        xlower += (IBUS_KEY_rcedilla - IBUS_KEY_Rcedilla);
-+      else if (symbol >= IBUS_KEY_rcedilla && symbol <= IBUS_KEY_tslash)
-+        xupper -= (IBUS_KEY_rcedilla - IBUS_KEY_Rcedilla);
-+      else if (symbol == IBUS_KEY_ENG)
-+        xlower = IBUS_KEY_eng;
-+      else if (symbol == IBUS_KEY_eng)
-+        xupper = IBUS_KEY_ENG;
-+      else if (symbol >= IBUS_KEY_Amacron && symbol <= IBUS_KEY_Umacron)
-+        xlower += (IBUS_KEY_amacron - IBUS_KEY_Amacron);
-+      else if (symbol >= IBUS_KEY_amacron && symbol <= IBUS_KEY_umacron)
-+        xupper -= (IBUS_KEY_amacron - IBUS_KEY_Amacron);
-+      break;
-+
-+    case 6: /* Cyrillic */
-+      /* Assume the KeySym is a legal value (ignore discontinuities) */
-+      if (symbol >= IBUS_KEY_Serbian_DJE && symbol <= IBUS_KEY_Serbian_DZE)
-+        xlower -= (IBUS_KEY_Serbian_DJE - IBUS_KEY_Serbian_dje);
-+      else if (symbol >= IBUS_KEY_Serbian_dje && symbol <= IBUS_KEY_Serbian_dze)
-+        xupper += (IBUS_KEY_Serbian_DJE - IBUS_KEY_Serbian_dje);
-+      else if (symbol >= IBUS_KEY_Cyrillic_YU && symbol <= IBUS_KEY_Cyrillic_HARDSIGN)
-+        xlower -= (IBUS_KEY_Cyrillic_YU - IBUS_KEY_Cyrillic_yu);
-+      else if (symbol >= IBUS_KEY_Cyrillic_yu && symbol <= IBUS_KEY_Cyrillic_hardsign)
-+        xupper += (IBUS_KEY_Cyrillic_YU - IBUS_KEY_Cyrillic_yu);
-+      break;
-+
-+    case 7: /* Greek */
-+      /* Assume the KeySym is a legal value (ignore discontinuities) */
-+      if (symbol >= IBUS_KEY_Greek_ALPHAaccent && symbol <= IBUS_KEY_Greek_OMEGAaccent)
-+        xlower += (IBUS_KEY_Greek_alphaaccent - IBUS_KEY_Greek_ALPHAaccent);
-+      else if (symbol >= IBUS_KEY_Greek_alphaaccent && symbol <= IBUS_KEY_Greek_omegaaccent &&
-+               symbol != IBUS_KEY_Greek_iotaaccentdieresis &&
-+               symbol != IBUS_KEY_Greek_upsilonaccentdieresis)
-+        xupper -= (IBUS_KEY_Greek_alphaaccent - IBUS_KEY_Greek_ALPHAaccent);
-+      else if (symbol >= IBUS_KEY_Greek_ALPHA && symbol <= IBUS_KEY_Greek_OMEGA)
-+        xlower += (IBUS_KEY_Greek_alpha - IBUS_KEY_Greek_ALPHA);
-+      else if (symbol >= IBUS_KEY_Greek_alpha && symbol <= IBUS_KEY_Greek_omega &&
-+               symbol != IBUS_KEY_Greek_finalsmallsigma)
-+        xupper -= (IBUS_KEY_Greek_alpha - IBUS_KEY_Greek_ALPHA);
-+      break;
-+    }
-+
-+  if (lower)
-+    *lower = xlower;
-+  if (upper)
-+    *upper = xupper;
-+}
-diff --git a/src/ibuskeys.h b/src/ibuskeys.h
-index 7969929..6ad0a90 100644
---- a/src/ibuskeys.h
-+++ b/src/ibuskeys.h
-@@ -74,5 +74,38 @@ guint            ibus_unicode_to_keyval (gunichar        wc);
-  **/
- gunichar         ibus_keyval_to_unicode (guint           keyval);
- 
-+/**
-+ * ibus_keyval_to_upper:
-+ * @keyval: a key value.
-+ *
-+ * Converts a key value to upper case, if applicable.
-+ *
-+ * Returns: the upper case form of @keyval, or @keyval itself if it is already
-+ *   in upper case or it is not subject to case conversion.
-+ */
-+guint            ibus_keyval_to_upper (guint keyval);
-+
-+/**
-+ * ibus_keyval_to_lower:
-+ * @keyval: a key value.
-+ *
-+ * Converts a key value to lower case, if applicable.
-+ *
-+ * Returns: the lower case form of @keyval, or @keyval itself if it is already
-+ *  in lower case or it is not subject to case conversion.
-+ */
-+guint            ibus_keyval_to_lower (guint keyval);
-+
-+/**
-+ * ibus_keyval_convert_case:
-+ * @symbol: a keyval
-+ * @lower: (out): return location for lowercase version of @symbol
-+ * @upper: (out): return location for uppercase version of @symbol
-+ *
-+ * Obtains the upper- and lower-case versions of the keyval @symbol.
-+ * Examples of keyvals are #IBUS_KEY_a, #IBUS_KEY_Enter, #IBUS_KEY_F1, etc.
-+ */
-+void ibus_keyval_convert_case (guint symbol, guint *lower, guint *upper);
-+
- G_END_DECLS
- #endif // __IBUS_KEYS_H_
--- 
-2.1.0
-
-From f32e98fdacf50af70fe1e3198463fc75d9ead727 Mon Sep 17 00:00:00 2001
-From: Albert Veli <albert.veli@gmail.com>
-Date: Thu, 12 Mar 2015 12:12:22 +0900
-Subject: [PATCH] Add Swedish svdvorak in simple.xml
-
-TEST=engine/simple.xml
-
-Review URL: https://codereview.appspot.com/215730043
-Patch from Albert Veli <albert.veli@gmail.com>.
----
- engine/simple.xml.in | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/engine/simple.xml.in b/engine/simple.xml.in
-index c16f86a..93de14a 100644
---- a/engine/simple.xml.in
-+++ b/engine/simple.xml.in
-@@ -625,6 +625,18 @@
-                         <icon>ibus-keyboard</icon>
- 			<rank>99</rank>
- 		</engine>
-+                <engine>
-+                        <name>xkb:se:svdvorak:swe</name>
-+                        <language>swe</language>
-+                        <license>GPL</license>
-+                        <author>Peng Huang &lt;shawn.p.huang@gmail.com&gt;</author>
-+                        <layout>se</layout>
-+                        <layout_variant>svdvorak</layout_variant>
-+                        <longname>Swedish (Svdvorak)</longname>
-+                        <description>Swedish (Svdvorak)</description>
-+                        <icon>ibus-keyboard</icon>
-+                        <rank>99</rank>
-+                </engine>
- 		<engine>
- 			<name>xkb:ch::ger</name>
- 			<language>ger</language>
--- 
-2.1.0
-
-From 4a4bd5fd0cac63b73464039896df123efd372d4a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 18 Mar 2015 13:47:07 +0900
-Subject: [PATCH] Change ranks for minor keymaps in simple.xml
-
-TEST=engine/simple.xml
-
-Review URL: https://codereview.appspot.com/217900043
----
- engine/simple.xml.in | 50 +++++++++++++++++++++++++-------------------------
- 1 file changed, 25 insertions(+), 25 deletions(-)
-
-diff --git a/engine/simple.xml.in b/engine/simple.xml.in
-index 93de14a..5f04f8b 100644
---- a/engine/simple.xml.in
-+++ b/engine/simple.xml.in
-@@ -30,7 +30,7 @@
- 			<longname>English (US, international with dead keys)</longname>
- 			<description>English (US, international with dead keys)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:us:colemak:eng</name>
-@@ -42,7 +42,7 @@
- 			<longname>English (Colemak)</longname>
- 			<description>English (Colemak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:us:dvorak:eng</name>
-@@ -54,7 +54,7 @@
- 			<longname>English (Dvorak)</longname>
- 			<description>English (Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:us:altgr-intl:eng</name>
-@@ -66,7 +66,7 @@
- 			<longname>English (international AltGr dead keys)</longname>
- 			<description>English (international AltGr dead keys)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:ara::ara</name>
-@@ -88,7 +88,7 @@
- 			<longname>Belgian</longname>
- 			<description>Belgian</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:be::nld</name>
-@@ -110,7 +110,7 @@
- 			<longname>Belgian</longname>
- 			<description>Belgian</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:br::por</name>
-@@ -133,7 +133,7 @@
- 			<longname>Portuguese (Brazil, Dvorak)</longname>
- 			<description>Portuguese (Brazil, Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:bg::bul</name>
-@@ -167,7 +167,7 @@
- 			<longname>French (Canada)</longname>
- 			<description>French (Canada)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:ca:eng:eng</name>
-@@ -179,7 +179,7 @@
- 			<longname>English (Canada)</longname>
- 			<description>English (Canada)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:hr::scr</name>
-@@ -269,7 +269,7 @@
-                         <longname>French (alternative)</longname>
-                         <description>French (alternative)</description>
-                         <icon>ibus-keyboard</icon>
--                        <rank>99</rank>
-+                        <rank>1</rank>
-                 </engine>
-                 <engine>
-                         <name>xkb:fr:bepo:fra</name>
-@@ -281,7 +281,7 @@
-                         <longname>French (Bepo, ergonomic, Dvorak way)</longname>
-                         <description>French (Bepo, ergonomic, Dvorak way)</description>
-                         <icon>ibus-keyboard</icon>
--                        <rank>99</rank>
-+                        <rank>1</rank>
-                 </engine>
-                 <engine>
-                         <name>xkb:fr:dvorak:fra</name>
-@@ -316,7 +316,7 @@
- 			<longname>German (Dvorak)</longname>
- 			<description>German (Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:de:neo:ger</name>
-@@ -328,7 +328,7 @@
- 			<longname>German (Neo 2)</longname>
- 			<description>German (Neo 2)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
-                 <engine>
-                         <name>xkb:de:nodeadkeys:ger</name>
-@@ -340,7 +340,7 @@
-                         <longname>German (eliminate dead keys)</longname>
-                         <description>German (eliminate dead keys)</description>
-                         <icon>ibus-keyboard</icon>
--                        <rank>99</rank>
-+                        <rank>1</rank>
-                 </engine>
- 		<engine>
- 			<name>xkb:gr::gre</name>
-@@ -395,7 +395,7 @@
- 			<longname>Japanese</longname>
- 			<description>Japanese</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:latam::spa</name>
-@@ -406,7 +406,7 @@
- 			<longname>Spanish (Latin American)</longname>
- 			<description>Spanish (Latin American)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:lt::lit</name>
-@@ -452,7 +452,7 @@
- 			<longname>Norwegian (Dvorak)</longname>
- 			<description>Norwegian (Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:pl::pol</name>
-@@ -475,7 +475,7 @@
- 			<longname>Polish (Dvorak)</longname>
- 			<description>Polish (Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
-                 <engine>
-                         <name>xkb:pl:qwertz:pol</name>
-@@ -532,7 +532,7 @@
- 			<longname>Russian (phonetic)</longname>
- 			<description>Russian (phonetic)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:rs::srp</name>
-@@ -623,7 +623,7 @@
- 			<longname>Swedish (Dvorak)</longname>
- 			<description>Swedish (Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
-                 <engine>
-                         <name>xkb:se:svdvorak:swe</name>
-@@ -635,7 +635,7 @@
-                         <longname>Swedish (Svdvorak)</longname>
-                         <description>Swedish (Svdvorak)</description>
-                         <icon>ibus-keyboard</icon>
--                        <rank>99</rank>
-+                        <rank>1</rank>
-                 </engine>
- 		<engine>
- 			<name>xkb:ch::ger</name>
-@@ -646,7 +646,7 @@
- 			<longname>German (Switzerland)</longname>
- 			<description>German (Switzerland)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:ch:fr:fra</name>
-@@ -658,7 +658,7 @@
- 			<longname>French (Switzerland)</longname>
- 			<description>French (Switzerland)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:tr::tur</name>
-@@ -692,7 +692,7 @@
- 			<longname>English (UK, extended WinKeys)</longname>
- 			<description>English (UK, extended WinKeys)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 		<engine>
- 			<name>xkb:gb:dvorak:eng</name>
-@@ -704,7 +704,7 @@
- 			<longname>English (UK, Dvorak)</longname>
- 			<description>English (UK, Dvorak)</description>
-                         <icon>ibus-keyboard</icon>
--			<rank>99</rank>
-+			<rank>1</rank>
- 		</engine>
- 	</engines>
- </component>
--- 
-2.1.0
-
-From 8b187598215e3af0481e0f9415fe6a21db682e6b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 25 Mar 2015 13:55:50 +0900
-Subject: [PATCH] I18N for engine longnames on ibus-setup
-
-New API ibus_get_untranslated_language_name().
-Call bindtextdomain() for each textdomains.
-
-TEST=setup
-
-Review URL: https://codereview.appspot.com/218760043
----
- setup/enginedialog.py   | 41 +++++++++++++++++++----------------------
- setup/enginetreeview.py | 16 +++++++++++-----
- setup/main.py           | 10 ++++++----
- src/ibusutil.c          | 47 ++++++++++++++++++++++++++++-------------------
- src/ibusutil.h          | 16 ++++++++++++----
- ui/gtk2/i18n.py         | 38 +++++++++++++++++++++++++++++---------
- ui/gtk2/main.py         |  8 ++++----
- 7 files changed, 109 insertions(+), 67 deletions(-)
-
-diff --git a/setup/enginedialog.py b/setup/enginedialog.py
-index 2b179ad..2c472de 100644
---- a/setup/enginedialog.py
-+++ b/setup/enginedialog.py
-@@ -3,9 +3,9 @@
- #
- # ibus - The Input Bus
- #
--# Copyright (c) 2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2014 Takao Fujiwara <takao.fujiwara1@gmail.com>
--# Copyright (c) 2013-2014 Red Hat, Inc.
-+# Copyright (c) 2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright (c) 2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2013-2015 Red Hat, Inc.
- #
- # This program is free software; you can redistribute it and/or
- # modify it under the terms of the GNU General Public License as
-@@ -29,6 +29,7 @@ from gi.repository import IBus
- 
- import functools
- import gettext
-+import i18n
- import locale
- 
- from icon import load_icon
-@@ -227,10 +228,13 @@ class EngineDialog(Gtk.Dialog):
- 
- 
-     def __engine_row_new(self, engine):
--        row = self.__list_box_row_new(engine.get_longname())
--        row.set_tooltip_text(engine.get_description())
-+        longname = i18n.gettext_engine_longname(engine)
-+        description = i18n.gettext_engine_description(engine)
-+        row = self.__list_box_row_new(longname)
-+        row.untrans = engine.get_longname()
-+        row.set_tooltip_text(description)
-         row.engine = engine
--        widget = self.__padded_label_new(engine.get_longname(),
-+        widget = self.__padded_label_new(longname,
-                                          engine.get_icon(),
-                                          Gtk.Align.START,
-                                          ROW_TRAVEL_DIRECTION_NONE)
-@@ -257,7 +261,9 @@ class EngineDialog(Gtk.Dialog):
- 
-         def cmp_engine(a, b):
-             if a.get_rank() == b.get_rank():
--                return locale.strcoll(a.get_longname(), b.get_longname())
-+                a_longname = i18n.gettext_engine_longname(a)
-+                b_longname = i18n.gettext_engine_longname(b)
-+                return locale.strcoll(a_longname, b_longname)
-             return int(b.get_rank() - a.get_rank())
- 
-         self.__engines_for_lang[lang].sort(
-@@ -294,6 +300,7 @@ class EngineDialog(Gtk.Dialog):
-         self.__list.add(row)
-         self.__add_engine_rows_for_lang(row)
-         self.__list.show_all()
-+        self.__adjustment.set_value(self.__adjustment.get_lower())
- 
- 
-     def __do_filter(self):
-@@ -321,24 +328,14 @@ class EngineDialog(Gtk.Dialog):
-                 l = ''
-             if l not in self.__engines_for_lang:
-                 self.__engines_for_lang[l] = []
-+            i18n.init_textdomain(e.get_textdomain())
-             self.__engines_for_lang[l].append(e)
- 
-             # Retrieve Untranslated language names.
--            backup_locale = locale.setlocale(locale.LC_ALL, None)
--            def __set_untrans_with_locale(en_locale):
--                locale.setlocale(locale.LC_ALL, en_locale)
--                untrans = IBus.get_language_name(e.get_language())
--                if untrans == None:
--                    untrans = ''
--                self.__untrans_for_lang[l] = untrans
--            try:
--                __set_untrans_with_locale('en_US.UTF-8')
--            except locale.Error:
--                try:
--                    __set_untrans_with_locale('C')
--                except locale.Error:
--                    pass
--            locale.setlocale(locale.LC_ALL, backup_locale)
-+            untrans = IBus.get_untranslated_language_name(e.get_language())
-+            if untrans == None:
-+                untrans = ''
-+            self.__untrans_for_lang[l] = untrans
- 
-         keys = list(self.__engines_for_lang.keys())
-         keys.sort(key=functools.cmp_to_key(locale.strcoll))
-diff --git a/setup/enginetreeview.py b/setup/enginetreeview.py
-index 75ff04b..4de4a51 100644
---- a/setup/enginetreeview.py
-+++ b/setup/enginetreeview.py
-@@ -2,8 +2,8 @@
- #
- # ibus - The Input Bus
- #
--# Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2014 Red Hat, Inc.
-+# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright (c) 2007-2015 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-@@ -26,6 +26,8 @@ from gi.repository import Gtk
- from gi.repository import IBus
- from gi.repository import Pango
- 
-+import i18n
-+
- from icon import load_icon
- from i18n import _, N_
- 
-@@ -106,8 +108,10 @@ class EngineTreeView(Gtk.TreeView):
-         engine_b = model[b][0]
-         language_a = IBus.get_language_name(engine_a.get_language())
-         language_b = IBus.get_language_name(engine_b.get_language())
--        label_a = "%s - %s" % (language_a, engine_a.get_longname())
--        label_b = "%s - %s" % (language_b, engine_b.get_longname())
-+        longname_a = i18n.gettext_engine_longname(engine_a)
-+        longname_b = i18n.gettext_engine_longname(engine_b)
-+        label_a = "%s - %s" % (language_a, longname_a)
-+        label_b = "%s - %s" % (language_b, longname_b)
-         # http://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons
-         return (label_a > label_b) - (label_a < label_b)
- 
-@@ -149,8 +153,9 @@ class EngineTreeView(Gtk.TreeView):
- 
-         renderer.set_property("sensitive", True)
-         language = IBus.get_language_name(engine.get_language())
-+        longname = i18n.gettext_engine_longname(engine)
-         renderer.set_property("text",
--                "%s - %s" % (language, engine.get_longname()))
-+                "%s - %s" % (language, longname))
-         renderer.set_property("weight", Pango.Weight.NORMAL)
- 
-     def __layout_cell_data_cb(self, celllayout, renderer, model, it, data):
-@@ -196,6 +201,7 @@ class EngineTreeView(Gtk.TreeView):
-             if e in self.__engines:
-                 continue
-             it = self.__model.append(None)
-+            i18n.init_textdomain(e.get_textdomain())
-             self.__model.set(it, 0, e)
-             self.__engines.append(e)
-         self.__emit_changed()
-diff --git a/setup/main.py b/setup/main.py
-index c1d5c55..22b6dc7 100644
---- a/setup/main.py
-+++ b/setup/main.py
-@@ -2,8 +2,8 @@
- #
- # ibus - The Input Bus
- #
--# Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2014 Red Hat, Inc.
-+# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright (c) 2007-2015 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-@@ -39,13 +39,14 @@ from gi.repository import Gtk
- from gi.repository import IBus
- from os import path
- 
-+import i18n
- import keyboardshortcut
- import locale
- from enginecombobox import EngineComboBox
- from enginedialog import EngineDialog
- from enginetreeview import EngineTreeView
- from engineabout import EngineAbout
--from i18n import DOMAINNAME, _, N_, init as i18n_init
-+from i18n import DOMAINNAME, _, N_
- 
- (
-     COLUMN_NAME,
-@@ -543,6 +544,7 @@ if __name__ == "__main__":
-         print("Using the fallback 'C' locale", file=sys.stderr)
-         locale.setlocale(locale.LC_ALL, 'C')
- 
--    i18n_init()
-+    i18n.init_textdomain(DOMAINNAME)
-+    i18n.init_textdomain('xkeyboard-config')
-     setup = Setup()
-     setup.run()
-diff --git a/src/ibusutil.c b/src/ibusutil.c
-index 3eddc99..b9f3fdd 100644
---- a/src/ibusutil.c
-+++ b/src/ibusutil.c
-@@ -1,9 +1,9 @@
- /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
- /* vim:set et sts=4: */
- /* bus - The Input Bus
-- * Copyright (C) 2008-2011 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2010-2011 Takao Fujiwara <takao.fujiwara1@gmail.com>
-- * Copyright (C) 2008-2011 Red Hat, Inc.
-+ * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-+ * Copyright (C) 2010-2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2015 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -98,6 +98,11 @@ _load_lang()
-     XMLNode *node;
-     struct stat buf;
- 
-+#ifdef ENABLE_NLS
-+    bindtextdomain ("iso_639", GLIB_LOCALE_DIR);
-+    bind_textdomain_codeset ("iso_639", "UTF-8");
-+#endif
-+
-     __languages_dict = g_hash_table_new_full (g_str_hash,
-             g_str_equal, g_free, g_free);
-     filename = g_build_filename (ISOCODES_PREFIX,
-@@ -121,37 +126,41 @@ _load_lang()
- }
- 
- const gchar *
--ibus_get_language_name(const gchar *_locale) {
-+ibus_get_untranslated_language_name (const gchar *_locale)
-+{
-     const gchar *retval;
-     gchar *p = NULL;
-     gchar *lang = NULL;
- 
--    if (__languages_dict == NULL ) {
-+    if (__languages_dict == NULL )
-         _load_lang();
--    }
--    if ((p = strchr (_locale, '_')) !=  NULL) {
-+    if ((p = strchr (_locale, '_')) !=  NULL)
-         p = g_strndup (_locale, p - _locale);
--    } else {
-+    else
-         p = g_strdup (_locale);
--    }
-     lang = g_ascii_strdown (p, -1);
-     g_free (p);
-     retval = (const gchar *) g_hash_table_lookup (__languages_dict, lang);
-     g_free (lang);
--    if (retval != NULL) {
--#ifdef ENABLE_NLS
--        return dgettext("iso_639", retval);
--#else
-+    if (retval != NULL)
-         return retval;
--#endif
--    }
--    else {
-+    else
-+        return "Other";
-+}
-+
-+const gchar *
-+ibus_get_language_name (const gchar *_locale)
-+{
-+    const gchar *retval = ibus_get_untranslated_language_name (_locale);
-+
- #ifdef ENABLE_NLS
--        return dgettext(GETTEXT_PACKAGE, N_("Other"));
-+    if (g_strcmp0 (retval, "Other") == 0)
-+        return dgettext (GETTEXT_PACKAGE, N_("Other"));
-+    else
-+        return dgettext ("iso_639", retval);
- #else
--        return N_("Other");
-+    return retval;
- #endif
--    }
- }
- 
- void
-diff --git a/src/ibusutil.h b/src/ibusutil.h
-index d5d593f..b9b6415 100644
---- a/src/ibusutil.h
-+++ b/src/ibusutil.h
-@@ -1,9 +1,9 @@
- /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
- /* vim:set et sts=4: */
- /* bus - The Input Bus
-- * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2010-2013 Takao Fujiwara <takao.fujiwara1@gmail.com>
-- * Copyright (C) 2008-2013 Red Hat, Inc.
-+ * Copyright (C) 2008-2015 Peng Huang <shawn.p.huang@gmail.com>
-+ * Copyright (C) 2010-2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2015 Red Hat, Inc.
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -37,9 +37,17 @@
-  */
- 
- /**
-+ * ibus_get_untranslated_language_name:
-+ * @_locale: A const locale name.
-+ * @returns: untranslated language name
-+ */
-+const gchar *    ibus_get_untranslated_language_name
-+                                                (const gchar    *_locale);
-+
-+/**
-  * ibus_get_language_name:
-  * @_locale: A const locale name.
-- * @returns: language name
-+ * @returns: translated language name
-  */
- const gchar *    ibus_get_language_name         (const gchar    *_locale);
- 
-diff --git a/setup/i18n.py b/setup/i18n.py
-index 5a73eee..976d1ae 100644
---- a/setup/i18n.py
-+++ b/setup/i18n.py
-@@ -2,8 +2,8 @@
- #
- # ibus - The Input Bus
- #
--# Copyright(c) 2007-2010 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright(c) 2007-2010 Google, Inc.
-+# Copyright(c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright(c) 2007-2015 Google, Inc.
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-@@ -29,15 +29,35 @@ DOMAINNAME = "ibus10"
- _ = lambda a: gettext.dgettext(DOMAINNAME, a)
- N_ = lambda a: a
- 
--def init():
--    localedir = os.getenv("IBUS_LOCALEDIR")
-+LOCALEDIR = os.getenv("IBUS_LOCALEDIR")
-+
-+def init_textdomain(domainname):
-+    if domainname == '':
-+        return
-     # Python's locale module doesn't provide all methods on some
-     # operating systems like FreeBSD
-     try:
--        # for non-standard localedir
--        locale.bindtextdomain(DOMAINNAME, localedir)
--        locale.bind_textdomain_codeset(DOMAINNAME, "UTF-8")
-+        locale.bindtextdomain(domainname, LOCALEDIR)
-+        locale.bind_textdomain_codeset(domainname, 'UTF-8')
-     except AttributeError:
-         pass
--    gettext.bindtextdomain(DOMAINNAME, localedir)
--    gettext.bind_textdomain_codeset(DOMAINNAME, "UTF-8")
-+    gettext.bindtextdomain(domainname, LOCALEDIR)
-+    gettext.bind_textdomain_codeset(domainname, 'UTF-8')
-+
-+def gettext_engine_longname(engine):
-+    name = engine.get_name()
-+    if (name.startswith('xkb:')):
-+        return gettext.dgettext('xkeyboard-config', engine.get_longname())
-+    textdomain = engine.get_textdomain()
-+    if textdomain == '':
-+        return engine.get_longname()
-+    return gettext.dgettext(textdomain, engine.get_longname())
-+
-+def gettext_engine_description(engine):
-+    name = engine.get_name()
-+    if (name.startswith('xkb:')):
-+        return gettext.dgettext('xkeyboard-config', engine.get_description())
-+    textdomain = engine.get_textdomain()
-+    if textdomain == '':
-+        return engine.get_description()
-+    return gettext.dgettext(textdomain, engine.get_description())
--- 
-2.1.0
-
-From 02156038217e41ebd90e3d1ed4bb88b912a15a06 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 30 Mar 2015 11:07:42 +0900
-Subject: [PATCH] I18N for IBus engine about dialog in ibus-setup
-
-TEST=setup
-
-Review URL: https://codereview.appspot.com/219400043
----
- setup/engineabout.py | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/setup/engineabout.py b/setup/engineabout.py
-index 09e9b5c..4e6a5ef 100644
---- a/setup/engineabout.py
-+++ b/setup/engineabout.py
-@@ -2,8 +2,8 @@
- #
- # ibus - The Input Bus
- #
--# Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2014 Red Hat, Inc.
-+# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright (c) 2007-2015 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-@@ -26,6 +26,8 @@ from gi.repository import GdkPixbuf
- from gi.repository import Gtk
- from gi.repository import Pango
- 
-+import i18n
-+
- from i18n import _, N_
- 
- class EngineAbout(Gtk.Dialog):
-@@ -64,7 +66,7 @@ class EngineAbout(Gtk.Dialog):
-         text_buffer.insert_pixbuf(iter,
-                 self.__load_icon(self.__engine_desc.get_icon()))
-         text_buffer.insert_with_tags_by_name(iter,
--                "\n%s\n" % self.__engine_desc.get_longname(),
-+                "\n%s\n" % i18n.gettext_engine_longname(self.__engine_desc),
-                 "heading", "left_margin_16")
-         text_buffer.insert_with_tags_by_name(iter,
-                 _("Language: %s\n") % IBus.get_language_name(self.__engine_desc.get_language()),
-@@ -78,7 +80,7 @@ class EngineAbout(Gtk.Dialog):
-         text_buffer.insert_with_tags_by_name(iter,
-                 _("Description:\n"), "small", "bold", "left_margin_16")
-         text_buffer.insert_with_tags_by_name(iter,
--                self.__engine_desc.get_description(),
-+                i18n.gettext_engine_description(self.__engine_desc),
-                 "wrap_text", "left_margin_32")
- 
- 
--- 
-2.1.0
-
-From eb4ffa1d9aeccf31318afd1d24cbcbbefa79337b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 31 Mar 2015 11:56:05 +0900
-Subject: [PATCH] Put PropertyPanel at bottom right when desktop is KDE
-
-Monitor _NET_WORKAREA atom because PropertyPanel runs
-before KDE5 panel runs.
-Allocate button sizes on PropertyPanel correctly for KDE5.
-
-TEST=ui/gtk3/ibus-ui-gtk3
-
-Review URL: https://codereview.appspot.com/220500043
----
- ui/gtk3/propertypanel.vala | 168 ++++++++++++++++++++++++++++++++-------------
- 1 file changed, 121 insertions(+), 47 deletions(-)
-
-diff --git a/ui/gtk3/propertypanel.vala b/ui/gtk3/propertypanel.vala
-index 6c023bf..12e85b0 100644
---- a/ui/gtk3/propertypanel.vala
-+++ b/ui/gtk3/propertypanel.vala
-@@ -2,9 +2,9 @@
-  *
-  * ibus - The Input Bus
-  *
-- * Copyright(c) 2013-2014 Red Hat, Inc.
-- * Copyright(c) 2013-2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright(c) 2013-2014 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright(c) 2013-2015 Red Hat, Inc.
-+ * Copyright(c) 2013-2015 Peng Huang <shawn.p.huang@gmail.com>
-+ * Copyright(c) 2013-2015 Takao Fujiwara <takao.fujiwara1@gmail.com>
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -29,6 +29,8 @@ enum PanelShow {
- }
- 
- public class PropertyPanel : Gtk.Box {
-+    private unowned Gdk.Window m_root_window;
-+    private unowned X.Display m_xdisplay;
-     private Gtk.Window m_toplevel;
-     private IBus.PropList m_props;
-     private IPropToolItem[] m_items;
-@@ -38,6 +40,7 @@ public class PropertyPanel : Gtk.Box {
-     private uint m_auto_hide_timeout = 10000;
-     private uint m_auto_hide_timeout_id = 0;
-     private bool m_follow_input_cursor_when_always_shown = false;
-+    private const uint MONITOR_NET_WORKAREA_TIMEOUT = 60000;
- 
-     public PropertyPanel() {
-         /* Chain up base class constructor */
-@@ -46,6 +49,14 @@ public class PropertyPanel : Gtk.Box {
- 
-         set_visible(true);
- 
-+        m_root_window = Gdk.get_default_root_window();
-+        unowned Gdk.Display display = m_root_window.get_display();
-+#if VALA_0_24
-+        m_xdisplay = (display as Gdk.X11.Display).get_xdisplay();
-+#else
-+        m_xdisplay = Gdk.X11Display.get_xdisplay(display);
-+#endif
-+
-         m_toplevel = new Gtk.Window(Gtk.WindowType.POPUP);
-         m_toplevel.add_events(Gdk.EventMask.BUTTON_PRESS_MASK);
- 
-@@ -64,6 +75,10 @@ public class PropertyPanel : Gtk.Box {
-                 m_cursor_location.y = 0;
-             }
-         });
-+
-+        // PropertyPanel runs before KDE5 panel runs and
-+        // monitor the desktop size.
-+        monitor_net_workarea_atom();
-     }
- 
-     public void set_properties(IBus.PropList props) {
-@@ -294,9 +309,8 @@ public class PropertyPanel : Gtk.Box {
-             cursor_right_bottom.y + allocation.height
-         };
- 
--        Gdk.Window root = Gdk.get_default_root_window();
--        int root_width = root.get_width();
--        int root_height = root.get_height();
-+        int root_width = m_root_window.get_width();
-+        int root_height = m_root_window.get_height();
- 
-         int x, y;
-         if (window_right_bottom.x > root_width)
-@@ -312,73 +326,125 @@ public class PropertyPanel : Gtk.Box {
-         move(x, y);
-     }
- 
-+    private bool is_bottom_panel() {
-+        string desktop = Environment.get_variable("XDG_CURRENT_DESKTOP");
-+        // LXDE has not implemented DesktopNames yet.
-+        if (desktop == null)
-+            desktop = Environment.get_variable("XDG_SESSION_DESKTOP");
-+        switch (desktop) {
-+            case "KDE":         return true;
-+            case "LXDE":        return true;
-+            default:            return false;
-+        }
-+    }
-+
-     private void set_default_location() {
-         Gtk.Allocation allocation;
-         m_toplevel.get_allocation(out allocation);
- 
--        unowned Gdk.Window root = Gdk.get_default_root_window();
--        int root_width = root.get_width();
-+        int root_width = m_root_window.get_width();
-+        int root_height = m_root_window.get_height();
-         int root_x = 0;
-         int root_y = 0;
-         int ws_num = 0;
- 
--        unowned Gdk.Display display = root.get_display();
- #if VALA_0_24
--        unowned X.Display xdisplay =
--                (display as Gdk.X11.Display).get_xdisplay();
--        X.Window xwindow = (root as Gdk.X11.Window).get_xid();
-+        X.Window xwindow = (m_root_window as Gdk.X11.Window).get_xid();
- #else
--        unowned X.Display xdisplay = Gdk.X11Display.get_xdisplay(display);
--        X.Window xwindow = Gdk.X11Window.get_xid(root);
-+        X.Window xwindow = Gdk.X11Window.get_xid(m_root_window);
- #endif
-         X.Atom _net_current_desktop =
--                xdisplay.intern_atom("_NET_CURRENT_DESKTOP", false);
-+                m_xdisplay.intern_atom("_NET_CURRENT_DESKTOP", false);
-         X.Atom type = X.None;
-         int format;
-         ulong nitems = 0;
-         ulong bytes_after;
-         void *prop;
--        xdisplay.get_window_property(xwindow,
--                                     _net_current_desktop,
--                                     0, 32, false, X.XA_CARDINAL,
--                                     out type, out format,
--                                     out nitems, out bytes_after,
--                                     out prop);
-+        m_xdisplay.get_window_property(xwindow,
-+                                      _net_current_desktop,
-+                                      0, 32, false, X.XA_CARDINAL,
-+                                      out type, out format,
-+                                      out nitems, out bytes_after,
-+                                      out prop);
- 
-         if (type != X.None && nitems >= 1)
-             ws_num = (int) ((ulong *)prop)[0];
- 
-         X.Atom _net_workarea =
--                xdisplay.intern_atom("_NET_WORKAREA", false);
-+                m_xdisplay.intern_atom("_NET_WORKAREA", false);
-         type = X.None;
-         nitems = 0;
- 
--        xdisplay.get_window_property(xwindow,
--                                     _net_workarea,
--                                     0, 32, false, X.XA_CARDINAL,
--                                     out type, out format,
--                                     out nitems, out bytes_after,
--                                     out prop);
--
--        if (type != X.None && nitems >= 2) {
--            root_x = (int) ((ulong *)prop)[ws_num * 4];
--            root_y = (int) ((ulong *)prop)[ws_num * 4 + 1];
-+        m_xdisplay.get_window_property(xwindow,
-+                                      _net_workarea,
-+                                      0, 32, false, X.XA_CARDINAL,
-+                                      out type, out format,
-+                                      out nitems, out bytes_after,
-+                                      out prop);
-+
-+        if (type != X.None) {
-+            if (nitems >= 2) {
-+                root_x = (int) ((ulong *)prop)[ws_num * 4];
-+                root_y = (int) ((ulong *)prop)[ws_num * 4 + 1];
-+            }
-+            if (nitems >= 4) {
-+                root_width = (int) ((ulong *)prop)[ws_num * 4 + 2];
-+                root_height = (int) ((ulong *)prop)[ws_num * 4 + 3];
-+            }
-         }
- 
-         int x, y;
--        /* Translators: If your locale is RTL, the msgstr is "default:RTL".
--         * Otherwise the msgstr is "default:LTR". */
--        if (_("default:LTR") != "default:RTL") {
--            x = root_width - allocation.width;
--            y = root_y;
-+        if (is_bottom_panel()) {
-+            /* Translators: If your locale is RTL, the msgstr is "default:RTL".
-+             * Otherwise the msgstr is "default:LTR". */
-+            if (_("default:LTR") != "default:RTL") {
-+                x = root_width - allocation.width;
-+                y = root_height - allocation.height;
-+            } else {
-+                x = root_x;
-+                y = root_height - allocation.height;
-+            }
-         } else {
--            x = root_x;
--            y = root_y;
-+            if (_("default:LTR") != "default:RTL") {
-+                x = root_width - allocation.width;
-+                y = root_y;
-+            } else {
-+                x = root_x;
-+                y = root_y;
-+            }
-         }
- 
-         move(x, y);
-     }
- 
-+    private Gdk.FilterReturn root_window_filter(Gdk.XEvent gdkxevent,
-+                                                Gdk.Event  event) {
-+        X.Event *xevent = (X.Event*) gdkxevent;
-+        if (xevent.type == X.EventType.PropertyNotify) {
-+            string aname = m_xdisplay.get_atom_name(xevent.xproperty.atom);
-+            if (aname == "_NET_WORKAREA" && xevent.xproperty.state == 0) {
-+                set_default_location();
-+                return Gdk.FilterReturn.CONTINUE;
-+            }
-+        }
-+        return Gdk.FilterReturn.CONTINUE;
-+    }
-+
-+    private void monitor_net_workarea_atom() {
-+        Gdk.EventMask events = m_root_window.get_events();
-+        if ((events & Gdk.EventMask.PROPERTY_CHANGE_MASK) == 0)
-+            m_root_window.set_events (events |
-+                                      Gdk.EventMask.PROPERTY_CHANGE_MASK);
-+
-+        m_root_window.add_filter(root_window_filter);
-+
-+        GLib.Timeout.add(MONITOR_NET_WORKAREA_TIMEOUT, () => {
-+            m_root_window.remove_filter(root_window_filter);
-+            return false;
-+        },
-+        GLib.Priority.DEFAULT_IDLE);
-+    }
-+
-     private void show_with_auto_hide_timer() {
-         if (m_items.length == 0) {
-             /* Do not blink the panel with focus-in in case the panel
-@@ -568,10 +634,12 @@ public class PropToolButton : Gtk.ToolButton, IPropToolItem {
-     private IBus.Property m_prop = null;
- 
-     public PropToolButton(IBus.Property prop) {
--        string label = prop.get_symbol().get_text();
--
--        /* Chain up base class constructor */
--        GLib.Object(label: label);
-+        /* Chain up base class constructor
-+         *
-+         * If the constructor sets "label" property, "halign" property
-+         * does not work in KDE5 so use sync() for the label.
-+         */
-+        GLib.Object(halign: Gtk.Align.START);
- 
-         m_prop = prop;
- 
-@@ -627,8 +695,11 @@ public class PropToggleToolButton : Gtk.ToggleToolButton, IPropToolItem {
-     private IBus.Property m_prop = null;
- 
-     public PropToggleToolButton(IBus.Property prop) {
--        /* Chain up base class constructor */
--        GLib.Object();
-+        /* Chain up base class constructor
-+         *
-+         * Need to set halign for KDE5
-+         */
-+        GLib.Object(halign: Gtk.Align.START);
- 
-         m_prop = prop;
- 
-@@ -706,8 +777,11 @@ public class PropMenuToolButton : PropToggleToolButton, IPropToolItem {
-     private PropMenu m_menu = null;
- 
-     public PropMenuToolButton(IBus.Property prop) {
--        /* Chain up base class constructor */
--        GLib.Object();
-+        /* Chain up base class constructor
-+         *
-+         * Need to set halign for KDE5
-+         */
-+        GLib.Object(halign: Gtk.Align.START);
- 
-         m_menu = new PropMenu(prop);
-         m_menu.deactivate.connect((m) =>
--- 
-2.1.0
-
-From 020bd45eda9e3a3a2836122fbe0437cafb71f163 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Wed, 1 Apr 2015 11:42:34 +0900
-Subject: [PATCH] ibus-ui-gtk3: Draw gray color on PropertyPanel handle
-
-Users can move the position of IBus PropertyPanel with the mouse
-but currently it is too hard to find the handle on the panel.
-Now the handle is drawn by the gray color for the visibility.
-
-TEST=ui/gtk3/ibus-ui-gtk3
-
-Review URL: https://codereview.appspot.com/219520043
----
- ui/gtk3/handle.vala | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/ui/gtk3/handle.vala b/ui/gtk3/handle.vala
-index b9c3bbc..1edb537 100644
---- a/ui/gtk3/handle.vala
-+++ b/ui/gtk3/handle.vala
-@@ -2,7 +2,7 @@
-  *
-  * ibus - The Input Bus
-  *
-- * Copyright(c) 2011 Peng Huang <shawn.p.huang@gmail.com>
-+ * Copyright(c) 2011-2015 Peng Huang <shawn.p.huang@gmail.com>
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -36,6 +36,19 @@ class Handle : Gtk.EventBox {
-                              Gdk.EventMask.BUTTON1_MOTION_MASK;
-         set_events(mask);
-         m_move_begined = false;
-+
-+        // Currently it is too hard to notice this Handle on PropertyPanel
-+        // so now this widget is drawn by the gray color for the visibility.
-+        Gtk.CssProvider css_provider = new Gtk.CssProvider();
-+        try {
-+            css_provider.load_from_data(
-+                    "GtkEventBox { background-color: gray }", -1);
-+        } catch (GLib.Error error) {
-+            warning("Parse error in Handle: %s", error.message);
-+        }
-+        Gtk.StyleContext context = get_style_context();
-+        context.add_provider(css_provider,
-+                             Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
-     }
- 
-     public override void realize() {
--- 
-2.1.0
-
-From cc88075ddae038f90039d58147bb3c9d7eb08364 Mon Sep 17 00:00:00 2001
-From: Hodong Kim <hodong@cogno.org>
-Date: Thu, 2 Apr 2015 11:18:57 +0900
-Subject: [PATCH] Fix compile error in client/x11/Makefile
-
-BUG=https://github.com/ibus/ibus/pull/18
-TEST=client/x11/Makefile
-
-Review URL: https://codereview.appspot.com/217590043
-Patch from Hodong Kim <hodong@cogno.org>.
----
- client/x11/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client/x11/Makefile.am b/client/x11/Makefile.am
-index 9813ceb..ba6fe8a 100644
---- a/client/x11/Makefile.am
-+++ b/client/x11/Makefile.am
-@@ -57,7 +57,7 @@ noinst_HEADERS = \
- 	locales.h \
- 	$(NULL)
- 
--$(IMdkit):
-+$(libIMdkit):
- 	(cd $(top_builddir)/util/IMdkit; make)
- 
- $(libibus):
--- 
-2.1.0
-
-From 35d035bfc48e20eecb3b3b3b14712d73c5fc027b Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 2 Apr 2015 11:26:24 +0900
-Subject: [PATCH] ibus-ui-gtk3: Enable absolute path of engine icon in
- KDE5
-
-plasma-workspace 5.2 supports the icon full path.
-Now the build checks if qtbase-devel is 5.4 or later since
-there is no way to check the version of plasma-workspace.
-
-BUG=https://github.com/ibus/ibus/pull/17
-TEST=ui/gtk3/ibus-ui-gtk3
-
-Review URL: https://codereview.appspot.com/217310044
----
- configure.ac        | 17 +++++++++++++++++
- ui/gtk3/Makefile.am |  8 ++++++--
- ui/gtk3/panel.vala  | 10 ++++++++--
- 3 files changed, 31 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 39c9cad..8eb6168 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -270,9 +270,25 @@ else
-     enable_wayland="no (disabled, use --enable-wayland to enable)"
- fi
- 
-+enable_appindicator_engine_icon="no"
- if test x"$enable_appindicator" = x"yes"; then
-     enable_appindicator="yes (enabled, use --disable-appindicator to disable)"
-+
-+    # Need qt5-qtbase-devel package
-+    # There is no way to check the version of KStatusNotifierItem and
-+    # check the version of qtbase here.
-+    AC_MSG_CHECKING([for KDE5 appindicator engine icon])
-+    PKG_CHECK_EXISTS([Qt5Gui >= 5.4],
-+        enable_appindicator_engine_icon="yes"
-+    )
-+    AC_MSG_RESULT([$enable_appindicator_engine_icon])
-+
-+fi
-+if test x"$enable_appindicator_engine_icon" != x"yes" ; then
-+    enable_appindicator_engine_icon="no (disabled, need qtbase-devel 5.4 or later)"
- fi
-+AM_CONDITIONAL([ENABLE_APPINDICATOR_ENGINE_ICON],
-+               [test x"$enable_appindicator_engine_icon" = x"yes"])
- 
- # GObject introspection
- GOBJECT_INTROSPECTION_CHECK([0.6.8])
-@@ -639,6 +655,7 @@ Build options:
-   Build XIM agent server        $enable_xim
-   Build wayland support         $enable_wayland
-   Build appindicator support    $enable_appindicator
-+  Build appindicator engine icon $enable_appindicator_engine_icon
-   Build python library          $enable_python_library
-   Build gconf modules           $enable_gconf
-   Build memconf modules         $enable_memconf
-diff --git a/ui/gtk3/Makefile.am b/ui/gtk3/Makefile.am
-index 40cce11..2de227d 100644
---- a/ui/gtk3/Makefile.am
-+++ b/ui/gtk3/Makefile.am
-@@ -98,6 +98,10 @@ if ENABLE_APPINDICATOR
- AM_VALAFLAGS += --define=INDICATOR
- endif
- 
-+if ENABLE_APPINDICATOR_ENGINE_ICON
-+AM_VALAFLAGS += --define=INDICATOR_ENGINE_ICON
-+endif
-+
- libexec_PROGRAMS = ibus-ui-gtk3
- 
- ibus_ui_gtk3_SOURCES = \
-@@ -136,8 +140,8 @@ CLEANFILES = \
- # References:
- # libappindicator/src/notification-item.xml
- # libappindicator/src/notification-watcher.xml
--# knotifications/src/org.kde.StatusNotifierItem.xml
--# knotifications/src/org.kde.StatusNotifierWatcher.xml
-+# kdelibs/kdeui/knotifications/src/org.kde.StatusNotifierItem.xml
-+# kdelibs/kdeui/knotifications/src/org.kde.StatusNotifierWatcher.xml
- EXTRA_DIST = \
- 	gtkpanel.xml.in \
- 	notification-item.xml \
-diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index 1379860..c77bd2f 100644
---- a/ui/gtk3/panel.vala
-+++ b/ui/gtk3/panel.vala
-@@ -1248,9 +1248,15 @@ class Panel : IBus.PanelService {
-                 m_status_icon.set_from_file(icon_name);
-             }
-             else if (m_icon_type == IconType.INDICATOR) {
--                warning("appindicator requires an icon name in a theme " +
--                        "path instead of the full path: %s", icon_name);
-+#if INDICATOR_ENGINE_ICON
-+                m_indicator.set_icon_full(icon_name, "");
-+#else
-+                warning("plasma-workspace 5.2 or later is required to " +
-+                        "show the absolute path icon %s. Currently check " +
-+                        "qtbase 5.4 since there is no way to check " +
-+                        "the version of plasma-workspace.", icon_name);
-                 m_indicator.set_icon_full("ibus-engine", "");
-+#endif
-             }
-         } else {
-             string language = null;
--- 
-2.1.0
-
-From 5d9109b3c56bca60be441ad286688467c67664c8 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 21 Apr 2015 11:26:04 +0900
-Subject: [PATCH] Fix to show keyboard shortcuts in ibus-setup.
-
-BUG=http://code.google.com/p/ibus/issues/detail?id=1771
-TEST=setup
-
-Review URL: https://codereview.appspot.com/233720043
----
- setup/keyboardshortcut.py | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/setup/keyboardshortcut.py b/setup/keyboardshortcut.py
-index 86463cb..39a6d47 100644
---- a/setup/keyboardshortcut.py
-+++ b/setup/keyboardshortcut.py
-@@ -2,8 +2,8 @@
- #
- # ibus - The Input Bus
- #
--# Copyright (c) 2007-2014 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2007-2014 Red Hat, Inc.
-+# Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright (c) 2007-2015 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-@@ -51,13 +51,13 @@ class KeyboardShortcutSelection(Gtk.Box):
-         # shortcuts view
-         self.__shortcut_view = Gtk.TreeView(
-                 model = Gtk.ListStore(GObject.TYPE_STRING))
--        self.__shortcut_view.set_size_request(-1, 100)
-         renderer = Gtk.CellRendererText()
-         column = Gtk.TreeViewColumn(_("Keyboard shortcuts"), renderer, text = 0)
-         self.__shortcut_view.append_column(column)
-         self.__shortcut_view.connect("cursor-changed", self.__shortcut_view_cursor_changed_cb)
-         scrolledwindow = Gtk.ScrolledWindow()
-         scrolledwindow.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
-+        scrolledwindow.set_min_content_height(100)
-         scrolledwindow.add(self.__shortcut_view)
-         scrolledwindow.set_shadow_type(Gtk.ShadowType.IN)
-         self.pack_start(scrolledwindow, True, True, 4)
-@@ -265,7 +265,9 @@ class KeyboardShortcutSelection(Gtk.Box):
-                               GObject.TYPE_UINT,
-                               GObject.TYPE_UINT)
-         accel_view = Gtk.TreeView(model = model)
-+        accel_view.set_headers_visible(False)
-         sw.add(accel_view)
-+        sw.set_min_content_height(30)
-         column = Gtk.TreeViewColumn()
-         renderer = Gtk.CellRendererAccel(accel_mode=Gtk.CellRendererAccelMode.OTHER,
-                                          editable=True)
--- 
-2.3.5
-
---- ibus-1.5.10/client/gtk2/ibusimcontext.c.orig	2015-04-24 13:49:05.148023921 +0900
-+++ ibus-1.5.10/client/gtk2/ibusimcontext.c	2015-04-24 13:52:58.871389692 +0900
-@@ -579,7 +579,11 @@ ibus_im_context_class_init (IBusIMContex
- 
-     /* init bus object */
-     if (_bus == NULL) {
--        ibus_set_display (gdk_display_get_name (gdk_display_get_default ()));
-+        const gchar *dname = gdk_display_get_name (gdk_display_get_default ());
-+        /* ibus-daemon uses DISPLAY variable. */
-+        if (g_strcmp0 (dname, "Wayland") == 0)
-+            dname = g_getenv ("DISPLAY");
-+        ibus_set_display (dname);
-         _bus = ibus_bus_new_async ();
- 
-         /* init the global fake context */
-From 465e16e8691997fe352d3882a1f02c6455759867 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 22 May 2015 12:06:52 +0900
-Subject: [PATCH] ibus-ui-gtk3: radio and check menu items work with GTK 3.16
-
-GTK 3.16 has cleared the radio buttons' state in
-gtk_radio_menu_item_set_group():
-https://git.gnome.org/browse/gtk+/commit/?id=955aed9227
----
- ui/gtk3/property.vala | 45 +++++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 41 insertions(+), 4 deletions(-)
-
-diff --git a/ui/gtk3/property.vala b/ui/gtk3/property.vala
-index aef880f..419f2bf 100644
---- a/ui/gtk3/property.vala
-+++ b/ui/gtk3/property.vala
-@@ -2,7 +2,7 @@
-  *
-  * ibus - The Input Bus
-  *
-- * Copyright(c) 2011-2014 Peng Huang <shawn.p.huang@gmail.com>
-+ * Copyright(c) 2011-2015 Peng Huang <shawn.p.huang@gmail.com>
-  *
-  * This library is free software; you can redistribute it and/or
-  * modify it under the terms of the GNU Lesser General Public
-@@ -133,7 +133,7 @@ public class PropImageMenuItem : Gtk.MenuItem, IPropItem {
-     }
- }
- 
--public class PropCheckMenuItem : Gtk.RadioMenuItem, IPropItem {
-+public class PropCheckMenuItem : Gtk.CheckMenuItem, IPropItem {
-     private IBus.Property m_property;
-     public PropCheckMenuItem(IBus.Property property) {
-         assert(property != null);
-@@ -173,13 +173,50 @@ public class PropCheckMenuItem : Gtk.RadioMenuItem, IPropItem {
-     }
- }
- 
--public class PropRadioMenuItem : PropCheckMenuItem {
-+public class PropRadioMenuItem : Gtk.RadioMenuItem, IPropItem {
-+    private IBus.Property m_property;
-     public PropRadioMenuItem(IBus.Property property,
-         PropRadioMenuItem ?group_source) {
--        base(property);
-+        assert(property != null);
-+
-+        m_property = property;
-+        set_no_show_all(true);
- 
-         if (group_source != null)
-             set_group(group_source.get_group());
-+
-+        /* Call sync() after call set_group() because
-+         * gtk_radio_menu_item_set_group() sets active = 0. */
-+        sync();
-+    }
-+
-+    public void update_property(IBus.Property property) {
-+        if (m_property.get_key() != property.get_key())
-+            return;
-+
-+        m_property.set_label(property.get_label());
-+        m_property.set_icon(property.get_icon());
-+        m_property.set_visible(property.get_visible());
-+        m_property.set_sensitive(property.get_sensitive());
-+        m_property.set_tooltip(property.get_tooltip());
-+        m_property.set_state(property.get_state());
-+        sync();
-+    }
-+
-+    private void sync() {
-+        set_label(m_property.get_label().get_text());
-+        set_visible(m_property.get_visible());
-+        set_sensitive(m_property.get_sensitive());
-+        set_active(m_property.get_state() == IBus.PropState.CHECKED);
-+    }
-+
-+    public override void toggled() {
-+        IBus.PropState new_state =
-+            get_active() ? IBus.PropState.CHECKED : IBus.PropState.UNCHECKED;
-+        if (m_property.get_state() != new_state) {
-+            m_property.set_state(new_state);
-+            property_activate(m_property.get_key(), m_property.get_state());
-+        }
-     }
- }
- 
--- 
-2.3.5
 

diff --git a/ibus.spec b/ibus.spec
index 5ebb123..c71fd58 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -3,12 +3,6 @@
 
 %global with_pkg_config %(pkg-config --version >/dev/null 2>&1 && echo -n "1" || echo -n "0")
 
-%if (0%{?fedora} > 20 || 0%{?rhel} > 7)
-%global with_python2_override_pkg 1
-%else
-%global with_python2_override_pkg 0
-%endif
-
 %if (0%{?fedora} > 21 || 0%{?rhel} > 7)
 %global with_kde5 1
 %else
@@ -33,8 +27,8 @@
 %global dbus_python_version 0.83.0
 
 Name:           ibus
-Version:        1.5.10
-Release:        6%{?dist}
+Version:        1.5.11
+Release:        1%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPLv2+
 Group:          System Environment/Libraries
@@ -42,13 +36,13 @@ URL:            http://code.google.com/p/ibus/
 Source0:        https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
 Source1:        %{name}-xinput
 Source2:        %{name}.conf.5
-Source3:        https://fujiwara.fedorapeople.org/ibus/po/%{name}-po-1.5.10-20150402.tar.gz
 # Upstreamed patches.
 # Patch0:         %%{name}-HEAD.patch
-Patch0:         %%{name}-HEAD.patch
 
 BuildRequires:  gettext-devel
 BuildRequires:  libtool
+# for gtkdoc-fixxref
+BuildRequires:  glib2-doc
 BuildRequires:  gtk2-devel
 BuildRequires:  gtk3-devel
 BuildRequires:  dbus-glib-devel
@@ -83,10 +77,6 @@ Requires:       iso-codes
 Requires:       dbus-x11
 Requires:       dconf
 Requires:       librsvg2
-%if ! %with_python2_override_pkg
-# Owner of %%python2_sitearch/gi/overrides
-Requires:       pygobject3-base
-%endif
 # Owner of %%python3_sitearch/gi/overrides
 Requires:       python3-gobject
 # https://bugzilla.redhat.com/show_bug.cgi?id=1161871
@@ -174,7 +164,6 @@ This is a PyGTK2 library for IBus. Now major IBus engines use PyGObject3
 and this package will be deprecated.
 %endif
 
-%if %with_python2_override_pkg
 %package py2override
 Summary:        IBus Python2 override library
 Group:          System Environment/Libraries
@@ -186,7 +175,6 @@ Requires:       python
 %description py2override
 This is a Python2 override library for IBus. The Python files override
 some functions in GObject-Introspection.
-%endif
 
 %package wayland
 Summary:        IBus IM module for Wayland
@@ -230,14 +218,10 @@ The ibus-devel-docs package contains developer documentation for IBus
 %prep
 %setup -q
 # %%patch0 -p1
-%patch0 -p1
 # cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
-cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c ||
-zcat %SOURCE3 | tar xfv -
 
 %build
 #autoreconf -f -i -v
-autoreconf -f -i -v
 #make -C ui/gtk3 maintainer-clean-generic
 %configure \
     --disable-static \
@@ -245,7 +229,6 @@ autoreconf -f -i -v
     --enable-gtk3 \
     --enable-xim \
     --enable-gtk-doc \
-    --with-no-snooper-apps='gnome-do,Do.*,firefox.*,.*chrome.*,.*chromium.*' \
     --enable-surrounding-text \
     --with-python=python3 \
 %if %with_pygobject2
@@ -368,9 +351,6 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || :
 %{_sysconfdir}/dconf/profile/ibus
 %python3_sitearch/gi/overrides/__pycache__/*.py*
 %python3_sitearch/gi/overrides/IBus.py
-%if ! %with_python2_override_pkg
-%python2_sitearch/gi/overrides/IBus.py*
-%endif
 # ibus owns xinput.d because gnome does not like to depend on imsettings.
 %dir %{_sysconfdir}/X11/xinit/xinput.d
 # Do not use %%config(noreplace) to always get the new keywords in _xinputconf
@@ -401,10 +381,8 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || :
 %{python2_sitelib}/ibus/*
 %endif
 
-%if %with_python2_override_pkg
 %files py2override
 %python2_sitearch/gi/overrides/IBus.py*
-%endif
 
 %files wayland
 %{_libexecdir}/ibus-wayland
@@ -424,6 +402,11 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &> /dev/null || :
 %{_datadir}/gtk-doc/html/*
 
 %changelog
+* Thu Jul 16 2015 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.11-1
+- Bumped to 1.5.11
+- Deleted with_python2_override_pkg macro
+- Added glib2-doc BR
+
 * Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.5.10-6
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
 

diff --git a/sources b/sources
index 4168bd0..d41b933 100644
--- a/sources
+++ b/sources
@@ -1,2 +1 @@
-e2f1d34083602ef6865880147a409eaa  ibus-1.5.10.tar.gz
-8996d963d5333fbc6073d92181677b70  ibus-po-1.5.10-20150402.tar.gz
+48f158c10dcd69f3ddedc13de4991528  ibus-1.5.11.tar.gz

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-05-31  2:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-31  2:06 [rpms/ibus] autotool: Bumped to 1.5.11 Takao Fujiwara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox