[packages/ibus] - new URL, updated to 1.5.13 - removed obsolete 1136623-lost-by-another-focus,HEAD,xx-increase-timeo

qboosh qboosh at pld-linux.org
Sat Apr 2 09:27:11 CEST 2016


commit bcc161767c32fe26af85eab2597f59ee549a3b20
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Apr 2 09:27:14 2016 +0200

    - new URL, updated to 1.5.13
    - removed obsolete 1136623-lost-by-another-focus,HEAD,xx-increase-timeout patches

 ibus-1136623-lost-by-another-focus.patch |  24 --
 ibus-HEAD.patch                          | 672 -------------------------------
 ibus-xx-increase-timeout.patch           |  84 ----
 ibus.spec                                |  18 +-
 4 files changed, 6 insertions(+), 792 deletions(-)
---
diff --git a/ibus.spec b/ibus.spec
index 5f67140..e159a30 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -9,19 +9,16 @@
 Summary:	Intelligent Input Bus for Linux OS
 Summary(pl.UTF-8):	IBus - inteligentna szyna wejściowa dla Linuksa
 Name:		ibus
-Version:	1.5.9
-Release:	5
+Version:	1.5.13
+Release:	1
 License:	LGPL v2+
 Group:		Libraries
-#Source0Download: http://code.google.com/p/ibus/downloads/list
+#Source0Download: https://github.com/ibus/ibus/releases/
 Source0:	https://github.com/ibus/ibus/releases/download/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	a6e820db4fe3d82c825398f1ed19c77e
+# Source0-md5:	314c5e4fbfa7a52e6bbe4d1fe87c33f4
 Source1:	%{name}.xinputd
-Patch0:		%{name}-1136623-lost-by-another-focus.patch
-Patch1:		%{name}-HEAD.patch
-Patch2:		%{name}-xx-increase-timeout.patch
-Patch3:		python-path.patch
-URL:		http://code.google.com/p/ibus/
+Patch0:		python-path.patch
+URL:		https://github.com/ibus/ibus/
 BuildRequires:	GConf2-devel >= 2.12
 BuildRequires:	atk-devel
 BuildRequires:	autoconf >= 2.62
@@ -256,9 +253,6 @@ Bashowe dopełnianie parametrów dla poleceń ibus.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
 
 %build
 %{__libtoolize}
diff --git a/ibus-1136623-lost-by-another-focus.patch b/ibus-1136623-lost-by-another-focus.patch
deleted file mode 100644
index 93bf76b..0000000
--- a/ibus-1136623-lost-by-another-focus.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- ibus-1.5.8/client/gtk2/ibusimcontext.c.orig	2014-10-16 18:35:07.229056767 +0900
-+++ ibus-1.5.8/client/gtk2/ibusimcontext.c	2014-10-17 12:36:29.138998318 +0900
-@@ -857,12 +857,7 @@ ibus_im_context_focus_in (GtkIMContext *
-         }
-     }
- 
--    if (_focus_im_context != NULL) {
--        g_assert (_focus_im_context != context);
--        gtk_im_context_focus_out (_focus_im_context);
--        g_assert (_focus_im_context == NULL);
--    }
--    else {
-+    if (_focus_im_context == NULL) {
-         /* focus out fake context */
-         if (_fake_context != NULL) {
-             ibus_input_context_focus_out (_fake_context);
-@@ -903,7 +898,6 @@ ibus_im_context_focus_out (GtkIMContext
-         return;
-     }
- 
--    g_assert (context == _focus_im_context);
-     g_object_remove_weak_pointer ((GObject *) context,
-                                   (gpointer *) &_focus_im_context);
-     _focus_im_context = NULL;
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
deleted file mode 100644
index 80f2cdb..0000000
--- a/ibus-HEAD.patch
+++ /dev/null
@@ -1,672 +0,0 @@
-From f33e19bec6ab7d1a6133894c86fdeb5a81ce11f1 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Wed, 1 Oct 2014 16:21:02 +0900
-Subject: [PATCH] Fix to lose a focus when move the focus from the delayed
- focus-in/out.
-
-Some applications likes google-chrome URL entry could have the delayed
-focus-in and focus-out events and ibus fails to get the new focus.
-
-BUG=rhbz#919863, rhbz#1136623
-
-Review URL: https://codereview.appspot.com/7725045
----
- bus/inputcontext.c | 28 ++++++++++++++++++++++++++++
- 1 file changed, 28 insertions(+)
-
-diff --git a/bus/inputcontext.c b/bus/inputcontext.c
-index b7e1ff8..d9924a1 100644
---- a/bus/inputcontext.c
-+++ b/bus/inputcontext.c
-@@ -773,6 +773,34 @@ _ic_process_key_event  (BusInputContext       *context,
-         }
-     }
- 
-+    /* If I move the focus from the URL entry box of google-chrome
-+     * to the text buffer of gnome-terminal,
-+     * focus-in/focus-out of google-chrome is caused after
-+     * focus-in of gonme-terminal and gnome-terminal loses the focus.
-+     * The following focus events are received in ibusimcontext:
-+     * 1) (gnome-terminal:445): IBUS-WARNING **: 15:32:36:717  focus_in
-+     * 2) (google-chrome:495): IBUS-WARNING **: 15:32:36:866  focus_out
-+     * 3) (google-chrome:495): IBUS-WARNING **: 15:32:36:875  focus_in
-+     * 4) (google-chrome:495): IBUS-WARNING **: 15:32:36:890  focus_out
-+     * In 2), Just return because focused_context is not google-chrome.
-+     * In 3), focused_context is changed from gnome-terminal to google-chrome
-+     * In 4), focused_context is changed from google-chrome to faked_context.
-+     *
-+     * It seems google-chrome has a popup window of the prediction of URL
-+     * and async focus-in/focus-out.
-+     */
-+    if (context->has_focus && context->engine == NULL &&
-+        context->fake == FALSE) {
-+        BusInputContext *focused_context =
-+                bus_ibus_impl_get_focused_input_context (BUS_DEFAULT_IBUS);
-+
-+        if (focused_context != NULL && context != focused_context &&
-+            (context->capabilities & IBUS_CAP_FOCUS) != 0) {
-+            context->has_focus = FALSE;
-+            bus_input_context_focus_in (context);
-+        }
-+    }
-+
-     /* ignore key events, if it is a fake input context */
-     if (context->has_focus && context->engine && context->fake == FALSE) {
-         bus_engine_proxy_process_key_event (context->engine,
--- 
-1.8.5.3
-
-From bb818e438599f080a0cffb0b7573d9a646cf3b1a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Tue, 28 Oct 2014 11:28:46 +0900
-Subject: [PATCH] Fix not to SEGV ibus-ui-gtk3 with wrong 'preload-engines'
- value.
-
-Fedora internal patch could save engines from the result of
-'setxkbmap -query' but they do not exist in simple.xml likes
-'xkb:cn::chi' while now the current implementation converts
-those engines to 'xkb:us::eng'.
-
-BUG=https://code.google.com/p/ibus/issues/detail?id=1744
-TEST=ui/gtk3
-
-Review URL: https://codereview.appspot.com/158640043
----
- ui/gtk3/panel.vala | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index 76cea23..7b99fdf 100644
---- a/ui/gtk3/panel.vala
-+++ b/ui/gtk3/panel.vala
-@@ -790,6 +790,15 @@ class Panel : IBus.PanelService {
- 
-         var engines = m_bus.get_engines_by_names(names);
- 
-+        /* Fedora internal patch could save engines not in simple.xml
-+         * likes 'xkb:cn::chi'.
-+         */
-+        if (engines.length == 0) {
-+            names =  {"xkb:us::eng"};
-+            m_settings_general.set_strv("preload-engines", names);
-+            engines = m_bus.get_engines_by_names(names);
-+	}
-+
-         if (m_engines.length == 0) {
-             m_engines = engines;
-             switch_engine(0, true);
--- 
-1.8.5.3
-
-From e2507263817926ceb97511da3d617934d4b73443 Mon Sep 17 00:00:00 2001
-From: Osamu Aoki <osamu at debian.org>
-Date: Thu, 13 Nov 2014 11:23:38 +0900
-Subject: [PATCH] ibus-setup tries C since en_US.UTF-8 is not installed in
- Debian by default.
-
-BUG=https://code.google.com/p/ibus/issues/detail?id=1747
-TEST=setup
-
-Review URL: https://codereview.appspot.com/166420043
-Patch from Osamu Aoki <osamu at debian.org>.
----
- setup/enginecombobox.py |  2 +-
- setup/enginedialog.py   | 13 +++++++++----
- 2 files changed, 10 insertions(+), 5 deletions(-)
-
-diff --git a/setup/enginecombobox.py b/setup/enginecombobox.py
-index 2a2a677..199ed96 100644
---- a/setup/enginecombobox.py
-+++ b/setup/enginecombobox.py
-@@ -78,7 +78,7 @@ class EngineComboBox(Gtk.ComboBox):
-         keys.sort(key=functools.cmp_to_key(locale.strcoll))
-         loc = locale.getlocale()[0]
-         # None on C locale
--        if loc == None:
-+        if loc == None or loc == 'C':
-             loc = 'en_US'
-         current_lang = IBus.get_language_name(loc)
-         # move current language to the first place
-diff --git a/setup/enginedialog.py b/setup/enginedialog.py
-index 8a56901..2b179ad 100644
---- a/setup/enginedialog.py
-+++ b/setup/enginedialog.py
-@@ -325,21 +325,26 @@ class EngineDialog(Gtk.Dialog):
- 
-             # Retrieve Untranslated language names.
-             backup_locale = locale.setlocale(locale.LC_ALL, None)
--            try:
--                locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
-+            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:
--                pass
-+                try:
-+                    __set_untrans_with_locale('C')
-+                except locale.Error:
-+                    pass
-             locale.setlocale(locale.LC_ALL, backup_locale)
- 
-         keys = list(self.__engines_for_lang.keys())
-         keys.sort(key=functools.cmp_to_key(locale.strcoll))
-         loc = locale.getlocale()[0]
-         # None on C locale
--        if loc == None:
-+        if loc == None or loc == 'C':
-             loc = 'en_US'
-         current_lang = IBus.get_language_name(loc)
-         # move current language to the first place
--- 
-1.8.5.3
-
-From de3541d2a26c673f27c068559f6d363064e03760 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1 at gmail.com>
-Date: Thu, 13 Nov 2014 11:28:43 +0900
-Subject: [PATCH] Remove "Release" modifiers key on ibus-setup.
-
-BUG=https://code.google.com/p/ibus/issues/detail?id=1748
-TEST=setup
-
-Review URL: https://codereview.appspot.com/167570043
----
- setup/keyboardshortcut.py | 12 ++++--------
- 1 file changed, 4 insertions(+), 8 deletions(-)
-
-diff --git a/setup/keyboardshortcut.py b/setup/keyboardshortcut.py
-index 91595f7..86463cb 100644
---- a/setup/keyboardshortcut.py
-+++ b/setup/keyboardshortcut.py
-@@ -105,20 +105,16 @@ class KeyboardShortcutSelection(Gtk.Box):
-                                         Gtk.CheckButton.new_with_mnemonic("_Hyper"),
-                                         Gdk.ModifierType.HYPER_MASK))
-         # <CapsLock> is not parsed by gtk_accelerator_parse()
--        # FIXME: Need to check if ibus gtk panel can enable <Release>.
--        self.__modifier_buttons.append(("Release",
--                                        Gtk.CheckButton.new_with_mnemonic("_Release"),
--                                        Gdk.ModifierType.RELEASE_MASK))
-+        # <Release> is not supported by XIGrabKeycode()
-         for name, button, mask in self.__modifier_buttons:
-             button.connect("toggled", self.__modifier_button_toggled_cb, name)
- 
-         table.attach(self.__modifier_buttons[0][1], 0, 1, 0, 1)
-         table.attach(self.__modifier_buttons[1][1], 1, 2, 0, 1)
-         table.attach(self.__modifier_buttons[2][1], 2, 3, 0, 1)
--        table.attach(self.__modifier_buttons[3][1], 3, 4, 0, 1)
--        table.attach(self.__modifier_buttons[4][1], 0, 1, 1, 2)
--        table.attach(self.__modifier_buttons[5][1], 1, 2, 1, 2)
--        table.attach(self.__modifier_buttons[6][1], 2, 3, 1, 2)
-+        table.attach(self.__modifier_buttons[3][1], 0, 1, 1, 2)
-+        table.attach(self.__modifier_buttons[4][1], 1, 2, 1, 2)
-+        table.attach(self.__modifier_buttons[5][1], 2, 3, 1, 2)
-         hbox.pack_start(table, True, True, 4)
-         self.pack_start(hbox, False, True, 4)
- 
--- 
-1.8.5.3
-
-From a7abce698f40e60275c46f05967e8cc369769e4b Mon Sep 17 00:00:00 2001
-From: Peng Wu <alexepico at gmail.com>
-Date: Wed, 19 Nov 2014 18:10:05 +0900
-Subject: [PATCH] Fixes ibus_engine_update_lookup_table_fast method
-
-gnome shell needs the previous page and next page
-to correctly show the page up/down arrows,
-send three pages instead of one page.
-
-URL: https://bugzilla.gnome.org/show_bug.cgi?id=703020
-
-BUG=
-
-Review URL: https://codereview.appspot.com/164540045
-Patch from Peng Wu <alexepico at gmail.com>.
----
- src/ibusengine.c | 27 ++++++++++++++++++++++-----
- 1 file changed, 22 insertions(+), 5 deletions(-)
-
-diff --git a/src/ibusengine.c b/src/ibusengine.c
-index 53d57df..4758f82 100644
---- a/src/ibusengine.c
-+++ b/src/ibusengine.c
-@@ -1422,12 +1422,17 @@ ibus_engine_update_lookup_table_fast (IBusEngine        *engine,
-                                       IBusLookupTable   *table,
-                                       gboolean           visible)
- {
-+    /* Note: gnome shell needs the previous page and next page
-+       to correctly show the page up/down arrows,
-+       send three pages instead of one page. */
-+
-     g_return_if_fail (IBUS_IS_ENGINE (engine));
-     g_return_if_fail (IBUS_IS_LOOKUP_TABLE (table));
- 
-     IBusLookupTable *new_table;
-     IBusText *text;
-     gint page_begin;
-+    gint cursor_pos;
-     gint i;
- 
-     if (table->candidates->len < table->page_size << 2) {
-@@ -1436,19 +1441,31 @@ ibus_engine_update_lookup_table_fast (IBusEngine        *engine,
-     }
- 
-     page_begin = (table->cursor_pos / table->page_size) * table->page_size;
-+    cursor_pos = ibus_lookup_table_get_cursor_in_page (table);
-+
-+    if (table->cursor_pos >= table->page_size) {
-+        /* has previous page, adjust the value. */
-+        page_begin -= table->page_size;
-+        cursor_pos += table->page_size;
-+    }
- 
--    new_table = ibus_lookup_table_new (table->page_size, 0, table->cursor_visible, table->round);
-+    new_table = ibus_lookup_table_new
-+        (table->page_size, 0, table->cursor_visible, table->round);
- 
--    for (i = page_begin; i < page_begin + table->page_size && i < table->candidates->len; i++) {
--        ibus_lookup_table_append_candidate (new_table, ibus_lookup_table_get_candidate (table, i));
-+    /* '3' means the previous page, current page and next page. */
-+    for (i = page_begin; i < page_begin + 3 * table->page_size &&
-+             i < table->candidates->len; i++) {
-+        ibus_lookup_table_append_candidate
-+            (new_table, ibus_lookup_table_get_candidate (table, i));
-     }
- 
-     for (i = 0; (text = ibus_lookup_table_get_label (table, i)) != NULL; i++) {
-         ibus_lookup_table_append_label (new_table, text);
-     }
- 
--    ibus_lookup_table_set_cursor_pos (new_table, ibus_lookup_table_get_cursor_in_page (table));
--    ibus_lookup_table_set_orientation (new_table, ibus_lookup_table_get_orientation (table));
-+    ibus_lookup_table_set_cursor_pos (new_table, cursor_pos);
-+    ibus_lookup_table_set_orientation
-+        (new_table, ibus_lookup_table_get_orientation (table));
- 
-     ibus_engine_update_lookup_table (engine, new_table, visible);
- 
--- 
-1.8.5.3
-
-From f69ddc3952971c5599c92aee3dc1de6017d07f3c Mon Sep 17 00:00:00 2001
-From: Peng Wu <alexepico at gmail.com>
-Date: Fri, 5 Dec 2014 11:41:08 +0900
-Subject: [PATCH] Fixes ibus_keyval_name method in c++ binding
-
-Add G_BEGIN_DECLS and G_END_DECLS macros in src/ibuskeys.h
-
-BUG=
-
-Review URL: https://codereview.appspot.com/185850043
-Patch from Peng Wu <alexepico at gmail.com>.
----
- src/ibuskeys.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/ibuskeys.h b/src/ibuskeys.h
-index 6acb0d6..7969929 100644
---- a/src/ibuskeys.h
-+++ b/src/ibuskeys.h
-@@ -29,6 +29,7 @@
- 
- #include <glib.h>
- 
-+G_BEGIN_DECLS
- /**
-  * ibus_keyval_name:
-  * @keyval: Key symbol.
-@@ -73,4 +74,5 @@ guint            ibus_unicode_to_keyval (gunichar        wc);
-  **/
- gunichar         ibus_keyval_to_unicode (guint           keyval);
- 
-+G_END_DECLS
- #endif // __IBUS_KEYS_H_
--- 
-1.8.5.3
-
-From 097715746da0f56b8b8c3ddae2da3442032bff0c Mon Sep 17 00:00:00 2001
-From: Rui Matos <tiagomatos at gmail.com>
-Date: Fri, 5 Dec 2014 20:25:44 +0900
-Subject: [PATCH] Carry current context content type into fake context when
- switching
-
-When focus moves out of a context to the fake context we should keep
-the content type properties as they were in the focused out context.
-
-This allows panel implementations to show the proper UI while input
-focus moves away temporarily from a text entry.
-
-E.g. a password entry is focused and the user clicks on the panel
-UI. At this point ibus switches the currently focused context to the
-fake context and emits set-content-type with the fake context
-properties which are empty and thus the panel reacts to it. This isn't
-the intended behavior though since, from a user POV, the password
-entry is still the context that will be getting text input when the
-panel UI gets dismissed.
-
-R=shawn.p.huang at gmail.com
-BUG=https://bugzilla.gnome.org/show_bug.cgi?id=730628
-
-Review URL: https://codereview.appspot.com/176260043
-Patch from Rui Matos <tiagomatos at gmail.com>.
----
- bus/ibusimpl.c     |  6 ++++
- bus/inputcontext.c | 91 +++++++++++++++++++++++++++++++++---------------------
- bus/inputcontext.h | 10 ++++++
- 3 files changed, 72 insertions(+), 35 deletions(-)
-
-diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c
-index dd254e2..61f6649 100644
---- a/bus/ibusimpl.c
-+++ b/bus/ibusimpl.c
-@@ -620,6 +620,8 @@ bus_ibus_impl_set_focused_context (BusIBusImpl     *ibus,
-     }
- 
-     BusEngineProxy *engine = NULL;
-+    guint purpose = 0;
-+    guint hints = 0;
- 
-     if (ibus->focused_context) {
-         if (ibus->use_global_engine) {
-@@ -634,12 +636,16 @@ bus_ibus_impl_set_focused_context (BusIBusImpl     *ibus,
-         if (ibus->panel != NULL)
-             bus_panel_proxy_focus_out (ibus->panel, ibus->focused_context);
- 
-+        bus_input_context_get_content_type (ibus->focused_context,
-+                                            &purpose, &hints);
-         g_object_unref (ibus->focused_context);
-         ibus->focused_context = NULL;
-     }
- 
-     if (context == NULL && ibus->use_global_engine) {
-         context = ibus->fake_context;
-+        if (context)
-+            bus_input_context_set_content_type (context, purpose, hints);
-     }
- 
-     if (context) {
-diff --git a/bus/inputcontext.c b/bus/inputcontext.c
-index d9924a1..ea77102 100644
---- a/bus/inputcontext.c
-+++ b/bus/inputcontext.c
-@@ -1151,6 +1151,47 @@ bus_input_context_service_method_call (IBusService            *service,
-     g_return_if_reached ();
- }
- 
-+static void
-+_ic_set_content_type (BusInputContext *context,
-+                      GVariant        *value)
-+{
-+    guint purpose = 0;
-+    guint hints = 0;
-+
-+    g_variant_get (value, "(uu)", &purpose, &hints);
-+    if (purpose != context->purpose || hints != context->hints) {
-+        GError *error;
-+        gboolean retval;
-+
-+        context->purpose = purpose;
-+        context->hints = hints;
-+
-+        if (context->has_focus && context->engine)
-+            bus_engine_proxy_set_content_type (context->engine,
-+                                               purpose,
-+                                               hints);
-+
-+        if (context->has_focus) {
-+            g_signal_emit (context,
-+                           context_signals[SET_CONTENT_TYPE],
-+                           0,
-+                           context->purpose,
-+                           context->hints);
-+        }
-+
-+        error = NULL;
-+        retval = bus_input_context_property_changed (context,
-+                                                     "ContentType",
-+                                                     value,
-+                                                     &error);
-+        if (!retval) {
-+            g_warning ("Failed to emit PropertiesChanged signal: %s",
-+                       error->message);
-+            g_error_free (error);
-+        }
-+    }
-+}
-+
- static gboolean
- bus_input_context_service_set_property (IBusService     *service,
-                                         GDBusConnection *connection,
-@@ -1175,41 +1216,7 @@ bus_input_context_service_set_property (IBusService     *service,
- 
-     if (g_strcmp0 (property_name, "ContentType") == 0) {
-         BusInputContext *context = (BusInputContext *) service;
--        guint purpose = 0;
--        guint hints = 0;
--
--        g_variant_get (value, "(uu)", &purpose, &hints);
--        if (purpose != context->purpose || hints != context->hints) {
--            GError *error;
--            gboolean retval;
--
--            context->purpose = purpose;
--            context->hints = hints;
--
--            if (context->has_focus && context->engine)
--                bus_engine_proxy_set_content_type (context->engine,
--                                                   purpose,
--                                                   hints);
--
--            if (context->has_focus) {
--                g_signal_emit (context,
--                               context_signals[SET_CONTENT_TYPE],
--                               0,
--                               context->purpose,
--                               context->hints);
--            }
--
--            error = NULL;
--            retval = bus_input_context_property_changed (context,
--                                                         "ContentType",
--                                                         value,
--                                                         &error);
--            if (!retval) {
--                g_warning ("Failed to emit PropertiesChanged signal: %s",
--                           error->message);
--                g_error_free (error);
--            }
--        }
-+        _ic_set_content_type (context, value);
-         return TRUE;
-     }
- 
-@@ -2521,3 +2528,17 @@ bus_input_context_get_content_type (BusInputContext *context,
-     *purpose = context->purpose;
-     *hints = context->hints;
- }
-+
-+void
-+bus_input_context_set_content_type (BusInputContext *context,
-+                                    guint            purpose,
-+                                    guint            hints)
-+{
-+    GVariant *value;
-+
-+    g_assert (BUS_IS_INPUT_CONTEXT (context));
-+
-+    value = g_variant_ref_sink (g_variant_new ("(uu)", purpose, hints));
-+    _ic_set_content_type (context, value);
-+    g_variant_unref (value);
-+}
-diff --git a/bus/inputcontext.h b/bus/inputcontext.h
-index f282fae..258f501 100644
---- a/bus/inputcontext.h
-+++ b/bus/inputcontext.h
-@@ -250,5 +250,15 @@ void                 bus_input_context_get_content_type
-                                                  guint              *purpose,
-                                                  guint              *hints);
- 
-+/**
-+ * bus_input_context_set_content_type:
-+ * @purpose: Input purpose.
-+ * @hints: Input hints.
-+ */
-+void                 bus_input_context_set_content_type
-+                                                (BusInputContext *context,
-+                                                 guint            purpose,
-+                                                 guint            hints);
-+
- G_END_DECLS
- #endif
--- 
-1.8.5.3
-
-From 8f471ce138a9dc10ab5b1e0c716bb48ca36fe12a Mon Sep 17 00:00:00 2001
-From: Doug Rintoul <doug_rintoul at sil.org>
-Date: Mon, 8 Dec 2014 12:52:00 +0900
-Subject: [PATCH] Show language rather than layout in xkb panel icon
-
-BUG=https://code.google.com/p/ibus/issues/detail?id=1753
-TEST=ui/gtk3/ibus-ui-gtk3
-
-Review URL: https://codereview.appspot.com/184840043
-Patch from Doug Rintoul <doug_rintoul at sil.org>.
----
- ui/gtk3/panel.vala    |  8 ++++----
- ui/gtk3/switcher.vala | 42 ++++++++++++++++++------------------------
- 2 files changed, 22 insertions(+), 28 deletions(-)
-
-diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index 7b99fdf..4e02140 100644
---- a/ui/gtk3/panel.vala
-+++ b/ui/gtk3/panel.vala
-@@ -1135,16 +1135,16 @@ class Panel : IBus.PanelService {
-         if (icon_name[0] == '/')
-             m_status_icon.set_from_file(icon_name);
-         else {
--            string symbol = null;
-+            string language = null;
- 
-             if (engine != null) {
-                 var name = engine.get_name();
-                 if (name.length >= 4 && name[0:4] == "xkb:")
--                    symbol = m_switcher.get_xkb_symbol(engine);
-+                    language = m_switcher.get_xkb_language(engine);
-             }
- 
--            if (symbol != null) {
--                Gdk.Pixbuf pixbuf = create_icon_pixbuf_with_string(symbol);
-+            if (language != null) {
-+                Gdk.Pixbuf pixbuf = create_icon_pixbuf_with_string(language);
-                 m_status_icon.set_from_pixbuf(pixbuf);
-             } else {
-                 var theme = Gtk.IconTheme.get_default();
-diff --git a/ui/gtk3/switcher.vala b/ui/gtk3/switcher.vala
-index 7601d80..476b159 100644
---- a/ui/gtk3/switcher.vala
-+++ b/ui/gtk3/switcher.vala
-@@ -21,8 +21,6 @@
-  */
- 
- class Switcher : Gtk.Window {
--    private const int DESC_LABEL_MAX_LEN = 20;
--
-     private class IBusEngineButton : Gtk.Button {
-         public IBusEngineButton(IBus.EngineDesc engine, Switcher switcher) {
-             GLib.Object();
-@@ -38,14 +36,14 @@ class Switcher : Gtk.Window {
-                 icon.set_valign(Gtk.Align.CENTER);
-                 add(icon);
-             } else {
--                var symbol = switcher.get_xkb_symbol(engine);
-+                var language = switcher.get_xkb_language(engine);
- 
--                Gtk.Label label = new Gtk.Label(symbol);
-+                Gtk.Label label = new Gtk.Label(language);
-                 label.set_halign(Gtk.Align.CENTER);
-                 label.set_valign(Gtk.Align.CENTER);
--                string symbol_font = "Monospace Bold 16";
-+                string language_font = "Monospace Bold 16";
-                 string markup = "<span font=\"%s\">%s</span>".
--                        printf(symbol_font, symbol);
-+                        printf(language_font, language);
- 
-                 label.set_markup(markup);
- 
-@@ -89,7 +87,7 @@ class Switcher : Gtk.Window {
-     private uint m_popup_delay_time_id = 0;
-     private int m_root_x;
-     private int m_root_y;
--    private GLib.HashTable<string, string> m_xkb_symbols =
-+    private GLib.HashTable<string, string> m_xkb_languages =
-             new GLib.HashTable<string, string>(GLib.str_hash,
-                                                GLib.str_equal);
- 
-@@ -268,10 +266,6 @@ class Switcher : Gtk.Window {
-                 return true;
-             });
- 
--            if (longname.length > DESC_LABEL_MAX_LEN) {
--                longname = longname[0:DESC_LABEL_MAX_LEN];
--            }
--
-             button.longname = longname;
-             m_label.set_label(longname);
- 
-@@ -429,37 +423,37 @@ class Switcher : Gtk.Window {
-         m_popup_delay_time = popup_delay_time;
-     }
- 
--    public string get_xkb_symbol(IBus.EngineDesc engine) {
-+    public string get_xkb_language(IBus.EngineDesc engine) {
-         var name = engine.get_name();
- 
-         assert(name[0:4] == "xkb:");
- 
--        var symbol = m_xkb_symbols[name];
-+        var language = m_xkb_languages[name];
- 
--        if (symbol != null)
--            return symbol;
-+        if (language != null)
-+            return language;
- 
--        var layout = engine.get_layout();
-+        language = engine.get_language();
- 
-         /* Maybe invalid layout */
--        if (layout.length < 2)
--            return layout;
-+        if (language.length < 2)
-+            return language;
- 
--        symbol = layout[0:2].up();
-+        language = language[0:2].up();
- 
-         int index = 0;
- 
--        foreach (var saved_symbol in m_xkb_symbols.get_values()) {
--            if (symbol == saved_symbol[0:2])
-+        foreach (var saved_language in m_xkb_languages.get_values()) {
-+            if (language == saved_language[0:2])
-                 index++;
-         }
- 
-         if (index > 0) {
-             unichar u = 0x2081 + index;
--            symbol = "%s%s".printf(symbol, u.to_string());
-+            language = "%s%s".printf(language, u.to_string());
-         }
- 
--        m_xkb_symbols.insert(name, symbol);
--        return symbol;
-+        m_xkb_languages.insert(name, language);
-+        return language;
-     }
- }
--- 
-1.8.5.3
-
diff --git a/ibus-xx-increase-timeout.patch b/ibus-xx-increase-timeout.patch
deleted file mode 100644
index a406d69..0000000
--- a/ibus-xx-increase-timeout.patch
+++ /dev/null
@@ -1,84 +0,0 @@
---- ibus-1.5.8/bus/global.c.orig	2014-10-24 11:39:02.992359855 +0900
-+++ ibus-1.5.8/bus/global.c	2014-12-01 19:11:11.311759112 +0900
-@@ -28,4 +28,4 @@ gchar *g_address = "unix:tmpdir=/tmp";
- gchar *g_cache = "auto";
- gboolean g_mempro = FALSE;
- gboolean g_verbose = FALSE;
--gint   g_gdbus_timeout = 5000;
-+gint   g_gdbus_timeout = 15000;
---- ibus-1.5.8/bus/ibusimpl.c.orig	2014-10-14 12:15:30.547369108 +0900
-+++ ibus-1.5.8/bus/ibusimpl.c	2014-10-14 12:16:23.182396247 +0900
-@@ -1390,11 +1390,12 @@ _ibus_set_global_engine_ready_cb (BusInp
- 
-     GError *error = NULL;
-     if (!bus_input_context_set_engine_by_desc_finish (context, res, &error)) {
--        g_error_free (error);
-         g_dbus_method_invocation_return_error (data->invocation,
-                                                G_DBUS_ERROR,
-                                                G_DBUS_ERROR_FAILED,
--                                               "Set global engine failed.");
-+                                               "Set global engine failed: %s",
-+                                               error->message);
-+        g_error_free (error);
-     }
-     else {
-         g_dbus_method_invocation_return_value (data->invocation, NULL);
---- ibus-1.5.8/bus/main.c.orig	2014-10-24 11:41:32.579140912 +0900
-+++ ibus-1.5.8/bus/main.c	2014-12-01 19:12:17.235109849 +0900
-@@ -64,7 +64,7 @@ static const GOptionEntry entries[] =
-     { "address",   'a', 0, G_OPTION_ARG_STRING, &g_address,   "specify the address of ibus daemon.", "address" },
-     { "replace",   'r', 0, G_OPTION_ARG_NONE,   &replace,   "if there is an old ibus-daemon is running, it will be replaced.", NULL },
-     { "cache",     't', 0, G_OPTION_ARG_STRING, &g_cache,   "specify the cache mode. [auto/refresh/none]", NULL },
--    { "timeout",   'o', 0, G_OPTION_ARG_INT,    &g_gdbus_timeout, "gdbus reply timeout in milliseconds. pass -1 to use the default timeout of gdbus.", "timeout [default is 5000]" },
-+    { "timeout",   'o', 0, G_OPTION_ARG_INT,    &g_gdbus_timeout, "gdbus reply timeout in milliseconds. pass -1 to use the default timeout of gdbus.", "timeout [default is 15000]" },
-     { "mem-profile", 'm', 0, G_OPTION_ARG_NONE,   &g_mempro,   "enable memory profile, send SIGUSR2 to print out the memory profile.", NULL },
-     { "restart",     'R', 0, G_OPTION_ARG_NONE,   &restart,    "restart panel and config processes when they die.", NULL },
-     { "verbose",   'v', 0, G_OPTION_ARG_NONE,   &g_verbose,   "verbose.", NULL },
---- ibus-1.5.8/src/ibusshare.c.orig	2014-10-22 11:49:55.386913376 +0900
-+++ ibus-1.5.8/src/ibusshare.c	2014-12-01 19:13:01.135009323 +0900
-@@ -158,8 +158,9 @@ ibus_get_socket_path (void)
- gint
- ibus_get_timeout (void)
- {
--    /* 6000 ms is the default timeout on the ibus-daemon side (5 sec) plus 1. */
--    static const gint default_timeout = 6000;
-+    /* 16000 ms is the default timeout on the ibus-daemon side
-+     * (15 sec) plus 1. */
-+    static const gint default_timeout = 16000;
- 
-     static gint64 timeout = -2;
-     if (timeout == -2) {
---- ibus-1.5.8/ui/gtk3/panel.vala.orig	2014-10-22 12:00:37.017604825 +0900
-+++ ibus-1.5.8/ui/gtk3/panel.vala	2014-11-28 18:49:49.878234966 +0900
-@@ -65,6 +65,8 @@ class Panel : IBus.PanelService {
-             red = 0.0, green = 0.0, blue = 0.0, alpha = 1.0 };
-     private XKBLayout m_xkblayout = new XKBLayout();
-     private bool inited_engines_order = true;
-+    private uint m_preload_engines_id;
-+    private const uint PRELOAD_ENGINES_DELAY_TIME = 30000;
- 
-     private GLib.List<Keybinding> m_keybindings = new GLib.List<Keybinding>();
- 
-@@ -764,8 +766,21 @@ class Panel : IBus.PanelService {
-             return;
-         }
- 
-+        if (m_preload_engines_id != 0) {
-+            GLib.Source.remove(m_preload_engines_id);
-+            m_preload_engines_id = 0;
-+        }
-+
-         names += engines[index].get_name();
--        m_bus.preload_engines_async.begin(names, -1, null);
-+        m_preload_engines_id =
-+                Timeout.add(
-+                        PRELOAD_ENGINES_DELAY_TIME,
-+                        () => {
-+                            m_bus.preload_engines_async.begin(names,
-+                                                              -1,
-+                                                              null);
-+                            return false;
-+                        });
-     }
- 
-     private void update_engines(string[]? unowned_engine_names,
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ibus.git/commitdiff/bcc161767c32fe26af85eab2597f59ee549a3b20



More information about the pld-cvs-commit mailing list