diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da491fc --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/ibus-1.5.19.tar.gz +SOURCES/ibus-po-1.5.19-20180822.tar.gz diff --git a/.ibus.metadata b/.ibus.metadata new file mode 100644 index 0000000..9765a27 --- /dev/null +++ b/.ibus.metadata @@ -0,0 +1,2 @@ +fdda025d81247e40ad7acf953c2a0a606d18e965 SOURCES/ibus-1.5.19.tar.gz +36b017eddba8bc0dd970acaa2cab41d0053d6c9f SOURCES/ibus-po-1.5.19-20180822.tar.gz diff --git a/SOURCES/ibus-1385349-segv-bus-proxy.patch b/SOURCES/ibus-1385349-segv-bus-proxy.patch new file mode 100644 index 0000000..f206eda --- /dev/null +++ b/SOURCES/ibus-1385349-segv-bus-proxy.patch @@ -0,0 +1,214 @@ +From 865b204f1c06b782cf7b4a479b358e76f4b3dfee Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Tue, 17 Jul 2018 13:39:30 +0900 +Subject: [PATCH] bus: Fix SEGV in bus_panel_proxy_focus_in() + +BUG=rhbz#1349148 +BUG=rhbz#1385349 +BUG=rhbz#1350291 +BUG=rhbz#1406699 +BUG=rhbz#1432252 +BUG=rhbz#1601577 +--- + bus/dbusimpl.c | 38 ++++++++++++++++++++++++++++++++------ + bus/engineproxy.c | 5 ++++- + bus/ibusimpl.c | 21 ++++++++++++++++++--- + 3 files changed, 54 insertions(+), 10 deletions(-) + +diff --git a/bus/dbusimpl.c b/bus/dbusimpl.c +index b54ef817..e4dd8683 100644 +--- a/bus/dbusimpl.c ++++ b/bus/dbusimpl.c +@@ -2,7 +2,8 @@ + /* vim:set et sts=4: */ + /* ibus - The Input Bus + * Copyright (C) 2008-2013 Peng Huang +- * Copyright (C) 2008-2013 Red Hat, Inc. ++ * Copyright (C) 2015-2017 Takao Fujiwara ++ * Copyright (C) 2008-2017 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 +@@ -344,6 +345,8 @@ bus_name_service_set_primary_owner (BusNameService *service, + BusConnectionOwner *owner, + BusDBusImpl *dbus) + { ++ gboolean has_old_owner = FALSE; ++ + g_assert (service != NULL); + g_assert (owner != NULL); + g_assert (dbus != NULL); +@@ -351,6 +354,13 @@ bus_name_service_set_primary_owner (BusNameService *service, + BusConnectionOwner *old = service->owners != NULL ? + (BusConnectionOwner *)service->owners->data : NULL; + ++ /* rhbz#1432252 If bus_connection_get_unique_name() == NULL, ++ * "Hello" method is not received yet. ++ */ ++ if (old != NULL && bus_connection_get_unique_name (old->conn) != NULL) { ++ has_old_owner = TRUE; ++ } ++ + if (old != NULL) { + g_signal_emit (dbus, + dbus_signals[NAME_LOST], +@@ -370,7 +380,8 @@ bus_name_service_set_primary_owner (BusNameService *service, + 0, + owner->conn, + service->name, +- old != NULL ? bus_connection_get_unique_name (old->conn) : "", ++ has_old_owner ? bus_connection_get_unique_name (old->conn) : ++ "", + bus_connection_get_unique_name (owner->conn)); + + if (old != NULL && old->do_not_queue != 0) { +@@ -427,6 +438,7 @@ bus_name_service_remove_owner (BusNameService *service, + BusDBusImpl *dbus) + { + GSList *owners; ++ gboolean has_new_owner = FALSE; + + g_assert (service != NULL); + g_assert (owner != NULL); +@@ -439,6 +451,13 @@ bus_name_service_remove_owner (BusNameService *service, + BusConnectionOwner *_new = NULL; + if (owners->next != NULL) { + _new = (BusConnectionOwner *)owners->next->data; ++ /* rhbz#1406699 If bus_connection_get_unique_name() == NULL, ++ * "Hello" method is not received yet. ++ */ ++ if (_new != NULL && ++ bus_connection_get_unique_name (_new->conn) != NULL) { ++ has_new_owner = TRUE; ++ } + } + + if (dbus != NULL) { +@@ -447,7 +466,7 @@ bus_name_service_remove_owner (BusNameService *service, + 0, + owner->conn, + service->name); +- if (_new != NULL) { ++ if (has_new_owner) { + g_signal_emit (dbus, + dbus_signals[NAME_ACQUIRED], + 0, +@@ -460,7 +479,7 @@ bus_name_service_remove_owner (BusNameService *service, + _new != NULL ? _new->conn : NULL, + service->name, + bus_connection_get_unique_name (owner->conn), +- _new != NULL ? bus_connection_get_unique_name (_new->conn) : ""); ++ has_new_owner ? bus_connection_get_unique_name (_new->conn) : ""); + + } + } +@@ -1464,13 +1483,20 @@ bus_dbus_impl_connection_filter_cb (GDBusConnection *dbus_connection, + gboolean incoming, + gpointer user_data) + { ++ BusDBusImpl *dbus; ++ BusConnection *connection; ++ + g_assert (G_IS_DBUS_CONNECTION (dbus_connection)); + g_assert (G_IS_DBUS_MESSAGE (message)); + g_assert (BUS_IS_DBUS_IMPL (user_data)); + +- BusDBusImpl *dbus = (BusDBusImpl *) user_data; +- BusConnection *connection = bus_connection_lookup (dbus_connection); ++ if (g_dbus_connection_is_closed (dbus_connection)) ++ return NULL; ++ ++ dbus = (BusDBusImpl *) user_data; ++ connection = bus_connection_lookup (dbus_connection); + g_assert (connection != NULL); ++ g_assert (BUS_IS_CONNECTION (connection)); + + if (incoming) { + /* is incoming message */ +diff --git a/bus/engineproxy.c b/bus/engineproxy.c +index 2d98995c..d661673a 100644 +--- a/bus/engineproxy.c ++++ b/bus/engineproxy.c +@@ -665,6 +665,7 @@ bus_engine_proxy_new_internal (const gchar *path, + IBusEngineDesc *desc, + GDBusConnection *connection) + { ++ GError *error = NULL; + g_assert (path); + g_assert (IBUS_IS_ENGINE_DESC (desc)); + g_assert (G_IS_DBUS_CONNECTION (connection)); +@@ -673,7 +674,7 @@ bus_engine_proxy_new_internal (const gchar *path, + BusEngineProxy *engine = + (BusEngineProxy *) g_initable_new (BUS_TYPE_ENGINE_PROXY, + NULL, +- NULL, ++ &error, + "desc", desc, + "g-connection", connection, + "g-interface-name", IBUS_INTERFACE_ENGINE, +@@ -681,6 +682,8 @@ bus_engine_proxy_new_internal (const gchar *path, + "g-default-timeout", g_gdbus_timeout, + "g-flags", flags, + NULL); ++ /* FIXME: rhbz#1601577 */ ++ g_assert_no_error (error); + const gchar *layout = ibus_engine_desc_get_layout (desc); + if (layout != NULL && layout[0] != '\0') { + engine->keymap = ibus_keymap_get (layout); +diff --git a/bus/ibusimpl.c b/bus/ibusimpl.c +index ec1caea8..9ae3751b 100644 +--- a/bus/ibusimpl.c ++++ b/bus/ibusimpl.c +@@ -484,13 +484,16 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus, + else if (!g_strcmp0 (name, IBUS_SERVICE_PANEL_EXTENSION_EMOJI)) + panel_type = PANEL_TYPE_EXTENSION_EMOJI; + +- if (panel_type != PANEL_TYPE_NONE) { ++ do { ++ if (panel_type == PANEL_TYPE_NONE) ++ break; + if (g_strcmp0 (new_name, "") != 0) { + /* a Panel process is started. */ + BusConnection *connection; + BusInputContext *context = NULL; + BusPanelProxy **panel = (panel_type == PANEL_TYPE_PANEL) ? + &ibus->panel : &ibus->emoji_extension; ++ GDBusConnection *dbus_connection = NULL; + + if (*panel != NULL) { + ibus_proxy_destroy ((IBusProxy *)(*panel)); +@@ -499,9 +502,21 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus, + g_assert (*panel == NULL); + } + +- connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, new_name); ++ connection = bus_dbus_impl_get_connection_by_name (BUS_DEFAULT_DBUS, ++ new_name); + g_return_if_fail (connection != NULL); + ++ dbus_connection = bus_connection_get_dbus_connection (connection); ++ /* rhbz#1349148 rhbz#1385349 ++ * Avoid SEGV of BUS_IS_PANEL_PROXY (ibus->panel) ++ * This function is called during destroying the connection ++ * in this case? */ ++ if (dbus_connection == NULL || ++ g_dbus_connection_is_closed (dbus_connection)) { ++ new_name = ""; ++ break; ++ } ++ + *panel = bus_panel_proxy_new (connection, panel_type); + if (panel_type == PANEL_TYPE_EXTENSION_EMOJI) + ibus->enable_emoji_extension = FALSE; +@@ -555,7 +570,7 @@ _dbus_name_owner_changed_cb (BusDBusImpl *dbus, + } + } + } +- } ++ } while (0); + + bus_ibus_impl_component_name_owner_changed (ibus, name, old_name, new_name); + } +-- +2.17.1 + diff --git a/SOURCES/ibus-HEAD.patch b/SOURCES/ibus-HEAD.patch new file mode 100644 index 0000000..faf929d --- /dev/null +++ b/SOURCES/ibus-HEAD.patch @@ -0,0 +1,920 @@ +From 7edaefdc1d80aefdbbc2dc52526c20715759da83 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 22 Aug 2018 17:20:53 +0900 +Subject: [PATCH] ui/gtk3: Do not clear unicode data when emoji annotation lang + is changed + +--- + ui/gtk3/emojier.vala | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala +index 85dcdceb..637ae049 100644 +--- a/ui/gtk3/emojier.vala ++++ b/ui/gtk3/emojier.vala +@@ -440,13 +440,17 @@ public class IBusEmojier : Gtk.ApplicationWindow { + m_emoji_to_emoji_variants_dict = + new GLib.HashTable>(GLib.str_hash, + GLib.str_equal); +- m_unicode_to_data_dict = ++ if (m_unicode_to_data_dict == null) { ++ m_unicode_to_data_dict = + new GLib.HashTable( + GLib.direct_hash, + GLib.direct_equal); +- m_name_to_unicodes_dict = ++ } ++ if (m_name_to_unicodes_dict == null) { ++ m_name_to_unicodes_dict = + new GLib.HashTable>(GLib.str_hash, + GLib.str_equal); ++ } + } + + +-- +2.17.1 + +From 28d22176aee6be97d88dd6c60fa5395c79563ec0 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 30 Aug 2018 12:57:33 +0900 +Subject: [PATCH] ui/gtk3: Fix SEGV when type ASCII on emojier + +Emojier still included Gtk.Entry, accepted key events in Wayland, +reset the lookup table and it caused SEGV because IBus.Text +is NULL in the lookup table in Emojier.get_current_candidate(). +Now Gtk.Entry is deleted completely. + +BUG=rhbz#1618682 +--- + ui/gtk3/emojier.vala | 139 +------------------------------------------ + 1 file changed, 1 insertion(+), 138 deletions(-) + +diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala +index 637ae049..0f455800 100644 +--- a/ui/gtk3/emojier.vala ++++ b/ui/gtk3/emojier.vala +@@ -283,7 +283,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + + private ThemedRGBA m_rgba; + private Gtk.Box m_vbox; +- private EEntry m_entry; + /* If emojier is emoji category list or Unicode category list, + * m_annotation is "" and preedit is also "". + * If emojier is candidate mode, m_annotation is an annotation and +@@ -367,23 +366,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + m_vbox = new Gtk.Box(Gtk.Orientation.VERTICAL, 0); + add(m_vbox); + +- m_entry = new EEntry(); +- m_entry.set_placeholder_text(_("Type annotation or choose emoji")); +- //m_vbox.add(m_entry); +- m_entry.changed.connect(() => { +- update_candidate_window(); +- }); +- m_entry.icon_release.connect((icon_pos, event) => { +- hide_candidate_panel(); +- }); +- +- /* Set the accessible role of the label to a status bar so it +- * will emit name changed events that can be used by screen +- * readers. +- */ +- Atk.Object obj = m_entry.get_accessible(); +- obj.set_role (Atk.Role.STATUSBAR); +- + // The constructor of IBus.LookupTable does not support more than + // 16 pages. + m_lookup_table = new IBus.LookupTable(1, 0, true, true); +@@ -1806,18 +1788,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + m_lookup_table.cursor_up(); + else if (keyval == Gdk.Key.Right) + m_lookup_table.cursor_down(); +- } else if (m_entry.get_text().length > 0) { +- int step = 0; +- if (keyval == Gdk.Key.Left) +- step = -1; +- else if (keyval == Gdk.Key.Right) +- step = 1; +- GLib.Signal.emit_by_name( +- m_entry, "move-cursor", +- Gtk.MovementStep.VISUAL_POSITIONS, +- step, +- (modifiers & Gdk.ModifierType.SHIFT_MASK) != 0 +- ? true : false); + } else { + // For Gdk.Key.f and Gdk.Key.b + if (keyval == Gdk.Key.Left) +@@ -1880,20 +1850,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + } + return true; + } +- if (m_entry.get_text().length > 0) { +- int step = 0; +- if (keyval == Gdk.Key.Home) +- step = -1; +- else if (keyval == Gdk.Key.End) +- step = 1; +- GLib.Signal.emit_by_name( +- m_entry, "move-cursor", +- Gtk.MovementStep.DISPLAY_LINE_ENDS, +- step, +- (modifiers & Gdk.ModifierType.SHIFT_MASK) != 0 +- ? true : false); +- return true; +- } + return category_list_cursor_move(keyval); + } + +@@ -1941,28 +1897,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + } + + +- private void entry_enter_keyval(uint keyval) { +- unichar ch = IBus.keyval_to_unicode(keyval); +- if (ch.iscntrl()) +- return; +- string str = ch.to_string(); +- +- // what gtk_entry_commit_cb() do +- if (m_entry.get_selection_bounds(null, null)) { +- m_entry.delete_selection(); +- } else { +- if (m_entry.get_overwrite_mode()) { +- uint text_length = m_entry.get_buffer().get_length(); +- if (m_entry.cursor_position < text_length) +- m_entry.delete_from_cursor(Gtk.DeleteType.CHARS, 1); +- } +- } +- int pos = m_entry.get_position(); +- m_entry.insert_text(str, -1, ref pos); +- m_entry.set_position(pos); +- } +- +- + private Gdk.Rectangle get_monitor_geometry() { + Gdk.Rectangle monitor_area = { 0, }; + +@@ -2245,10 +2179,7 @@ public class IBusEmojier : Gtk.ApplicationWindow { + /* Let gtk recalculate the window size. */ + resize(1, 1); + +- m_entry.set_text(""); +- + show_category_list(); +- m_entry.set_activates_default(true); + show_all(); + + /* Some window managers, e.g. MATE, GNOME, Plasma desktops, +@@ -2289,13 +2220,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + m_loop.run(); + m_loop = null; + +- // Need focus-out on Gtk.Entry to send the emoji to applications. +- Gdk.Event fevent = new Gdk.Event(Gdk.EventType.FOCUS_CHANGE); +- fevent.focus_change.in = 0; +- fevent.focus_change.window = get_window(); +- m_entry.send_focus_change(fevent); +- fevent.focus_change.window = null; +- + hide(); + // Make sure the switcher is hidden before returning from this function. + while (Gtk.events_pending()) +@@ -2357,36 +2281,9 @@ public class IBusEmojier : Gtk.ApplicationWindow { + hide(); + } + return true; +- case Gdk.Key.BackSpace: +- if (m_entry.get_text().length > 0) { +- if ((modifiers & Gdk.ModifierType.CONTROL_MASK) != 0) { +- GLib.Signal.emit_by_name(m_entry, "delete-from-cursor", +- Gtk.DeleteType.WORD_ENDS, -1); +- } else { +- GLib.Signal.emit_by_name(m_entry, "backspace"); +- } +- return true; +- } +- break; +- case Gdk.Key.Delete: +- case Gdk.Key.KP_Delete: +- if (m_entry.get_text().length > 0) { +- if ((modifiers & Gdk.ModifierType.CONTROL_MASK) != 0) { +- GLib.Signal.emit_by_name(m_entry, "delete-from-cursor", +- Gtk.DeleteType.WORD_ENDS, 1); +- } else { +- GLib.Signal.emit_by_name(m_entry, "delete-from-cursor", +- Gtk.DeleteType.CHARS, 1); +- } +- return true; +- } +- break; + case Gdk.Key.space: + case Gdk.Key.KP_Space: +- if ((modifiers & Gdk.ModifierType.SHIFT_MASK) != 0) { +- if (m_entry.get_text().length > 0) +- entry_enter_keyval(keyval); +- } else if (m_candidate_panel_is_visible) { ++ if (m_candidate_panel_is_visible) { + enter_notify_disable_with_timer(); + m_lookup_table.cursor_down(); + show_candidate_panel(); +@@ -2436,10 +2333,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + key_press_cursor_home_end(Gdk.Key.End, modifiers); + show_all(); + return true; +- case Gdk.Key.Insert: +- case Gdk.Key.KP_Insert: +- GLib.Signal.emit_by_name(m_entry, "toggle-overwrite"); +- return true; + } + + if ((modifiers & Gdk.ModifierType.CONTROL_MASK) != 0) { +@@ -2470,27 +2363,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + key_press_cursor_home_end(Gdk.Key.End, modifiers); + show_all(); + return true; +- case Gdk.Key.u: +- if (m_entry.get_text().length > 0) { +- GLib.Signal.emit_by_name(m_entry, +- "delete-from-cursor", +- Gtk.DeleteType.PARAGRAPH_ENDS, +- -1); +- return true; +- } +- break; +- case Gdk.Key.a: +- if (m_entry.get_text().length > 0) { +- m_entry.select_region(0, -1); +- return true; +- } +- break; +- case Gdk.Key.x: +- if (m_entry.get_text().length > 0) { +- GLib.Signal.emit_by_name(m_entry, "cut-clipboard"); +- return true; +- } +- break; + case Gdk.Key.C: + case Gdk.Key.c: + if ((modifiers & Gdk.ModifierType.SHIFT_MASK) != 0) { +@@ -2503,19 +2375,11 @@ public class IBusEmojier : Gtk.ApplicationWindow { + clipboard.store(); + return true; + } +- } else if (m_entry.get_text().length > 0) { +- GLib.Signal.emit_by_name(m_entry, "copy-clipboard"); +- return true; + } + break; +- case Gdk.Key.v: +- GLib.Signal.emit_by_name(m_entry, "paste-clipboard"); +- return true; + } + return false; + } +- +- entry_enter_keyval(keyval); + return true; + } + +@@ -2595,7 +2459,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + + uint32 timestamp = event.get_time(); + present_with_time(timestamp); +- m_entry.set_activates_default(true); + } + + +-- +2.17.1 + +From e6badb494e0a31b7aca3a5078a5dc5b27b83390d Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 30 Aug 2018 12:57:46 +0900 +Subject: [PATCH] ui/gtk3: Support Shift-Space to insert a Space on Emojier + preedit + +Implemented Shift-Space on preedit since Shift-Space had worked on +Emojier's GtkEntry in the previous release. +--- + ui/gtk3/panelbinding.vala | 27 ++++++++++++++++++++------- + 1 file changed, 20 insertions(+), 7 deletions(-) + +diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala +index 981b5509..4ebff8da 100644 +--- a/ui/gtk3/panelbinding.vala ++++ b/ui/gtk3/panelbinding.vala +@@ -548,6 +548,19 @@ class PanelBinding : IBus.PanelService { + } + + ++ private bool key_press_keyval(uint keyval) { ++ unichar ch = IBus.keyval_to_unicode(keyval); ++ if (ch.iscntrl()) ++ return false; ++ string str = ch.to_string(); ++ m_preedit.append_text(str); ++ string annotation = m_preedit.get_text(); ++ m_emojier.set_annotation(annotation); ++ m_preedit.set_emoji(""); ++ return true; ++ } ++ ++ + private bool key_press_enter() { + if (m_extension_name != "unicode" && is_emoji_lookup_table()) { + // Check if variats exist +@@ -899,6 +912,12 @@ class PanelBinding : IBus.PanelService { + break; + case Gdk.Key.space: + case Gdk.Key.KP_Space: ++ if ((modifiers & Gdk.ModifierType.SHIFT_MASK) != 0) { ++ if (!key_press_keyval(keyval)) ++ return true; ++ show_candidate = is_emoji_lookup_table(); ++ break; ++ } + show_candidate = key_press_space(); + if (m_extension_name == "unicode") { + key_press_enter(); +@@ -979,14 +998,8 @@ class PanelBinding : IBus.PanelService { + show_candidate = key_press_control_keyval(keyval, modifiers); + break; + } +- unichar ch = IBus.keyval_to_unicode(keyval); +- if (ch.iscntrl()) ++ if (!key_press_keyval(keyval)) + return true; +- string str = ch.to_string(); +- m_preedit.append_text(str); +- string annotation = m_preedit.get_text(); +- m_emojier.set_annotation(annotation); +- m_preedit.set_emoji(""); + show_candidate = is_emoji_lookup_table(); + break; + } +-- +2.17.1 + +From 809d880337e75b7cee429292a238bf53899bef6a Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Thu, 30 Aug 2018 12:58:57 +0900 +Subject: [PATCH] ui/gtk3: Do not move Emojier popup with the active + candidate in Xorg + +Probably I think it's not useful to change the popup position frequently. +The popup size is always slightly changed with the emoji annotation length. +--- + ui/gtk3/emojier.vala | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala +index 0f455800..9811fde5 100644 +--- a/ui/gtk3/emojier.vala ++++ b/ui/gtk3/emojier.vala +@@ -1944,7 +1944,15 @@ public class IBusEmojier : Gtk.ApplicationWindow { + x = 0; + + bool changed = false; +- if (window_right_bottom.y > monitor_bottom) { ++ // Do not up side down frequently. ++ // The first pos does not show the lookup table yet but the ++ // preedit only and the second pos shows the lookup table. ++ if (m_lookup_table.get_cursor_pos() != 1) { ++ if (m_is_up_side_down) ++ y = m_cursor_location.y - allocation.height; ++ else ++ y = cursor_right_bottom.y; ++ } else if (window_right_bottom.y > monitor_bottom) { + y = m_cursor_location.y - allocation.height; + // Do not up side down in Wayland + if (m_input_context_path == "") { +-- +2.17.1 + +From 1c6565e205528a45e88a84ba2a328f9035875c8d Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 14 Sep 2018 16:15:41 +0900 +Subject: [PATCH] ui/gtk3: Fix SEGV when commit an emoji on Emojier in Wayland + +Just pressing Space key without emoji annotations can launch Emojier +popup and the popup takes a focus in Wayland and the chosen emoji is +output when the original text application gets the focus after Emojier +popup release the focus. Emojier disabled Ctrl-Shift-e after got the focus. +But currently GNOME Wayland has a bug not to send focus-in until a +key press or mouse click happens [1] and Emojier causes a SEGV. +Now Emojier disables Ctrl-Shift-e immediately when an emoji is chosen +whether focus-in comes or not and fixes the SEGV. + +[1] https://gitlab.gnome.org/GNOME/gnome-shell/issues/573 + +BUG=rhbz#1625187 +--- + ui/gtk3/emojier.vala | 63 +++++++------------------------------- + ui/gtk3/emojierapp.vala | 2 +- + ui/gtk3/panelbinding.vala | 64 ++++++++++++++++++++++++++------------- + 3 files changed, 55 insertions(+), 74 deletions(-) + +diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala +index 9811fde5..e23ef889 100644 +--- a/ui/gtk3/emojier.vala ++++ b/ui/gtk3/emojier.vala +@@ -21,17 +21,6 @@ + */ + + public class IBusEmojier : Gtk.ApplicationWindow { +- private class EEntry : Gtk.SearchEntry { +- public EEntry() { +- GLib.Object( +- name : "IBusEmojierEntry", +- margin_start : 6, +- margin_end : 6, +- margin_top : 6, +- margin_bottom : 6 +- ); +- } +- } + private class EListBox : Gtk.ListBox { + public EListBox() { + GLib.Object( +@@ -330,6 +319,7 @@ public class IBusEmojier : Gtk.ApplicationWindow { + private uint m_redraw_window_id; + + public signal void candidate_clicked(uint index, uint button, uint state); ++ public signal void commit_text(string text); + + public IBusEmojier() { + GLib.Object( +@@ -380,12 +370,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + adjust_window_position(); + }); + +- candidate_clicked.connect((i, b, s) => { +- if (m_input_context_path != "") +- candidate_panel_select_index(i, b); +- }); +- +- + if (m_annotation_to_emojis_dict == null) { + reload_emoji_dict(); + } +@@ -1641,34 +1625,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + } + + +- private void candidate_panel_select_index(uint index, +- uint button) { +- if (button == BUTTON_CLOSE_BUTTON) { +- hide(); +- if (m_candidate_panel_mode && +- m_lookup_table.get_number_of_candidates() > 0) { +- // Call remove_all_children() instead of show_category_list() +- // so that show_category_list do not remove children with +- // PageUp/PageDown. +- remove_all_children(); +- } +- m_result = ""; +- return; +- } +- string text = m_lookup_table.get_candidate(index).text; +- unowned GLib.SList? emojis = +- m_emoji_to_emoji_variants_dict.lookup(text); +- if (m_show_emoji_variant && emojis != null && +- m_backward_index < 0) { +- show_emoji_variants(emojis); +- show_all(); +- } else { +- m_result = text; +- hide(); +- } +- } +- +- + private void candidate_panel_cursor_down() { + enter_notify_disable_with_timer(); + uint ncandidates = m_lookup_table.get_number_of_candidates(); +@@ -1762,7 +1718,8 @@ public class IBusEmojier : Gtk.ApplicationWindow { + } + + +- public bool has_variants(uint index) { ++ public bool has_variants(uint index, ++ bool need_commit_signal) { + if (index >= m_lookup_table.get_number_of_candidates()) + return false; + string text = m_lookup_table.get_candidate(index).text; +@@ -1773,6 +1730,10 @@ public class IBusEmojier : Gtk.ApplicationWindow { + show_emoji_variants(emojis); + return true; + } ++ if (m_input_context_path != "") ++ m_result = text; ++ if (need_commit_signal) ++ commit_text(text); + return false; + } + +@@ -1881,10 +1842,10 @@ public class IBusEmojier : Gtk.ApplicationWindow { + } + + +- public bool key_press_enter() { ++ public bool key_press_enter(bool need_commit_signal) { + if (m_candidate_panel_is_visible) { + uint index = m_lookup_table.get_cursor_pos(); +- return has_variants(index); ++ return has_variants(index, need_commit_signal); + } else if (m_category_active_index >= 0) { + Gtk.ListBoxRow gtkrow = m_list_box.get_selected_row(); + EBoxRow row = gtkrow as EBoxRow; +@@ -2282,12 +2243,10 @@ public class IBusEmojier : Gtk.ApplicationWindow { + return true; + case Gdk.Key.Return: + case Gdk.Key.KP_Enter: +- if (key_press_enter()) { ++ if (key_press_enter(true)) + show_all(); +- } else { +- m_result = get_current_candidate(); ++ else + hide(); +- } + return true; + case Gdk.Key.space: + case Gdk.Key.KP_Space: +diff --git a/ui/gtk3/emojierapp.vala b/ui/gtk3/emojierapp.vala +index 787d448f..fab99d9e 100644 +--- a/ui/gtk3/emojierapp.vala ++++ b/ui/gtk3/emojierapp.vala +@@ -65,7 +65,7 @@ public class EmojiApplication : Gtk.Application { + uint ncandidates = m_emojier.get_number_of_candidates(); + if (ncandidates > 0 && ncandidates >= index) { + m_emojier.set_cursor_pos(index); +- show_candidate = m_emojier.has_variants(index); ++ show_candidate = m_emojier.has_variants(index, false); + } else { + return; + } +diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala +index 4ebff8da..01c43b0d 100644 +--- a/ui/gtk3/panelbinding.vala ++++ b/ui/gtk3/panelbinding.vala +@@ -447,13 +447,19 @@ class PanelBinding : IBus.PanelService { + } + + +- private void commit_text_update_favorites(IBus.Text text) { ++ private void commit_text_update_favorites(IBus.Text text, ++ bool disable_extension) { + commit_text(text); +- IBus.ExtensionEvent event = new IBus.ExtensionEvent( ++ ++ // If disable_extension is false, the extension event is already ++ // sent before the focus-in is received. ++ if (disable_extension) { ++ IBus.ExtensionEvent event = new IBus.ExtensionEvent( + "name", m_extension_name, + "is-enabled", false, + "is-extension", true); +- panel_extension(event); ++ panel_extension(event); ++ } + string committed_string = text.text; + string preedit_string = m_preedit.get_text(); + m_preedit.hide(); +@@ -482,7 +488,7 @@ class PanelBinding : IBus.PanelService { + prev_context_path != "" && + prev_context_path == m_current_context_path) { + IBus.Text text = new IBus.Text.from_string(selected_string); +- commit_text_update_favorites(text); ++ commit_text_update_favorites(text, false); + m_emojier.reset(); + return true; + } +@@ -564,13 +570,13 @@ class PanelBinding : IBus.PanelService { + private bool key_press_enter() { + if (m_extension_name != "unicode" && is_emoji_lookup_table()) { + // Check if variats exist +- if (m_emojier.key_press_enter()) { ++ if (m_emojier.key_press_enter(false)) { + convert_preedit_text(); + return true; + } + } + IBus.Text text = m_preedit.get_commit_text(); +- commit_text_update_favorites(text); ++ commit_text_update_favorites(text, true); + return false; + } + +@@ -712,15 +718,10 @@ class PanelBinding : IBus.PanelService { + } + + +- private bool is_visible_wayland_lookup_table() { +- return m_wayland_lookup_table_is_visible; +- } +- +- + private void hide_emoji_lookup_table() { + if (m_emojier == null) + return; +- if (m_is_wayland) ++ if (m_wayland_lookup_table_is_visible) + hide_wayland_lookup_table(); + else + m_emojier.hide(); +@@ -747,7 +748,7 @@ class PanelBinding : IBus.PanelService { + + private bool is_emoji_lookup_table() { + if (m_is_wayland) +- return is_visible_wayland_lookup_table(); ++ return m_wayland_lookup_table_is_visible; + else + return m_emojier.get_visible(); + } +@@ -788,7 +789,8 @@ class PanelBinding : IBus.PanelService { + */ + if (!input_context_path.has_suffix("InputContext_1")) { + m_real_current_context_path = m_current_context_path; +- this.emojier_focus_commit(); ++ if (m_is_wayland) ++ this.emojier_focus_commit(); + } + } + +@@ -822,8 +824,18 @@ class PanelBinding : IBus.PanelService { + // For title handling in gnome-shell + m_application.add_window(m_emojier); + m_emojier.candidate_clicked.connect((i, b, s) => { ++ candidate_clicked_lookup_table_real(i, b, s, true); ++ }); ++ m_emojier.commit_text.connect((s) => { + if (!m_is_wayland) +- candidate_clicked_lookup_table(i, b, s); ++ return; ++ // Currently emojier has a focus but the text input focus ++ // does not and commit the text later. ++ IBus.ExtensionEvent close_event = new IBus.ExtensionEvent( ++ "name", m_extension_name, ++ "is-enabled", false, ++ "is-extension", true); ++ panel_extension(close_event); + }); + } + m_emojier.reset(); +@@ -1041,9 +1053,10 @@ class PanelBinding : IBus.PanelService { + show_preedit_and_candidate(show_candidate); + } + +- public override void candidate_clicked_lookup_table(uint index, +- uint button, +- uint state) { ++ private void candidate_clicked_lookup_table_real(uint index, ++ uint button, ++ uint state, ++ bool is_emojier) { + if (button == IBusEmojier.BUTTON_CLOSE_BUTTON) { + m_enable_extension = false; + hide_emoji_lookup_table(); +@@ -1061,17 +1074,26 @@ class PanelBinding : IBus.PanelService { + uint ncandidates = m_emojier.get_number_of_candidates(); + if (ncandidates > 0 && ncandidates >= index) { + m_emojier.set_cursor_pos(index); +- show_candidate = m_emojier.has_variants(index); +- m_preedit.set_emoji(m_emojier.get_current_candidate()); ++ bool need_commit_signal = m_is_wayland && is_emojier; ++ show_candidate = m_emojier.has_variants(index, need_commit_signal); ++ if (!m_is_wayland) ++ m_preedit.set_emoji(m_emojier.get_current_candidate()); + } else { + return; + } + if (!show_candidate) { + IBus.Text text = m_preedit.get_commit_text(); +- commit_text_update_favorites(text); + hide_emoji_lookup_table(); ++ if (!is_emojier || !m_is_wayland) ++ commit_text_update_favorites(text, true); + return; + } + show_preedit_and_candidate(show_candidate); + } ++ ++ public override void candidate_clicked_lookup_table(uint index, ++ uint button, ++ uint state) { ++ candidate_clicked_lookup_table_real(index, button, state, false); ++ } + } +-- +2.17.1 + +From c1b55431c076dfa3fc26a3a998bfcf729e9ba602 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 26 Oct 2018 18:44:35 +0900 +Subject: [PATCH] src/tests: Fix make check in Fedora 29 + +ibus-bus and ibus-compose failed in Fedora 29. + +1. In ibus-bus with runtest, ibus-daemon failed to restart in +start_exit_async() because it seems to have conflicting IO with runtest +and ibus-daemon failed to close a file descriptor in _restart_server(). +The solution is to add a sleep in start_exit_async(). +Also added ibus_get_address() in test_async_apis_finish() to check +if ibus-daemon finished to restart. + +2. In ibus-compose, the GTK application could not get the ibus module. +The solution is to export GTK_IM_MODULE=ibus. + +3. Added DISABLE_DAEMONIZE_IN_TESTS to get error messages in ibus-daemon. +% make DISABLE_DAEMONIZE_IN_TESTS=1 check +--- + bus/Makefile.am | 1 + + src/tests/Makefile.am | 1 + + src/tests/ibus-bus.c | 15 ++++++++++++++- + src/tests/runtest | 24 +++++++++++++++++------- + 4 files changed, 33 insertions(+), 8 deletions(-) + +diff --git a/bus/Makefile.am b/bus/Makefile.am +index bdae5c92..4383a874 100644 +--- a/bus/Makefile.am ++++ b/bus/Makefile.am +@@ -124,6 +124,7 @@ TESTS_ENVIRONMENT = \ + srcdir=$(srcdir) \ + LD_LIBRARY_PATH="$(top_builddir)/src/.libs:$(top_builddir)/src" \ + DISABLE_GUI_TESTS="$(DISABLE_GUI_TESTS)" \ ++ DISABLE_DAEMONIZE_IN_TESTS="$(DISABLE_DAEMONIZE_IN_TESTS)" \ + $(NULL) + + LOG_COMPILER = $(top_srcdir)/src/tests/runtest +diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am +index c5fef3c8..e337a59b 100644 +--- a/src/tests/Makefile.am ++++ b/src/tests/Makefile.am +@@ -73,6 +73,7 @@ TESTS_ENVIRONMENT = \ + srcdir=$(srcdir) \ + LD_LIBRARY_PATH="$(top_builddir)/src/.libs:$(top_builddir)/src" \ + DISABLE_GUI_TESTS="$(DISABLE_GUI_TESTS)" \ ++ DISABLE_DAEMONIZE_IN_TESTS="$(DISABLE_DAEMONIZE_IN_TESTS)" \ + $(NULL) + + LOG_COMPILER = $(srcdir)/runtest +diff --git a/src/tests/ibus-bus.c b/src/tests/ibus-bus.c +index 7fa1bc4a..0bf9e612 100644 +--- a/src/tests/ibus-bus.c ++++ b/src/tests/ibus-bus.c +@@ -820,6 +820,14 @@ finish_exit_async (GObject *source_object, + static void + start_exit_async (void) + { ++ /* When `./runtest ibus-bus` runs, ibus-daemon sometimes failed to ++ * restart because closing a file descriptor was failed in ++ * bus/server.c:_restart_server() with a following error: ++ * "inotify read(): Bad file descriptor" ++ * Now g_usleep() is added here to write down the buffer and not to ++ * fail to restart ibus-daemon. ++ */ ++ g_usleep (G_USEC_PER_SEC); + ibus_bus_exit_async (bus, + TRUE, /* restart */ + -1, /* timeout */ +@@ -831,6 +839,9 @@ start_exit_async (void) + static gboolean + test_async_apis_finish (gpointer user_data) + { ++ /* INFO: g_warning() causes SEGV with runtest script */ ++ if (ibus_get_address () == NULL) ++ g_warning ("ibus-daemon does not restart yet from start_exit_async()."); + ibus_quit (); + return FALSE; + } +@@ -906,7 +917,9 @@ call_next_async_function (void) + }; + static guint index = 0; + +- // Use g_timeout_add to make sure test_async_apis finishes even if async_functions is empty. ++ /* Use g_timeout_add to make sure test_async_apis finishes even if ++ * async_functions is empty. ++ */ + if (index >= G_N_ELEMENTS (async_functions)) + g_timeout_add (1, test_async_apis_finish, NULL); + else +diff --git a/src/tests/runtest b/src/tests/runtest +index d7f96ea3..ab39e9f2 100755 +--- a/src/tests/runtest ++++ b/src/tests/runtest +@@ -22,6 +22,7 @@ + : ${builddir:=.} + : ${srcdir:=.} + : ${DISABLE_GUI_TESTS:=''} ++: ${DISABLE_DAEMONIZE_IN_TESTS:=''} + + BUS_REQUIRED_TESTS=" + ibus-bus +@@ -162,16 +163,25 @@ run_test_case() + export GSETTINGS_SCHEMA_DIR=$PWD + + # Start ibus-daemon. +- ../$top_builddir/bus/ibus-daemon \ +- --daemonize \ +- --cache=none \ +- --panel=disable \ +- --emoji-extension=disable \ +- --config=default \ +- --verbose; ++ DAEMON_ARGS=' ++ --cache=none ++ --panel=disable ++ --emoji-extension=disable ++ --config=default ++ --verbose ++ ' ++ if test x"$DISABLE_DAEMONIZE_IN_TESTS" = x ; then ++ ../$top_builddir/bus/ibus-daemon \ ++ $DAEMON_ARGS --daemonize; ++ else ++ ../$top_builddir/bus/ibus-daemon \ ++ $DAEMON_ARGS & ++ fi + + # Wait until all necessary components are up. + sleep 1 ++ ++ export GTK_IM_MODULE=ibus + fi + + "../$tst" ${1+"$@"} +-- +2.17.1 + +From 3172c3b23faefe76b3b7adfc75f9be34a0fb2e02 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 31 Oct 2018 17:42:38 +0900 +Subject: [PATCH] RHEL code reviews + +--- + src/ibuskeymap.c | 2 +- + src/ibuspanelservice.c | 6 +++++- + src/tests/ibus-keypress.c | 2 +- + util/IMdkit/FrameMgr.c | 1 + + 4 files changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/ibuskeymap.c b/src/ibuskeymap.c +index 27a56754..5abfb99a 100644 +--- a/src/ibuskeymap.c ++++ b/src/ibuskeymap.c +@@ -143,7 +143,7 @@ ibus_keymap_parse_line (gchar *str, + /* Do not assign *p1 to g_ascii_isalpha() directly for the syntax check */ + if (i == 0 && + strncmp (p2, "addupper", sizeof ("addupper") - 1) == 0 && +- (ch = *p1) && g_ascii_isalpha (ch)) { ++ (ch = *p1) && (ch >= 0) && g_ascii_isalpha (ch)) { + gchar buf[] = "a"; + buf[0] = g_ascii_toupper(ch); + keymap[keycode][0] = keymap[keycode][3] = keysym; +diff --git a/src/ibuspanelservice.c b/src/ibuspanelservice.c +index 9d87e19b..984cc890 100644 +--- a/src/ibuspanelservice.c ++++ b/src/ibuspanelservice.c +@@ -1615,7 +1615,11 @@ ibus_panel_service_panel_extension_register_keys (IBusPanelService *panel, + va_start (var_args, first_property_name); + do { + keys = va_arg (var_args, IBusProcessKeyEventData *); +- g_return_if_fail (keys != NULL); ++ if (keys == NULL) { ++ va_end (var_args); ++ g_warning ("Failed to va_arg for IBusProcessKeyEventData"); ++ return; ++ } + g_variant_builder_init (&child, G_VARIANT_TYPE ("av")); + for (; keys; keys++) { + if (keys->keyval == 0 && keys->keycode == 0 && keys->state == 0) +diff --git a/src/tests/ibus-keypress.c b/src/tests/ibus-keypress.c +index 3486523b..17920226 100644 +--- a/src/tests/ibus-keypress.c ++++ b/src/tests/ibus-keypress.c +@@ -173,7 +173,7 @@ set_engine_cb (GObject *object, + IBusBus *bus = IBUS_BUS (object); + GtkWidget *entry = GTK_WIDGET (data); + GdkDisplay *display; +- Display *xdisplay; ++ Display *xdisplay = NULL; + GError *error = NULL; + int i, j; + +diff --git a/util/IMdkit/FrameMgr.c b/util/IMdkit/FrameMgr.c +index 084b8810..0e91b78e 100644 +--- a/util/IMdkit/FrameMgr.c ++++ b/util/IMdkit/FrameMgr.c +@@ -1414,6 +1414,7 @@ static int FrameInstGetSize (FrameInst fi) + break; + } + /*endswitch*/ ++ assert (i >= 0); + i = _FrameInstIncrement (fi->template, i); + } + /*endwhile*/ +-- +2.17.1 + diff --git a/SOURCES/ibus-xinput b/SOURCES/ibus-xinput new file mode 100644 index 0000000..4d7f457 --- /dev/null +++ b/SOURCES/ibus-xinput @@ -0,0 +1,18 @@ +XIM=ibus +XIM_PROGRAM="/usr/bin/ibus-daemon" +ICON="ibus" +XIM_ARGS="-r --xim" +PREFERENCE_PROGRAM=/usr/bin/ibus-setup +SHORT_DESC="IBus" +GTK_IM_MODULE=ibus +NOT_RUN=gnome3 + +if test -f /usr/lib64/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so || \ + test -f /usr/lib/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so || \ + test -f /usr/lib64/qt4/plugins/inputmethods/libqtim-ibus.so || \ + test -f /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so; +then + QT_IM_MODULE=ibus +else + QT_IM_MODULE=xim +fi diff --git a/SOURCES/ibus.conf.5 b/SOURCES/ibus.conf.5 new file mode 100644 index 0000000..c5795b3 --- /dev/null +++ b/SOURCES/ibus.conf.5 @@ -0,0 +1,73 @@ +.\" This file is distributed under the same license as the ibus +.\" package. +.\" Copyright (C) Takao Fujiwara , 2013. +.\" +.TH IBUS.CONF "5" "August 2013" "1.5.3" "User Commands" +.SH NAME +.B ibus.conf +\- X input preload/configuration file for ibus + +.SH SYNOPSIS +.B /etc/X11/xinit/xinput.d/ibus.conf + +.SH DESCRIPTION + +.PP +IBus is an Intelligent Input Bus. It is a new input framework for Linux +OS. It provides full featured and user friendly input method user +interface. It also may help developers to develop input method easily. + +.PP +.B ibus.conf +is a configuration file containing X input setting values to be read in +and set by /etc/X11/xinit/xinitrc\-common. +.I imsettings-switch(1) +is called from XDG auto\-start and invokes +xinitrc\-common. +.LP +If this file is the alias of +.I /etc/X11/xinit/xinputrc +for the system setting +or +.I [$XDG_CONFIG_HOME|$HOME/.config]/imsettings/xinputrc +for the user setting, the setting can be default. +.I im\-chooser(1) +can choose the user setting. +.LP +The configuration options are: +.TP +\fBXIM\fP +XIM name for XMODIFIERS +.TP +\fBXIM_PROGRAM\fP +XIM executable program name +.TP +\fBXIM_ARGS\fP +XIM arguments for XIM_PROGRAM +.TP +\fBSHORT_DESC\fP +XIM human readable name for +.I im\-chooser(1) +.TP +\fBICON\fP +icon file for +.I im\-chooser(1) +.TP +\fBPREFERENCE_PROGRAM\fP +XIM setup program for +.I im\-chooser(1) +.TP +\fBGTK_IM_MODULE\fP +IM environment valuable for GTK+ applications. +.TP +\fBQT_IM_MODULE\fP +IM environment valuable for QT applications. + +.SH BUGS +If you find a bug, please report it at http://code.google.com/p/ibus/issues/list + +.SH "SEE ALSO" +.BR ibus\-daemon (1) +.BR imsettings\-switch (1) +.BR im\-chooser (1) +.BR X (7) diff --git a/SPECS/ibus.spec b/SPECS/ibus.spec new file mode 100644 index 0000000..8a1fe8c --- /dev/null +++ b/SPECS/ibus.spec @@ -0,0 +1,1543 @@ +%if (0%{?fedora} > 29 || 0%{?rhel} > 7) +%global with_python2 0 +%else +%global with_python2 1 +%endif + +%global with_pkg_config %(pkg-config --version >/dev/null 2>&1 && echo -n "1" || echo -n "0") + +%if (0%{?fedora} > 21 || 0%{?rhel} > 7) +%global with_kde5 1 +%else +%global with_kde5 0 +%endif + +%global ibus_api_version 1.0 + +# for bytecompile in %%{_datadir}/ibus/setup +%global __python %{__python3} + +%if %with_pkg_config +%{!?gtk2_binary_version: %global gtk2_binary_version %(pkg-config --variable=gtk_binary_version gtk+-2.0)} +%{!?gtk3_binary_version: %global gtk3_binary_version %(pkg-config --variable=gtk_binary_version gtk+-3.0)} +%global glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999") +%else +%{!?gtk2_binary_version: %global gtk2_binary_version ?.?.?} +%{!?gtk3_binary_version: %global gtk3_binary_version ?.?.?} +%global glib_ver 0 +%endif + +%global dbus_python_version 0.83.0 + +Name: ibus +Version: 1.5.19 +Release: 4%{?dist} +Summary: Intelligent Input Bus for Linux OS +License: LGPLv2+ +Group: System Environment/Libraries +URL: https://github.com/ibus/%name/wiki +Source0: https://github.com/ibus/%name/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.19-20180822.tar.gz +# Patch0: %%{name}-HEAD.patch +Patch0: %{name}-HEAD.patch +# Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577 +Patch1: %{name}-1385349-segv-bus-proxy.patch + +BuildRequires: gettext-devel +BuildRequires: libtool +# for gtkdoc-fixxref +BuildRequires: glib2-doc +BuildRequires: gtk2-devel +BuildRequires: gtk3-devel +BuildRequires: dbus-glib-devel +BuildRequires: dbus-python-devel >= %{dbus_python_version} +BuildRequires: desktop-file-utils +BuildRequires: gtk-doc +BuildRequires: dconf-devel +BuildRequires: dbus-x11 +BuildRequires: python3-devel +BuildRequires: python3-gobject +# https://bugzilla.gnome.org/show_bug.cgi?id=759334 +# Need python2 for gsettings-schema-convert +BuildRequires: python2-devel +BuildRequires: vala +BuildRequires: vala-devel +BuildRequires: vala-tools +# for AM_GCONF_SOURCE_2 in configure.ac +BuildRequires: GConf2-devel +BuildRequires: git +BuildRequires: intltool +BuildRequires: iso-codes-devel +BuildRequires: libnotify-devel +BuildRequires: libwayland-client-devel +%if %with_kde5 +BuildRequires: qt5-qtbase-devel +%endif +BuildRequires: cldr-emoji-annotation +BuildRequires: unicode-emoji +BuildRequires: unicode-ucd +# for ibus-keypress +BuildRequires: libXtst-devel + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-gtk2%{?_isa} = %{version}-%{release} +Requires: %{name}-gtk3%{?_isa} = %{version}-%{release} +Requires: %{name}-setup = %{version}-%{release} + +Requires: iso-codes +Requires: dconf +# rpmlint asks to delete librsvg2 +#Requires: librsvg2 +# Owner of %%python3_sitearch/gi/overrides +Requires: python3-gobject +# https://bugzilla.redhat.com/show_bug.cgi?id=1161871 +%{?__python3:Requires: %{__python3}} +# Owner of %%{_sysconfdir}/X11/xinit +Requires: xorg-x11-xinit +# for setxkbmap +Requires: xorg-x11-xkb-utils +%if (0%{?fedora} > 29 || 0%{?rhel} > 8) +%else +Requires: dbus-x11 +%endif + +Requires: desktop-file-utils +Requires(post): desktop-file-utils +Requires(postun): desktop-file-utils +Requires: dconf +Requires(postun): dconf +Requires(posttrans): dconf + +Requires: %{_sbindir}/alternatives +Requires(post): %{_sbindir}/alternatives +Requires(postun): %{_sbindir}/alternatives + +%global _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf + +%description +IBus means Intelligent Input Bus. It is an input framework for Linux OS. + +%package libs +Summary: IBus libraries +Group: System Environment/Libraries + +Requires: dbus >= 1.2.4 +Requires: glib2 >= %{glib_ver} +# Owner of %%{_libdir}/girepository-1.0 +Requires: gobject-introspection +%if (0%{?fedora} > 28 || 0%{?rhel} > 7) +%else +Conflicts: %{name}%{?_isa} < %{version} +%endif + +%description libs +This package contains the libraries for IBus + +%package gtk2 +Summary: IBus IM module for GTK2 +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: glib2 >= %{glib_ver} +Requires(post): glib2 >= %{glib_ver} +# Added for upgrade el6 to el7 +Provides: ibus-gtk = %{version}-%{release} +Obsoletes: ibus-gtk < %{version}-%{release} + +%description gtk2 +This package contains IBus IM module for GTK2 + +%package gtk3 +Summary: IBus IM module for GTK3 +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: glib2 >= %{glib_ver} +Requires(post): glib2 >= %{glib_ver} + +%description gtk3 +This package contains IBus IM module for GTK3 + +%package setup +Summary: IBus setup utility +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +%{?__python3:Requires: %{__python3}} +Requires: python3-gobject +BuildRequires: gobject-introspection-devel +BuildRequires: pygobject3-devel +BuildArch: noarch + +%description setup +This is a setup utility for IBus. + +%if %with_python2 +%package pygtk2 +Summary: IBus PyGTK2 library +Group: System Environment/Libraries +%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) +Requires: dbus-python >= %{dbus_python_version} +%else +Requires: python2-dbus >= %{dbus_python_version} +%endif +Requires: python2 +Requires: pygtk2 +BuildArch: noarch + +%description pygtk2 +This is a PyGTK2 library for IBus. Now major IBus engines use PyGObject3 +and this package will be deprecated. +%endif + +%package py2override +Summary: IBus Python2 override library +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# Owner of %%python2_sitearch/gi/overrides +%if (0%{?fedora} && 0%{?fedora} <= 27) || (0%{?rhel} && 0%{?rhel} <= 7) +Requires: pygobject3-base +%else +Requires: python2-gobject-base +%endif +Requires: python2 + +%description py2override +This is a Python2 override library for IBus. The Python files override +some functions in GObject-Introspection. + +%package wayland +Summary: IBus IM module for Wayland +Group: System Environment/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description wayland +This package contains IBus IM module for Wayland + +%package devel +Summary: Development tools for ibus +Group: Development/Libraries +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: dbus-devel +Requires: glib2-devel +# Owner of %%{_datadir}/gir-1.0 +Requires: gobject-introspection-devel +# Owner of %%{_datadir}/vala/vapi +Requires: vala + +%description devel +The ibus-devel package contains the header files and developer +docs for ibus. + +%package devel-docs +Summary: Developer documents for IBus +Group: Development/Libraries +BuildArch: noarch + +%description devel-docs +The ibus-devel-docs package contains developer documentation for IBus + + +%prep +%autosetup -S git +# cp client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c || : + +zcat %SOURCE3 | tar xfv - + +# prep test +diff client/gtk2/ibusimcontext.c client/gtk3/ibusimcontext.c +if test $? -ne 0 ; then + echo "Have to copy ibusimcontext.c into client/gtk3" + abort +fi + +%build +#autoreconf -f -i -v +#make -C ui/gtk3 maintainer-clean-generic +#make -C tools maintainer-clean-generic +autoreconf -f -i -v +%configure \ + --disable-static \ + --enable-gtk2 \ + --enable-gtk3 \ + --enable-xim \ + --enable-gtk-doc \ + --enable-surrounding-text \ + --with-python=python3 \ +%if ! %with_python2 + --disable-python2 \ +%else + --enable-python-library \ +%endif + --enable-wayland \ +%if ! %with_kde5 + --disable-appindicator \ +%endif + --enable-introspection \ + %{nil} + +make -C ui/gtk3 maintainer-clean-generic +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' +rm -f $RPM_BUILD_ROOT%{_libdir}/libibus-*%{ibus_api_version}.la +rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.la +rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.la + +# install man page +for S in %{SOURCE2} +do + cp $S . + MP=`basename $S` + gzip $MP + install -pm 644 -D ${MP}.gz $RPM_BUILD_ROOT%{_datadir}/man/man5/${MP}.gz +done + +# install xinput config file +install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf} + +# install .desktop files +echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop +#echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%%{_sysconfdir}/xdg/autostart/ibus.desktop + +desktop-file-install --delete-original \ + --dir $RPM_BUILD_ROOT%{_datadir}/applications \ + $RPM_BUILD_ROOT%{_datadir}/applications/* + +# FIXME: no version number +%find_lang %{name}10 + +%check +make check \ + DISABLE_GUI_TESTS="ibus-compose ibus-keypress test-stress" \ + VERBOSE=1 \ + %{nil} + +%post +%{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || : + +%postun +if [ "$1" -eq 0 ]; then + %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || : + # if alternative was set to manual, reset to auto + [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || : + + # 'dconf update' sometimes does not update the db... + dconf update || : + [ -f %{_sysconfdir}/dconf/db/ibus ] && \ + rm %{_sysconfdir}/dconf/db/ibus || : + # 'ibus write-cache --system' updates the system cache. + [ -f /var/cache/ibus/bus/registry ] && \ + rm /var/cache/ibus/bus/registry || : +fi + +%posttrans +dconf update || : +[ -x %{_bindir}/ibus ] && \ + %{_bindir}/ibus write-cache --system &>/dev/null || : + +%ldconfig_scriptlets libs + +%files -f %{name}10.lang +# FIXME: no version number +%doc AUTHORS COPYING README +%dir %{_datadir}/ibus/ +%{_bindir}/ibus +%{_bindir}/ibus-daemon +%{_datadir}/applications/org.freedesktop.IBus.Panel.Emojier.desktop +%{_datadir}/applications/org.freedesktop.IBus.Panel.Extension.Gtk3.desktop +%{_datadir}/bash-completion/completions/ibus.bash +%{_datadir}/dbus-1/services/*.service +%{_datadir}/GConf/gsettings/* +%{_datadir}/glib-2.0/schemas/*.xml +%{_datadir}/ibus/component +%{_datadir}/ibus/dicts +%{_datadir}/ibus/engine +%{_datadir}/ibus/keymaps +%{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/man/man1/ibus.1.gz +%{_datadir}/man/man1/ibus-daemon.1.gz +%{_datadir}/man/man7/ibus-emoji.7.gz +%{_datadir}/man/man5/00-upstream-settings.5.gz +%{_datadir}/man/man5/ibus.5.gz +%{_datadir}/man/man5/ibus.conf.5.gz +%{_libexecdir}/ibus-engine-simple +%{_libexecdir}/ibus-dconf +%{_libexecdir}/ibus-portal +%{_libexecdir}/ibus-extension-gtk3 +%{_libexecdir}/ibus-ui-emojier +%{_libexecdir}/ibus-ui-gtk3 +%{_libexecdir}/ibus-x11 +%{_sysconfdir}/dconf/db/ibus.d +%{_sysconfdir}/dconf/profile/ibus +%python3_sitearch/gi/overrides/__pycache__/*.py* +%python3_sitearch/gi/overrides/IBus.py +# 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 +# For user customization, $HOME/.xinputrc can be used instead. +%config %{_xinputconf} + +%files libs +%{_libdir}/libibus-*%{ibus_api_version}.so.* +%{_libdir}/girepository-1.0/IBus*-1.0.typelib + +%files gtk2 +%{_libdir}/gtk-2.0/%{gtk2_binary_version}/immodules/im-ibus.so + +%files gtk3 +%{_libdir}/gtk-3.0/%{gtk3_binary_version}/immodules/im-ibus.so + +# The setup package won't include icon files so that +# gtk-update-icon-cache is executed in the main package only one time. +%files setup +%{_bindir}/ibus-setup +%{_datadir}/applications/ibus-setup.desktop +%{_datadir}/ibus/setup +%{_datadir}/man/man1/ibus-setup.1.gz + +%if %with_python2 +%files pygtk2 +%dir %{python2_sitelib}/ibus +%{python2_sitelib}/ibus/* +%endif + +%if %with_python2 +%files py2override +%python2_sitearch/gi/overrides/IBus.py* +%endif + +%files wayland +%{_libexecdir}/ibus-wayland + +%files devel +%{_libdir}/lib*.so +%{_libdir}/pkgconfig/* +%{_includedir}/* +%{_datadir}/gir-1.0/IBus*-1.0.gir +%{_datadir}/vala/vapi/ibus-*1.0.vapi +%{_datadir}/vala/vapi/ibus-*1.0.deps + +%files devel-docs +# Own html dir since gtk-doc is heavy. +%dir %{_datadir}/gtk-doc +%dir %{_datadir}/gtk-doc/html +%{_datadir}/gtk-doc/html/* + +%changelog +* Tue Nov 06 2018 Takao Fujiwara - 1.5.19-4 +- Delete Requires ibus in ibus-gtk* for Flatpak +- Update upstreamed patches + +* Wed Oct 10 2018 Takao Fujiwara - 1.5.19-3 +- Fix Bug SEGV Choose an emoji by mouse from the emoji category list +- Fix Bug 1618682 - SEGV with ASCII on emojier in Wayland +- Support Shift-Space on emojier preedit +- Do not move Emojier popup with the active candidate in Xorg +- Do not clear Unicode data when emoji annotation lang is changed + +* Thu Sep 20 2018 Tomas Orsava - 1.5.19-2 +- Require the Python interpreter directly instead of using the package name +- Related: rhbz#1619153 + +* Wed Aug 08 2018 Takao Fujiwara - 1.5.19-1 +- Bumped to 1.5.19 + +* Mon Aug 06 2018 Takao Fujiwara - 1.5.18-14 +- Fixed Man page scan results for ibus +- Added IBUS_DISCARD_PASSWORD env variable for password dialog in firefox +- Added history annotation for previous emojis + +* Tue Jul 24 2018 Takao Fujiwara - 1.5.18-13 +- Deleted deprecated g_mem_* APIs + +* Mon Jul 23 2018 Takao Fujiwara - 1.5.18-12 +- Rebuilt with RHEL code reviews + +* Fri Jul 13 2018 Fedora Release Engineering - 1.5.18-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 1.5.18-10 +- Rebuilt for Python 3.7 + +* Fri Jun 29 2018 Takao Fujiwara - 1.5.18-9 +- Do not use combined characters on preedit for compose keys +- Fixed an infinite loop of extension preedit with xterm + +* Wed Jun 27 2018 Takao Fujiwara - 1.5.18-8 +- Enable preedit for compose keys +- Fix SEGV in panel_binding_parse_accelerator + +* Wed Jun 20 2018 Takao Fujiwara - 1.5.18-7 +- Moved input focus on Emojier to engines' preedit +- Removed ibus-xx-emoji-harfbuzz.patch not to change session emoji font + +* Tue Jun 19 2018 Miro Hrončok - 1.5.18-6 +- Rebuilt for Python 3.7 + +* Mon May 07 2018 Takao Fujiwara - 1.5.18-5 +- Disabled python2 since RHEL8 +- Run make check in %%check except for GUI testings +- Fixed Bug 1574855 - [abrt] ibus: ibus_engine_filter_key_event() + +* Fri Mar 30 2018 Takao Fujiwara - 1.5.18-4 +- Fixed Bug 1554714 - improve order of unicode matches + +* Thu Mar 15 2018 Takao Fujiwara - 1.5.18-3 +- Fixed Bug 1554813 - Enter key on numpad in Emojier + +* Fri Mar 09 2018 Takao Fujiwara - 1.5.18-2 +- Rebuilt for cldr-emoji-annotation-32.90.0_1 and unicode-emoji-10.90.20180207 + +* Fri Mar 02 2018 Takao Fujiwara - 1.5.18-1 +- Bumped to 1.5.18 + +* Wed Feb 28 2018 Iryna Shcherbina - 1.5.17-11 +- Update Python 2 dependency declarations to new packaging standards + (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3) + +* Tue Feb 27 2018 Takao Fujiwara - 1.5.17-10 +- Disabled panel extension for gdm user +- Enabled panel extension in Wayland + +* Wed Feb 21 2018 Takao Fujiwara - 1.5.17-9 +- Added panel extension for emoji keybinding not to depen on desktops +- Showed Unicode code points on Unicode name list + +* Tue Feb 13 2018 Igor Gnatenko - 1.5.17-8 +- Remove useless requires + +* Tue Feb 06 2018 Takao Fujiwara - 1.5.17-7 +- Added Unicode typing on Emojier + +* Sat Feb 03 2018 Igor Gnatenko - 1.5.17-6 +- Switch to %%ldconfig_scriptlets + +* Fri Jan 19 2018 Takao Fujiwara - 1.5.17-5 +- Rebuilt for scriptlets + +* Wed Jan 17 2018 Takao Fujiwara - 1.5.17-4 +- Added DBus filtering + +* Sat Jan 06 2018 Igor Gnatenko - 1.5.17-3 +- Remove obsolete scriptlets + +* Fri Jan 05 2018 Igor Gnatenko - 1.5.17-2 +- Remove obsolete scriptlets + +* Sun Oct 22 2017 Takao Fujiwara - 1.5.17-1 +- Bumped to 1.5.17 + +* Thu Sep 21 2017 Takao Fujiwara - 1.5.16-11 +- Copy ibusimcontext.c +- Fix Super-space in Plasma after ibus exit + +* Wed Sep 20 2017 Takao Fujiwara - 1.5.16-10 +- Fix Bug 1490733 Emojier takes wrong fonts + +* Thu Sep 14 2017 Takao Fujiwara - 1.5.16-9 +- Fix scaling factor, mouse events on switcher, c-s-u on im-ibus, + propertypanel position and menu +- Add ibus-portal +- Move ibus-emoji-dialog.vapi in the build +- Fixed some SEGVs #1406699 #1432252 + +* Wed Aug 02 2017 Fedora Release Engineering - 1.5.16-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Mon Jul 31 2017 Florian Weimer - 1.5.16-7 +- Rebuild with binutils fix for ppc64le (#1475636) + +* Thu Jul 27 2017 Takao Fujiwara - 1.5.16-6 +- Fixed some SEGVs #1349148 #1385349 #1350291 #1368593 + Added 1385349-segv-bus-proxy.patch + +* Wed Jul 26 2017 Fedora Release Engineering - 1.5.16-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Jul 21 2017 Takao Fujiwara - 1.5.16-4 +- Fixed Bug 1471079 - SEGV of Emojier on de locale + +* Thu Jul 13 2017 Takao Fujiwara - 1.5.16-3 +- Enabled HarfBuzz rendering without Pango glyph calc for emoji + +* Mon May 29 2017 Takao Fujiwara - 1.5.16-2 +- Added ctrl-c,v,x for annotations and ctrl-shift-c for emoji +- Added Malay and Mongolian keymaps +- Made all emoji dicts to fully qualified + +* Mon May 15 2017 Takao Fujiwara - 1.5.16-1 +- Bumped to 1.5.16 + +* Tue May 09 2017 Takao Fujiwara - 1.5.15-8 +- Dropped nodejs-emojione-json and import unicode-emoji instead +- Created emoji tab in ibus-setup +- Set default emoji font size from gsettings in ibus emoji command +- Added an option of emoji partial match in ibus-setup +- Hid emoji variants by default +- Added ibus-emoji man page +- emoji favorites category is updated by selecting emoji + +* Thu Apr 13 2017 Takao Fujiwara - 1.5.15-7 +- Supported ibus emoji command on Wayland +- Changed modal dialog to modeless dialog + +* Wed Apr 05 2017 Takao Fujiwara - 1.5.15-6 +- Enabled unicode_alt in EmojiOne json file +- Enabled to type multiple code points on Emojier +- Fixed IBusEmojiDialog_1_0_gir_LIBS for --as-needed LDFLAGS + +* Mon Mar 27 2017 Takao Fujiwara - 1.5.15-5 +- Moved language setting on IBusEmojier to ibus-setup. +- Enabled strcasecmp to match emoji annotations. +- Added a build error message if emoji xml files are not found. + +* Wed Mar 15 2017 Takao Fujiwara - 1.5.15-4 +- Implemented Ctrl-[f|b|n|p|h|e|a|u] for cursor operations on emoji dialog +- Added XSetIOErrorHandler() for GNOME3 desktop + +* Mon Mar 13 2017 Takao Fujiwara - 1.5.15-3 +- Emoji dialog enhancements and bug fixes + Fixed ibus_emoji_dict_load() API. + Focus on emoji text entry by default + Removed internal text buffer and use Gtk.Entry buffer instead. + Implemented cursor left, right, home, end on emoji annotation preedit. + Show localized emoji description from tts in emoji xml. + +* Thu Mar 09 2017 Takao Fujiwara - 1.5.15-2 +- Added ibus-HEAD.patch to get upstream patches + Fixed ibus_emojier_run() SIGABRT with `ibus emoji` + Enhanced theme color on emoji candidates + +* Mon Mar 06 2017 Takao Fujiwara - 1.5.15-1 +- Bumped to 1.5.15 + +* Fri Feb 10 2017 Fedora Release Engineering - 1.5.14-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jan 11 2017 Takao Fujiwara - 1.5.14-5 +- support scroll event in candidates panel +- Fixed Bug 1403985 - Emoji typing is enabled during Unicode typing +- Fixed Bug 1402494 - Font settings of ibus are ignored on non-Gnome + +* Mon Dec 19 2016 Miro Hrončok - 1.5.14-4 +- Rebuild for Python 3.6 + +* Thu Oct 06 2016 Takao Fujiwara - 1.5.14-3 +- Fixed Bug 1380675 - Emoji leaves the candidates of @laugh when @laughing +- Fixed Bug 1380690 - User is not able to select emojis from digit keys +- Fixed Bug 1380691 - PageUp PageDown buttons on emoji lookup not working + +* Fri Sep 09 2016 Takao Fujiwara - 1.5.14-2 +- Fixed radio button on PropertyPanel. +- Updated translations. + +* Fri Aug 05 2016 Takao Fujiwara - 1.5.14-1 +- Bump to 1.5.14 + +* Wed Jul 27 2016 Dan Horák - 1.5.13-6 +- enable Emoji only on arches providing nodejs functionality + +* Tue Jul 26 2016 Takao Fujiwara - 1.5.13-5 +- Bug 1359753 - Implement Emoji typing + +* Tue Jul 19 2016 Fedora Release Engineering - 1.5.13-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon Jun 27 2016 Takao Fujiwara - 1.5.13-3 +- Bug 1349732 - ibus not working at all in Gnome Wayland +- Add ibus service file +- Fix CSS color format and font size + +* Mon Mar 28 2016 Takao Fujiwara - 1.5.13-2 +- Bug 1319215 - Add Requires besides Requires(post) + +* Mon Feb 22 2016 Takao Fujiwara - 1.5.13-1 +- Bumped to 1.5.13 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.5.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jan 20 2016 Takao Fujiwara - 1.5.12-1 +- Bumped to 1.5.12 + +* Tue Nov 10 2015 Fedora Release Engineering - 1.5.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Thu Jul 16 2015 Takao Fujiwara - 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 - 1.5.10-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 22 2015 Takao Fujiwara - 1.5.10-5 +- Updated ibus-HEAD.patch + Fixed Bug 1224025 - IBus radio menu items does not work + +* Fri Apr 24 2015 Takao Fujiwara - 1.5.10-4 +- Bug 1217410 Updated ibus-xinput for KDE5. + +* Fri Apr 24 2015 Takao Fujiwara - 1.5.10-3 +- Updated ibus-HEAD.patch from upstream + Fixed to show shortcuts on ibus-setup. + Bug 1214271 Fixed to enable IME with GTK3 applications in wayland. + +* Thu Apr 02 2015 Takao Fujiwara - 1.5.10-2 +- Updated ibus-HEAD.patch from upstream + Added Swedish svdvorak + I18N engine longnames and descriptions on ibus-setup + Moved PropertyPanel at bottom right in KDE5 + Drew gray color on Handle PropertyPanel + Enabled ibus engine full path icon in KDE5 + Updated translations + +* Wed Feb 25 2015 Takao Fujiwara - 1.5.10-1 +- Bumped to 1.5.10 + +* Sat Feb 21 2015 Till Maas - 1.5.9-11 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Mon Feb 02 2015 Petr Viktorin - 1.5.9-10 +- Remove dependency on Python 2 from main package + +* Mon Feb 02 2015 Takao Fujiwara - 1.5.9-9 +- Updated ibus-HEAD.patch to fix #1187956 IBusRegistry segv. + +* Thu Dec 18 2014 Takao Fujiwara - 1.5.9-8 +- Updated ibus-HEAD.patch to fix #1175595 ibus-x11 freeze + +* Mon Dec 08 2014 Takao Fujiwara - 1.5.9-7 +- Added ibus-1136623-lost-by-another-focus.patch to fix #1136623 + +* Mon Dec 08 2014 Takao Fujiwara - 1.5.9-6 +- Updated ibus-xx-increase-timeout.patch to fix #1163722 +- Updated ibus-HEAD.patch for upstream #1747, #1748, #1753 + and gnome #703020, gnome #730628 + +* Wed Nov 12 2014 Takao Fujiwara - 1.5.9-5 +- rhbz#1161871 Added BR of python and python3 + +* Tue Oct 28 2014 Takao Fujiwara - 1.5.9-4 +- Updated ibus-HEAD.patch for upstream #1744. + +* Fri Oct 24 2014 Takao Fujiwara - 1.5.9-3 +- Added ibus-xx-increase-timeout.patch + +* Wed Oct 01 2014 Takao Fujiwara - 1.5.9-2 +- Updated ibus-HEAD.patch for rhbz#1136623. +- Added ibus-po-1.5.9-20141001.tar.gz + +* Tue Sep 16 2014 Takao Fujiwara - 1.5.9-1 +- Bumped to 1.5.9 + +* Sat Aug 16 2014 Fedora Release Engineering - 1.5.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Thu Jul 24 2014 Takao Fujiwara - 1.5.8-1 +- Bumped to 1.5.8 +- Deleted ibus-810211-no-switch-by-no-trigger.patch +- Deleted ibus-541492-xkb.patch +- Deleted ibus-530711-preload-sys.patch +- Deleted ibus-xx-setup-frequent-lang.patch +- Deleted ibus-xx-f19-password.patch + +* Tue Jul 22 2014 Kalev Lember - 1.5.7-7 +- Rebuilt for gobject-introspection 1.41.4 + +* Mon Jul 14 2014 Takao Fujiwara - 1.5.7-6 +- Updated ibus-HEAD.patch from upstream. + Fixed ibus-setup SEGV when an engine is selected. + Fixed ibus-setup deprecated warnings with the latest python3-gobject. + Integrated the 'IBUS_SETUP_XID' environment variable for each engine setup. + Set prgname 'ibus-setup' for ibus-setup. + +* Mon Jul 07 2014 Takao Fujiwara - 1.5.7-5 +- Updated ibus-HEAD.patch from upstream. + Added pl(qwertz). + Fixed escape key with Ctrl-Shift-U. + Updated pt-br compose table from the latest xorg. + Do not sort ibus engines when they are saved by ibus-setup. + Updated jp IBusKeymap. + Added ibus reset-config and read-config sub-commands. + Update ibus(1) for read-config and reset-config. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.5.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue May 27 2014 Kalev Lember - 1.5.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Tue May 20 2014 Takao Fujiwara - 1.5.7-2 +- Updated ibus-HEAD.patch for width of ibus-setup. + +* Wed Apr 30 2014 Takao Fujiwara - 1.5.7-1 +- Bumped to 1.5.7 + +* Mon Apr 21 2014 Takao Fujiwara - 1.5.6-3 +- Do not require gtk-doc in ibus-devel-docs + +* Fri Mar 28 2014 Takao Fujiwara - 1.5.6-2 +- Updated ibus-HEAD.patch for Czech (qwerty) keymap. + +* Thu Mar 06 2014 Takao Fujiwara - 1.5.6-1 +- Bumped to 1.5.6 +- Deleted ibus-xx-ctrl-space.patch + +* Fri Jan 31 2014 Takao Fujiwara - 1.5.5-2 +- Enabled python3 ibus-setup + +* Tue Jan 14 2014 Takao Fujiwara - 1.5.5-1 +- Bumped to 1.5.5 +- Deleted notify-python in Requires + +* Fri Oct 04 2013 Takao Fujiwara - 1.5.4-2 +- Added ibus-HEAD.patch to sync upstream. + +* Fri Sep 20 2013 Takao Fujiwara - 1.5.4-1 +- Bumped to 1.5.4 +- Added ibus.conf.5 +- Added ibus-xkb-1.5.0.tar.gz for po files. +- Added ibus-xx-f19-password.patch for back compatibility. +- Added ibus-wayland in f20 or later. + +* Fri Jul 26 2013 Takao Fujiwara - 1.5.3-1 +- Bumped to 1.5.3 +- Deleted ibus-xx-g-s-disable-preedit.patch as EOL. +- Deleted ibus-gjs as EOL. +- Removed imsettings-gnome, im-chooser, libgnomekbd dependencies. + +* Thu Jul 11 2013 Takao Fujiwara - 1.5.2-8 +- Updated ibus-HEAD.patch to delete pyxdg dependencies. + +* Mon Jun 17 2013 Takao Fujiwara - 1.5.2-7 +- Bug 972328 - Deleted ibus-panel + +* Mon Jun 17 2013 Takao Fujiwara - 1.5.2-6 +- Bug 972328 - Bring back the dependency of ibus-setup. + +* Tue Jun 11 2013 Takao Fujiwara - 1.5.2-5 +- Removed dependencies of ibus-setup and ibus-pygtk2 + +* Wed Jun 05 2013 Takao Fujiwara - 1.5.2-4 +- Updated ibus-HEAD.patch for upstream. +- Added ibus-xx-1.5.2.patch until 1.5.3 will be released. +- Added ibus-xx-ctrl-space.patch for back compatible triggers. + +* Wed May 01 2013 Takao Fujiwara - 1.5.2-3 +- Updated ibus-HEAD.patch for upstream. +- Deleted ibus-947318-reconnect-gtk-client.patch + +* Sun Apr 21 2013 Takao Fujiwara - 1.5.2-2 +- Separate python files in f19 or later. + +* Thu Apr 18 2013 Takao Fujiwara - 1.5.2-1 +- Bumped to 1.5.2 +- Created noarch packages for python files due to .pyc and .pyo. +- Added man pages. + +* Mon Feb 18 2013 Takao Fujiwara - 1.5.1-3 +- Copied gtk2 module to gtk3 one. + +* Thu Jan 31 2013 Takao Fujiwara - 1.5.1-2 +- Updated ibus-530711-preload-sys.patch. Fixes #904799 + +* Tue Jan 08 2013 Takao Fujiwara - 1.5.1-1 +- Bumped to 1.5.1 +- Bumped to ibus-gjs 3.4.1.20130115 for f17 +- Removed ibus-xx-no-use.diff + +* Fri Dec 14 2012 Takao Fujiwara - 1.4.99.20121109-9 +- Updated ibus-xx-no-use.diff not to use variant.dup_strv() + +* Fri Dec 07 2012 Takao Fujiwara - 1.4.99.20121109-8 +- Resolves #869584 - Removed libgnomekbd dependency in f18. + +* Fri Nov 30 2012 Takao Fujiwara - 1.4.99.20121109-7 +- Set time stamp of ibus/_config.py + +* Fri Nov 30 2012 Takao Fujiwara - 1.4.99.20121109-6 +- Set time stamp of ibus/_config.py + +* Fri Nov 30 2012 Takao Fujiwara - 1.4.99.20121109-5 +- Updated spec file to work witout pkgconfig. + +* Tue Nov 27 2012 Takao Fujiwara - 1.4.99.20121109-4 +- Added comment lines for patches. + +* Tue Nov 27 2012 Takao Fujiwara - 1.4.99.20121109-3 +- Fixed misc issues. + +* Thu Oct 11 2012 Takao Fujiwara - 1.4.99.20121109-2 +- Obsoleted ibus-gnome3 + +* Thu Oct 11 2012 Takao Fujiwara - 1.4.99.20121109-1 +- Bumped to 1.4.99.20121109 +- Removed im-chooser, imsettings-gnome, gnome-icon-theme-symbolic + dependencies in f18 because ibus gnome integration is done. + Use ibus-keyboard instead of input-keyboard-symbolic. +- Disabled ibus-gjs build because of ibus gnome integration. + +* Thu Oct 11 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated ibus-HEAD.patch to fix typo in data/dconf/profile/ibus + +* Thu Oct 11 2012 Takao Fujiwara - 1.4.99.20121006-2 +- Updated ibus-HEAD.patch to fix typo in data/dconf/profile/ibus + +* Sat Oct 06 2012 Takao Fujiwara - 1.4.99.20121006-1 +- Bumped to 1.4.99.20121006 +- Removed ibus-xx-segv-reg-prop.patch + +* Fri Sep 14 2012 Takao Fujiwara - 1.4.99.20120914-2 +- Added ibus-xx-segv-reg-prop.patch to avoid segv + +* Fri Sep 14 2012 Takao Fujiwara - 1.4.99.20120914-1 +- Bumped to 1.4.99.20120914 + +* Thu Sep 06 2012 Takao Fujiwara - 1.4.99.20120822-2 +- Updated ibus-530711-preload-sys.patch +- Updated ibus-541492-xkb.patch +- Updated ibus-xx-no-use.diff + Fixed Bug 854161 - not able to add keymap with ibus-setup + +* Wed Aug 22 2012 Takao Fujiwara - 1.4.99.20120822-1 +- Bumped to 1.4.99.20120822 +- Bumped to ibus-gjs 3.4.1.20120815 + Fixed Bug 845956 - ibus backward trigger key is not customized + Fixed Bug 844580 - ibus-dconf does not load the system gvdb +- Separated ibus-810211-no-switch-by-no-trigger.patch from ibus-HEAD.patch + +* Fri Jul 27 2012 Fedora Release Engineering - 1.4.99.20120712-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jul 19 2012 Takao Fujiwara - 1.4.99.20120712-2 +- Updated ibus-HEAD.patch + Support dconf 0.13.4 + +* Tue Jul 17 2012 Takao Fujiwara - 1.4.99.20120712-1 +- Bumped to 1.4.99.20120712 +- Removed ibus-xx-branding-switcher-ui.patch as upstreamed. + +* Fri Jun 8 2012 Matthias Clasen - 1.4.99.20120428-3 +- Rebuild against new libgnomekbd + +* Fri Apr 27 2012 Takao Fujiwara - 1.4.99.20120428-2 +- Updated ibus-HEAD.patch +- Updated ibus-541492-xkb.patch +- Updated ibus-xx-branding-switcher-ui.patch + Fixed Bug 810211 - Cancel Control + space pressing Control key. +- Updated ibus-xx-no-use.diff + Enabled to customize trigger keys with non-modifier trigger keys. + +* Fri Apr 27 2012 Takao Fujiwara - 1.4.99.20120428-1 +- Bumped to 1.4.99.20120428 + Fixed Bug 799571 - no IME list at the session login. + Fixed Bug 810415 - ibus does not handle Ctrl+space with BUTTON_PRESS. +- Bumped to ibus-gjs 3.4.1.20120428 + Fixed Bug 802052 - no modifiers trigger keys. + Fixed Bug 803244 - IME switch Ctrl+space not working on shell text entry. + +* Tue Apr 24 2012 Kalev Lember - 1.4.99.20120317-4 +- Update the dconf and icon cache rpm scriptlets + +* Wed Apr 18 2012 Takao Fujiwara - 1.4.99.20120317-3 +- Added a RHEL flag. + +* Tue Mar 27 2012 Takao Fujiwara - 1.4.99.20120317-2 +- Bumped to ibus-gjs 3.3.92.20120327 + +* Sat Mar 17 2012 Takao Fujiwara - 1.4.99.20120317-1 +- Bumped to 1.4.99.20120317 + Fixed Bug 718668 - focus move is slow with ibus-gnome3 + Fixed Bug 749497 - Enhance IME descriptions in status icon active menu +- Bumped to ibus-gjs 3.3.90.20120317 +- Added ibus-xx-no-use.diff + Fixed Bug 803260 - Disable non-global input method mode +- Updated ibus-HEAD.patch + Fixed Bug 803250 - ibus lookup window font customization + Fixed Bug 803177 - language id on ibus-ui-gtk3 switcher +- Update ibus-530711-preload-sys.patch + Fixed Bug 797023 - port preload engines + +* Thu Mar 08 2012 Takao Fujiwara - 1.4.99.20120303-3 +- Bumped to ibus-gjs 3.3.90.20120308 to work with gnome-shell 3.3.90 +- Fixed Bug 786906 - Added ifnarch ppc ppc64 s390 s390x +- Updated ibus-HEAD.patch + Fixed Bug 800897 - After doing "ctrl+space", ibus tray icon freezes + +* Mon Mar 05 2012 Takao Fujiwara - 1.4.99.20120303-2 +- Added ibus-HEAD.patch to fix python library to load libibus.so. + +* Sun Mar 04 2012 Takao Fujiwara - 1.4.99.20120303-1 +- Bumped to 1.4.99.20120303 + Fixed Bug 796070 - ibus-setup without no ibus-daemon + +* Wed Feb 08 2012 Takao Fujiwara - 1.4.99.20120203-3 +- Fixed ibus-setup on C locale +- Fixed to show no registered engines from g-c-c. +- Enabled Alt_R keybinding on ko locales for ibus gtk only. + +* Fri Feb 03 2012 Takao Fujiwara - 1.4.99.20120203-1 +- Updated to 1.4.99.20120203 +- Removed ibus-xx-bridge-hotkey.patch +- Updated ibus-541492-xkb.patch to use libgnomekbd. +- Updated ibus-xx-setup-frequent-lang.patch for 1.4.99.20120203 + +* Wed Jan 04 2012 Takao Fujiwara - 1.4.0-17 +- Added ibus-771115-property-compatible.patch for f16 + Fixed Bug 771115 - IBusProperty back compatibility. + +* Fri Dec 30 2011 Takao Fujiwara - 1.4.0-16 +- Enhanced ibus-gnome3 shell lookup window. +- Updated ibus-HEAD.patch from upstream + Fixed Bug 769135 - ibus-x11 SEGV in _process_key_event_done. +- Updated ibus-541492-xkb.patch + Fixed Bug 757889 - ibus-setup SEGV without active engine. + Fixed Bug 760213 - ibus-setup saves XKB variants correctly. + Fixed Bug 769133 - ibus-engine-xkb returns FALSE for ASCII typings. +- Updated ibus-xx-bridge-hotkey.patch for an enhancement. + +* Wed Nov 30 2011 Takao Fujiwara - 1.4.0-14 +- Enabled dconf. +- Updated ibus-HEAD.patch + Fixed Bug 618229 - engine setup buton on ibus-setup. +- Removed ibus-711632-fedora-fallback-icon.patch as upstreamed. +- Updated ibus-xx-bridge-hotkey.patch + Removed Enable/Disable buttons on ibus-setup + +* Fri Nov 18 2011 Takao Fujiwara - 1.4.0-11 +- Updated ibus-541492-xkb.patch + Fixed Bug 750484 - support reloading Xmodmap +- Updated ibus-HEAD.patch + Fixed Bug 753781 - ibus-x11 needs async for hangul ibus_commit_text. + +* Fri Nov 04 2011 Takao Fujiwara - 1.4.0-10 +- Updated ibus-xx-bridge-hotkey.patch for f16 + Fixed no XKB languages from layout only. e.g. in(eng). +- Updated ibus-541492-xkb.patch + Fixed not to show 'eng' on GUI for in(eng). + +* Wed Nov 02 2011 Takao Fujiwara - 1.4.0-9 +- Updated ibus-HEAD.patch + Fixed prev/next keys without global engine. +- Updated ibus-xx-bridge-hotkey.patch for f16 + Fixed Bug 747902 - mouse and ctrl+space not working + Fixed Bug 749770 - IME hotkey after Control + Space +- Updated ibus-711632-fedora-fallback-icon.patch + Fixed Bug 717831 - use old icon for desktops other than gnome + +* Fri Oct 28 2011 Takao Fujiwara - 1.4.0-8 +- Updated ibus-xx-bridge-hotkey.patch for f16 +- Fixed Bug 747902 - mouse and ctrl+space not working + +* Wed Oct 26 2011 Fedora Release Engineering - 1.4.0-6 +- Rebuilt for glibc bug#747377 + +* Fri Oct 21 2011 Takao Fujiwara - 1.4.0-5 +- Fixed Bug 747845 - ibus icon cannot open menu item on gnome-shell + +* Thu Oct 20 2011 Takao Fujiwara - 1.4.0-4 +- Fixed Bug 746869 - no keymaps if the XKB has no group and no variant + +* Fri Sep 30 2011 Takao Fujiwara - 1.4.0-3 +- Rebuilt for f16 gnome-shell 3.2 and gjs 1.30 + +* Wed Sep 28 2011 Takao Fujiwara - 1.4.0-2 +- Updated to 1.4.0 +- Updated ibus-gjs 3.0.2.20110928 for f15. +- Updated ibus-gjs 3.2.0.20110928 for f16. (#740588) +- Updated ibus-530711-preload-sys.patch + Fixed not to show duplicated engine names in setup treeview (#740447) +- Updated bus-gjs-xx-gnome-shell-3.1.4-build-failure.patch for f16. +- Updated ibus-xx-bridge-hotkey.patch + Fixed a XKB configuration without the input focus for f16 (#739165) + Fixed not to show null strings in case of no variants (#738130) + +* Tue Sep 13 2011 Takao Fujiwara - 1.3.99.20110817-5 +- Updated ibus-gjs 3.1.91.20110913 for f16. + +* Thu Sep 08 2011 Takao Fujiwara - 1.3.99.20110817-4 +- Updated ibus-gjs 3.1.91.20110908 and 3.0.2.20110908 for gnome-shell. + Fixed preedit active segments on gnome-shell and X11 apps. +- Added ibus-xx-g-s-disable-preedit.patch + Disabled preedit on gnome-shell for a workaround. +- Updated ibus.spec + Fixed Bug 735879 pre/postun scripts + +* Thu Sep 01 2011 Takao Fujiwara - 1.3.99.20110817-3 +- Fixed Bug 700472 Use a symbol icon instead of an image icon. +- Updated ibus-HEAD.patch for upstream. +- Removed ibus-435880-surrounding-text.patch as upstream. +- Added ibus-711632-fedora-fallback-icon.patch + Fixed SEGV with no icon in oxygen-gtk icon theme. +- Added ibus-xx-bridge-hotkey.patch + Triaged Bug 707370 SetEngine timeout + Fixed Bug 731610 Keep IM state when text input focus changes +- Added transitional ibus-gnome3 package. + Fixed Bug 718110 Use a shell icon instead of pygtk2 icon. + +* Thu May 26 2011 Takao Fujiwara - 1.3.99.20110419-1 +- Updated to 1.3.99.20110419 +- Added ibus-HEAD.patch + Fixed Bug 697471 - ibus-gconf zombie when restart ibus from ibus panel. +- Updated ibus-541492-xkb.patch + Fixed Bug 701202 - us(dvorak) does not show up in list + Updated ibus-1.0.pc for ibus-xkb + Showed XKB variant descriptions only without layout descriptions. +- Updated ibus-xx-setup-frequent-lang.patch + Updated UI strings + +* Tue Apr 19 2011 Takao Fujiwara - 1.3.99.20110408-1 +- Updated to 1.3.99.20110408 + Fixed Bug 683484 - Timed out SetEngine when select an engine from panel. + Fixed Bug 657165 - IBus for gnome-shell for Fedora 15. +- Upstreamed ibus-657165-panel-libs.patch +- Removed ibus-675503-gnome-shell-workaround.patch +- Added ibus-xx-setup-frequent-lang.patch +- Updated ibus-541492-xkb.patch + Fixed Bug 696481 - no the variant maps without language codes +- Added dependency of imsettings-gnome. + Fixed Bug 696510 - need a dependency in ibus-gtk3 for imsettings-gnome + +* Thu Mar 10 2011 Takao Fujiwara - 1.3.99.20110228-1 +- Updated to 1.3.99.20110228 +- Integrated the part of gjs in Bug 657165 ibus for gnome-shell. + Added ibus-657165-panel-libs.patch + Added gnome-shell-ibus-plugins-20110304.tar.bz2 +- Fixed Bug 675503 - a regression in sync mode + Added ibus-675503-gnome-shell-workaround.patch until gnome-shell is updated. +- Fixed Bug 677856 - left ibus snooper when im client is switched. +- Fixed Bug 673047 - abrt ibus_xkb_get_current_layout for non-XKB system + Updated ibus-541492-xkb.patch + +* Wed Feb 09 2011 Fedora Release Engineering - 1.3.99.20110127-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Feb 04 2011 Takao Fujiwara - 1.3.99.20110127-1 +- Updated to 1.3.99.20110127 +- Updated ibus-HEAD.patch from upstream. + +* Wed Jan 26 2011 Takao Fujiwara - 1.3.99.20110117-1 +- Updated to 1.3.99.20110117 +- Fixed Bug 666427 - ibus requires dbus-x11 +- Fixed Bug 670137 - QT_IM_MODULE=xim in ibus.conf without ibus-qt + +* Thu Dec 09 2010 Takao Fujiwara - 1.3.99.20101202-1 +- Updated to 1.3.99.20101202 +- Added ibus-530711-preload-sys.patch + Fixed Bug 530711 - Reload preloaded engines by login + +* Fri Oct 29 2010 Takao Fujiwara - 1.3.99.20101028-1 +- Updated to 1.3.99.20101028 +- Integrated gdbus +- Merged notify.patch into ibus-HEAD.patch + +* Fri Oct 22 2010 Takao Fujiwara - 1.3.8-1 +- Updated to 1.3.8 +- Added ibus-541492-xkb.patch + Fixes Bug 541492 - ibus needs to support some xkb layout switching +- Added ibus-435880-surrounding-text.patch + Fixes Bug 435880 - ibus-gtk requires surrounding-text support +- Added ibus-xx-workaround-gtk3.patch + Workaround for f14 http://koji.fedoraproject.org/koji/taskinfo?taskID=2516604 + +* Mon Aug 23 2010 Takao Fujiwara - 1.3.7-1 +- Updated to 1.3.7 + +* Wed Jul 28 2010 Mamoru Tasaka - 1.3.6-5 +- Rebuild against python 2.7 + +* Thu Jul 22 2010 Jens Petersen - 1.3.6-4 +- keep bumping ibus-gtk obsoletes to avoid upgrade problems + +* Wed Jul 21 2010 David Malcolm - 1.3.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Thu Jul 15 2010 Colin Walters - 1.3.6-2 +- Rebuild with new gobject-introspection + +* Tue Jul 06 2010 Takao Fujiwara - 1.3.6-1 +- Update to 1.3.6 + +* Wed Jun 30 2010 Jens Petersen +- version the ibus-gtk obsolete and provides +- drop the old redundant ibus-qt obsoletes + +* Mon Jun 28 2010 Matthias Clasen - 1.3.5-3 +- Rebuild against newer gtk + +* Tue Jun 22 2010 Colin Walters - 1.3.5-2 +- Bump Release to keep ahead of F-13 + +* Sat Jun 12 2010 Peng Huang - 1.3.5-1 +- Update to 1.3.5 +- Support gtk3, gobject-introspection and vala. + +* Sat May 29 2010 Peng Huang - 1.3.4-2 +- Update to 1.3.4 + +* Sat May 29 2010 Peng Huang - 1.3.4-1 +- Update to 1.3.4 + +* Tue May 04 2010 Peng Huang - 1.3.3-1 +- Update to 1.3.3 + +* Sun May 02 2010 Peng Huang - 1.3.2-3 +- Embedded language bar in menu by default. +- Fix bug 587353 - [abrt] crash in ibus-1.3.2-2.fc12 + +* Sat Apr 24 2010 Peng Huang - 1.3.2-2 +- Add requires librsvg2 +- Update ibus-HEAD.patch: Update po files and and setting + +* Wed Apr 21 2010 Peng Huang - 1.3.2-1 +- Update to 1.3.2 +- Fix bug 583446 - [abrt] crash in ibus-1.3.1-1.fc12 + +* Mon Apr 05 2010 Peng Huang - 1.3.1-1 +- Update to 1.3.1 + +* Fri Mar 26 2010 Peng Huang - 1.3.0-3 +- Update ibus-HEAD.patch +- Fix bug - some time panel does not show candidates. +- Update some po files + +* Mon Mar 22 2010 Peng Huang - 1.3.0-2 +- Does not check glib micro version in ibus im module. + +* Mon Mar 22 2010 Peng Huang - 1.3.0-1 +- Update to 1.3.0 + +* Tue Feb 02 2010 Peng Huang - 1.2.99.20100202-1 +- Update to 1.2.99.20100202 + +* Mon Jan 11 2010 Peng Huang - 1.2.0.20100111-1 +- Update to 1.2.0.20100111 + +* Fri Dec 25 2009 Peng Huang - 1.2.0.20091225-1 +- Update to 1.2.0.20091225 +- Fix bug 513895 - new IME does not show up in ibus-setup +- Fix bug 531857 - applet order should correspond with preferences order +- Fix bug 532856 - should not list already added input-methods in Add selector + +* Tue Dec 15 2009 Peng Huang - 1.2.0.20091215-1 +- Update to 1.2.0.20091215 + +* Thu Dec 10 2009 Peng Huang - 1.2.0.20091204-2 +- Fix rpmlint warnings and errors. + +* Fri Dec 04 2009 Peng Huang - 1.2.0.20091204-1 +- Update to 1.2.0.20091204 +- Fix Bug 529920 - language panel pops up on the wrong monitor +- Fix Bug 541197 - Ibus crash + +* Tue Nov 24 2009 Peng Huang - 1.2.0.20091124-1 +- Update to 1.2.0.20091124 +- Update some translations. +- Fix bug 538147 - [abrt] crash detected in firefox-3.5.5-1.fc12 + +* Sat Oct 24 2009 Peng Huang - 1.2.0.20091024-1 +- Update to 1.2.0.20091024 + +* Wed Oct 14 2009 Peng Huang - 1.2.0.20091014-2 +- Update to 1.2.0.20091014 +- Change ICON in ibus.conf + +* Sun Sep 27 2009 Peng Huang - 1.2.0.20090927-1 +- Update to 1.2.0.20090927 + +* Tue Sep 15 2009 Peng Huang - 1.2.0.20090915-1 +- Update to 1.2.0.20090915 +- Fix bug 521591 - check if the icon filename is a real file before trying to open it +- Fix bug 522310 - Memory leak on show/hide +- Fix bug 509518 - ibus-anthy should only override to jp layout for kana input + +* Fri Sep 04 2009 Peng Huang - 1.2.0.20090904-2 +- Refresh the tarball. + +* Fri Sep 04 2009 Peng Huang - 1.2.0.20090904-1 +- Update to 1.2.0.20090904 + +* Mon Aug 31 2009 Peng Huang - 1.2.0.20090828-2 +- Change icon path in ibus.conf + +* Fri Aug 28 2009 Peng Huang - 1.2.0.20090828-1 +- Update to 1.2.0.20090828 +- Change the icon on systray. +- Fix segment fault in ibus_hotkey_profile_destroy +- Fix some memory leaks. + +* Wed Aug 12 2009 Peng Huang - 1.2.0.20090812-1 +- Update to 1.2.0.20090812 + +* Mon Aug 10 2009 Peng Huang - 1.2.0.20090807-4 +- Update ibus-HEAD.patch +- Fix Numlock problem. +- Fix some memory leaks. + +* Fri Aug 07 2009 Peng Huang - 1.2.0.20090807-2 +- Update ibus-HEAD.patch +- Fix bug 516154. + +* Fri Aug 07 2009 Peng Huang - 1.2.0.20090807-1 +- Update to 1.2.0.20090807 + +* Thu Aug 06 2009 Peng Huang - 1.2.0.20090806-1 +- Update to 1.2.0.20090806 +- Fix bug 515106 - don't install duplicate files + +* Tue Jul 28 2009 Peng Huang - 1.2.0.20090723-3 +- Update xinput-ibus: setup QT_IM_MODULE if the ibus qt input method plugin exists. + +* Fri Jul 24 2009 Fedora Release Engineering - 1.2.0.20090723-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 23 2009 Peng Huang - 1.2.0.20090723-1 +- Update to 1.2.0.20090723 +- Fix dead loop in ibus-gconf + +* Wed Jul 22 2009 Peng Huang - 1.2.0.20090722-1 +- Update to 1.2.0.20090722 + +* Sun Jul 19 2009 Peng Huang - 1.2.0.20090719-1 +- Update to 1.2.0.20090719 + +* Mon Jun 22 2009 Peng Huang - 1.2.0.20090617-1 +- Update to 1.2.0.20090617 + +* Fri Jun 12 2009 Peng Huang - 1.1.0.20090612-1 +- Update to 1.1.0.20090612 +- Fix bug 504942 - PageUp and PageDown do not work in candidate list +- Fix bug 491040 - Implememnt mouse selection in candidate list + +* Wed Jun 10 2009 Peng Huang - 1.1.0.20090609-1 +- Update to Update to 1.1.0.20090609 +- Fix bug 502414 - Implemented on-screen help facility +- Fix bug 502561 - iBus should show keymap name on iBus panel +- Fix bug 498043 - ibus Alt-grave trigger conflicts with openoffice.org +- Implemented API for setting labels for candidates in LookupTable + +* Sun May 31 2009 Peng Huang - 1.1.0.20090531-1 +- Update to Update to 1.1.0.20090531 + +* Tue May 26 2009 Peng Huang - 1.1.0.20090508-5 +- Update ibus-HEAD.patch. +- Show the default input method with bold text +- Add information text below input methods list + +* Mon May 25 2009 Peng Huang - 1.1.0.20090508-4 +- Update ibus-HEAD.patch. +- Fix bug 501211 - ibus-setup window should be raised if running or just stay on top/grab focus +- Fix bug 501640 - ibus should adds new IMEs at end of engine list not beginning +- Fix bug 501644 - [IBus] focus-out and disabled IME should hide language panel + +* Thu May 14 2009 Peng Huang - 1.1.0.20090508-2 +- Remove requires notification-daemon +- Fix bug 500588 - Hardcoded requirement for notification-daemon + +* Fri May 08 2009 Peng Huang - 1.1.0.20090508-1 +- Update to 1.1.0.20090508 +- Fix bug 499533 - [Indic] ibus should allow input in KDE using all supported Indic locales +- Fix bug 498352 - hotkey config table should list keys in same order as on main setup page +- Fix bug 497707 - ibus French translation update + +* Fri May 08 2009 Peng Huang - 1.1.0.20090423-3 +- Fix bug 498541 - ibus-libs should not contain devel file libibus.so + +* Tue May 05 2009 Peng Huang - 1.1.0.20090423-2 +- Fix bug 498141 - new ibus install needs gtk immodules +- Separate ibus document from ibus-devel to ibus-devel-docs + +* Thu Apr 23 2009 Peng Huang - 1.1.0.20090423-1 +- Update to ibus-1.1.0.20090423. +- Fix bug 497265 - [mai_IN] Maithili language name is not correct. +- Fix bug 497279 - IBus does not works with evolution correctly. +- Enhance authentication both in daemon & clients + +* Fri Apr 17 2009 Peng Huang - 1.1.0.20090417-1 +- Update to ibus-1.1.0.20090417. +- Fix bug 496199 - cannot remove Ctrl+Space hotkey with ibus-setup + +* Fri Apr 17 2009 Peng Huang - 1.1.0.20090413-4 +- Update ibus-HEAD.patch. +- Next Engine hotkey will do nothing if the IM is not active. + +* Wed Apr 15 2009 Peng Huang - 1.1.0.20090413-3 +- Update ibus-HEAD.patch. +- Fix bug 495431 - ibus Release modifier doesn't work with Alt +- Fix bug 494445 - ibus-hangul missing Hangul Han/En mode + (and Alt_R+release hotkey) +- Update te.po + +* Tue Apr 14 2009 Peng Huang - 1.1.0.20090413-2 +- Update ibus-HEAD.patch. +- Change the mode of /tmp/ibus-$USER to 0700 to improve security +- Change the mode of /tmp/ibus-$USER/socket-address to 0600 to improve security +- Update as.po + +* Mon Apr 13 2009 Peng Huang - 1.1.0.20090413-1 +- Update to ibus-1.1.0.20090413. +- Fix crash when restart the ibus-daemon +- Add some translations. + +* Tue Apr 07 2009 Peng Huang - 1.1.0.20090407-3 +- Update the tarball. +- Fix bug 494511 - ibus-gtk makes gnome-terminal abort + when a key is pressed + +* Tue Apr 07 2009 Peng Huang - 1.1.0.20090407-2 +- Update default hotkey settings. + +* Tue Apr 07 2009 Peng Huang - 1.1.0.20090407-1 +- Update to ibus-1.1.0.20090407. +- Fix bug 491042 - ibus default trigger hotkeys +- Fix bug 492929 - ibus-hangul can cause gtk app to lockup +- Fix bug 493701 - (ibus) imsettings disconnect/reconnect kills gtk app +- Fix bug 493687 - ibus-hangul should default to vertical candidate selection +- Fix bug 493449 - ibus broke Alt-F2 command auto-completion + +* Tue Mar 31 2009 Peng Huang - 1.1.0.20090331-1 +- Update to ibus-1.1.0.20090331. +- Fix bug 492956 - screws up keyboard input in firefox +- Fix bug 490143 - ibus issue with gnome-keyring + +* Sun Mar 29 2009 Peng Huang - 1.1.0.20090311-3 +- Recreate the ibus-HEAD.patch from upstream git source tree +- Fix bug 491999 - up/down arrow keys broken in xchat + +* Sat Mar 28 2009 Peng Huang - 1.1.0.20090311-2 +- Recreate the ibus-HEAD.patch from upstream git source tree. +- Fix bug 490009 - Deleting Next Engine shortcuts doesn't work +- Fix bug 490381 - Change "Next/Previous engine" labels + +* Wed Mar 11 2009 Peng Huang - 1.1.0.20090311-1 +- Update to ibus-1.1.0.20090311. +- Update setup ui follow GNOME Human Interface Guidelines 2.2 (#489497). + +* Fri Mar 6 2009 Peng Huang - 1.1.0.20090306-1 +- Update to ibus-1.1.0.20090306. + +* Tue Mar 3 2009 Jens Petersen +- use post for ibus-gtk requires glib2 + +* Mon Mar 2 2009 Jens Petersen - 1.1.0.20090225-2 +- drop the superfluous ibus-0.1 engine obsoletes +- move glib2 requires to gtk package + +* Wed Feb 25 2009 Peng Huang - 1.1.0.20090225-1 +- Update to ibus-1.1.0.20090225. +- Fix problems in %%post and %%postun scripts. +- Hide ibus & ibus preferences menu items. + +* Tue Feb 17 2009 Peng Huang - 1.1.0.20090211-10 +- Recreate the ibus-HEAD.patch from upstream git source tree. +- Put 'Select an input method' in engine select combobox (#485861). + +* Tue Feb 17 2009 Peng Huang - 1.1.0.20090211-9 +- Add requires im-chooser >= 1.2.5. + +* Tue Feb 17 2009 Peng Huang - 1.1.0.20090211-8 +- Recreate the ibus-HEAD.patch from upstream git source tree. +- Fix ibus-hangul segfault (#485438). + +* Mon Feb 16 2009 Peng Huang - 1.1.0.20090211-6 +- Recreate the ibus-HEAD.patch from upstream git source tree. +- The new patch fixes ibus-x11 segfault (#485661). + +* Sun Feb 15 2009 Peng Huang - 1.1.0.20090211-5 +- Recreate the ibus-HEAD.patch from upstream git source tree. + +* Sun Feb 15 2009 Peng Huang - 1.1.0.20090211-4 +- Remove gnome-python2-gconf from requires. + +* Fri Feb 13 2009 Peng Huang - 1.1.0.20090211-3 +- Update ibus-HEAD.patch, to fix bug 484652. + +* Fri Feb 13 2009 Peng Huang - 1.1.0.20090211-2 +- Add patch ibus-HEAD.patch, to update ibus to HEAD version. + +* Wed Feb 11 2009 Peng Huang - 1.1.0.20090211-1 +- Add --xim argument in xinput-ibus +- Add Obsoletes: ibus-qt <= 1.1.0 +- Move libibus.so.* to ibus-libs to make ibus multilib. +- Update to 1.1.0.20090211. + +* Thu Feb 05 2009 Peng Huang - 1.1.0.20090205-1 +- Update to 1.1.0.20090205. + +* Tue Feb 03 2009 Peng Huang - 0.1.1.20090203-1 +- Update to 0.1.1.20090203. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.1.1.20081023-3 +- Rebuild for Python 2.6 + +* Wed Nov 19 2008 Peng Huang - 0.1.1.20081023-2 +- Move libibus-gtk.so from ibus.rpm to ibus-gtk.rpm to fix bug 472146. + +* Thu Oct 23 2008 Peng Huang - 0.1.1.20081023-1 +- Update to 0.1.1.20081023. + +* Thu Oct 16 2008 Peng Huang - 0.1.1.20081016-1 +- Update to 0.1.1.20081016. + +* Tue Oct 7 2008 Jens Petersen - 0.1.1.20081006-3 +- remove the empty %%doc file entries + +* Tue Oct 7 2008 Jens Petersen - 0.1.1.20081006-2 +- add xinputrc alternative when installing or uninstalling + +* Mon Oct 06 2008 Peng Huang - 0.1.1.20081006-1 +- Update to 0.1.1.20081006. + +* Sun Oct 05 2008 Peng Huang - 0.1.1.20081005-1 +- Update to 0.1.1.20081005. + +* Sat Oct 04 2008 Peng Huang - 0.1.1.20081004-1 +- Update to 0.1.1.20081004. + +* Wed Oct 01 2008 Peng Huang - 0.1.1.20081001-1 +- Update to 0.1.1.20081001. + +* Tue Sep 30 2008 Peng Huang - 0.1.1.20080930-1 +- Update to 0.1.1.20080930. + +* Tue Sep 23 2008 Peng Huang - 0.1.1.20080923-1 +- Update to 0.1.1.20080923. + +* Wed Sep 17 2008 Peng Huang - 0.1.1.20080917-1 +- Update to 0.1.1.20080917. + +* Tue Sep 16 2008 Peng Huang - 0.1.1.20080916-1 +- Update to 0.1.1.20080916. + +* Mon Sep 15 2008 Peng Huang - 0.1.1.20080914-1 +- Update to 0.1.1.20080914. + +* Mon Sep 08 2008 Peng Huang - 0.1.1.20080908-1 +- Update to 0.1.1.20080908. + +* Mon Sep 01 2008 Peng Huang - 0.1.1.20080901-1 +- Update to 0.1.1.20080901. + +* Sat Aug 30 2008 Peng Huang - 0.1.1.20080830-1 +- Update to 0.1.1.20080830. + +* Mon Aug 25 2008 Peng Huang - 0.1.1.20080825-1 +- Update to 0.1.1.20080825. + +* Sat Aug 23 2008 Peng Huang - 0.1.1.20080823-1 +- Update to 0.1.1.20080823. + +* Fri Aug 15 2008 Peng Huang - 0.1.1.20080815-1 +- Update to 0.1.1.20080815. + +* Tue Aug 12 2008 Peng Huang - 0.1.1.20080812-1 +- Update to 0.1.1.20080812. + +* Mon Aug 11 2008 Peng Huang - 0.1.0.20080810-2 +- Add gnome-python2-gconf in Requires. + +* Thu Aug 07 2008 Peng Huang - 0.1.0.20080810-1 +- The first version.