[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