diff --git a/ibus-2178178-launch-emojier.patch b/ibus-2178178-launch-emojier.patch new file mode 100644 index 0000000..77e5f1c --- /dev/null +++ b/ibus-2178178-launch-emojier.patch @@ -0,0 +1,57 @@ +From 7dbfdfa03d173d2e969880db4271d624992c2d75 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Fri, 17 Mar 2023 22:29:56 +0900 +Subject: [PATCH] ui/gtk3: Add workaround Emojier can be launched + +gnome-shell 44 prevents ibus from launching Emojier GUI. +This workaround can launch the Emojier but still cannot output +the selected emoji character to the focused application. + +So another workaround is needed with this patch. +I.e. Type Ctrl-Shift-c keys to copy the seleted emoji instead of +Enter key. + +BUG=https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6518 +--- + ui/gtk3/emojier.vala | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala +index 69fb8abe..c9cf4469 100644 +--- a/ui/gtk3/emojier.vala ++++ b/ui/gtk3/emojier.vala +@@ -2,7 +2,7 @@ + * + * ibus - The Input Bus + * +- * Copyright (c) 2017-2021 Takao Fujiwara ++ * Copyright (c) 2017-2023 Takao Fujiwara + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public +@@ -1799,12 +1799,12 @@ public class IBusEmojier : Gtk.ApplicationWindow { + + m_rebuilding_gui = true; + m_rebuilding_gui_timeout_id = +- GLib.Timeout.add_seconds(10, () => { ++ GLib.Timeout.add_seconds(5, () => { + if (!m_rebuilding_gui) { + m_rebuilding_gui_timeout_id = 0; + return false; + } +- warning("Rebuilding GUI is time out."); ++ debug("Rebuilding GUI is time out."); + m_rebuilding_gui = false; + m_rebuilding_gui_timeout_id = 0; + return false; +@@ -2459,7 +2459,6 @@ public class IBusEmojier : Gtk.ApplicationWindow { + + + public override bool focus_in_event(Gdk.EventFocus event) { +- m_rebuilding_gui = false; + return base.focus_in_event(event); + } + +-- +2.39.2 + diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch index aab0eba..20448e4 100644 --- a/ibus-HEAD.patch +++ b/ibus-HEAD.patch @@ -1,3 +1,40 @@ +From 7da18d08ce85405e41ba7bf363661292bc97ca39 Mon Sep 17 00:00:00 2001 +From: fujiwarat +Date: Wed, 22 Feb 2023 23:53:35 +0900 +Subject: [PATCH] src: Call IBUS_TYPE_EMOJI_DATA in ibus_init() + +Seems the evaluation of IBUS_EMOJI_DATA() depends on the compiler +optimization. + +BUG=https://github.com/ibus/ibus/issues/2476 +--- + src/ibusshare.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/ibusshare.c b/src/ibusshare.c +index 340168c8..bb59f3cb 100644 +--- a/src/ibusshare.c ++++ b/src/ibusshare.c +@@ -308,12 +308,15 @@ ibus_init (void) + IBUS_TYPE_TEXT; + IBUS_TYPE_ATTRIBUTE; + IBUS_TYPE_ATTR_LIST; +- IBUS_TYPE_LOOKUP_TABLE; + IBUS_TYPE_COMPONENT; ++ IBUS_TYPE_EMOJI_DATA; + IBUS_TYPE_ENGINE_DESC; ++ IBUS_TYPE_LOOKUP_TABLE; + IBUS_TYPE_OBSERVED_PATH; + IBUS_TYPE_REGISTRY; + IBUS_TYPE_X_EVENT; ++ IBUS_TYPE_UNICODE_BLOCK; ++ IBUS_TYPE_UNICODE_DATA; + _ibus_register_resource (); + } + +-- +2.38.1 + From 9d9dca9e103e88b33e786c4a46f44123a6cf11c6 Mon Sep 17 00:00:00 2001 From: fujiwarat Date: Wed, 8 Mar 2023 19:44:16 +0900 diff --git a/ibus.spec b/ibus.spec index 57fd194..a9e2644 100644 --- a/ibus.spec +++ b/ibus.spec @@ -50,7 +50,7 @@ Name: ibus Version: 1.5.28 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Intelligent Input Bus for Linux OS License: LGPL-2.0-or-later URL: https://github.com/ibus/%name/wiki @@ -65,6 +65,8 @@ Patch1: %{name}-1385349-segv-bus-proxy.patch # Use mutter window manager in RHEL CI Patch2: %{name}-xx-desktop-testing-mutter.patch %endif +# Half fix of #2178178 +Patch3: %{name}-2178178-launch-emojier.patch # autoreconf requires autopoint but not po.m4 BuildRequires: gettext-devel @@ -557,6 +559,9 @@ dconf update || : %{_datadir}/installed-tests/ibus %changelog +* Fri Mar 17 2023 Takao Fujiwara - 1.5.28-3 +- Resolves: #2178178 Fix emoji lookup table only but emojier GUI left + * Wed Mar 15 2023 Takao Fujiwara - 1.5.28-2 - Fix Key typing order in ibus-x11 - Disable while loop before call ForwardEventMessageProc() in ibus-x11