public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Takao Fujiwara <tfujiwar@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/ibus] autotool: Resolves #2310892 Show Emojier dialog from menu item
Date: Sun, 31 May 2026 02:08:41 GMT	[thread overview]
Message-ID: <178019332173.1.10360535678025608350.rpms-ibus-dbe3db40263e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/ibus
Branch : autotool
Commit : dbe3db40263e5fc9055ddc5ba7d4e05121c4872f
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date   : 2024-09-24T20:06:52+09:00
Stats  : +88/-1 in 2 file(s)
URL    : https://src.fedoraproject.org/rpms/ibus/c/dbe3db40263e5fc9055ddc5ba7d4e05121c4872f?branch=autotool

Log:
Resolves #2310892 Show Emojier dialog from menu item

---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
index e69de29..f98c588 100644
--- a/ibus-HEAD.patch
+++ b/ibus-HEAD.patch
@@ -0,0 +1,83 @@
+From c0b27e50fbfff50fcbdae4cb33afd889b1dde6d8 Mon Sep 17 00:00:00 2001
+From: fujiwarat <takao.fujiwara1@gmail.com>
+Date: Tue, 24 Sep 2024 19:13:46 +0900
+Subject: [PATCH] ui/gtk3: Wait for hide-preedit-text signal for Emoji category
+
+IBusEngineSimple calls HidePreeditText D-Bus signal with focus-out
+signal so Emojier should wait for it before launch the dialog.
+
+BUG=rhbz#2310892
+---
+ ui/gtk3/panelbinding.vala | 28 +++++++++++++++++++++++++---
+ 1 file changed, 25 insertions(+), 3 deletions(-)
+
+diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala
+index caad1b0b..10d09d75 100644
+--- a/ui/gtk3/panelbinding.vala
++++ b/ui/gtk3/panelbinding.vala
+@@ -3,7 +3,7 @@
+  * ibus - The Input Bus
+  *
+  * Copyright(c) 2018 Peng Huang <shawn.p.huang@gmail.com>
+- * Copyright(c) 2018-2021 Takao Fujwiara <takao.fujiwara1@gmail.com>
++ * Copyright(c) 2018-2024 Takao Fujwiara <takao.fujiwara1@gmail.com>
+  *
+  * This library is free software; you can redistribute it and/or
+  * modify it under the terms of the GNU Lesser General Public
+@@ -217,6 +217,7 @@ class PanelBinding : IBus.PanelService {
+     private IBusEmojier? m_emojier;
+     private uint m_emojier_set_emoji_lang_id;
+     private uint m_emojier_focus_commit_text_id;
++    private uint m_emojier_focus_emoji_category_id;
+     private string[] m_emojier_favorites = {};
+     private Gtk.CssProvider m_css_provider;
+     private const uint PRELOAD_ENGINES_DELAY_TIME = 30000;
+@@ -912,8 +913,14 @@ class PanelBinding : IBus.PanelService {
+                 true);
+         string params = event.get_params();
+         if (params == "category-list") {
+-            key_press_space();
+-            show_preedit_and_candidate(true);
++            if (m_emojier_focus_emoji_category_id > 0)
++                return;
++            m_emojier_focus_emoji_category_id =
++                    GLib.Timeout.add_seconds(1, () => {
++                        info("Timeout to show Emoji category list.");
++                        show_category_list_real();
++                        return false;
++                    });
+         }
+     }
+ 
+@@ -962,6 +969,15 @@ class PanelBinding : IBus.PanelService {
+         if (m_is_wayland && m_preedit.get_text() == "")
+             return;
+         show_preedit_and_candidate(false);
++
++        /* Clicking on "Emoji Choice" will call ibus_engine_simple_focus_out()
++         * -> PanelBinding.hide_preedit_text() with IBusEngineSimple but not
++         * other engines.
++         */
++        if (m_emojier_focus_emoji_category_id > 0) {
++            GLib.Source.remove(m_emojier_focus_emoji_category_id);
++            show_category_list_real();
++        }
+     }
+ 
+ 
+@@ -1128,6 +1144,12 @@ class PanelBinding : IBus.PanelService {
+         show_preedit_and_candidate(show_candidate);
+     }
+ 
++    private void show_category_list_real() {
++                key_press_space();
++                show_preedit_and_candidate(true);
++                m_emojier_focus_emoji_category_id = 0;
++    }
++
+     private void candidate_clicked_lookup_table_real(uint index,
+                                                      uint button,
+                                                      uint state,
+-- 
+2.46.0
+

diff --git a/ibus.spec b/ibus.spec
index 72dd47d..c85098b 100644
--- a/ibus.spec
+++ b/ibus.spec
@@ -62,7 +62,7 @@
 Name:           ibus
 Version:        1.5.31~beta2
 # https://github.com/fedora-infra/rpmautospec/issues/101
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Intelligent Input Bus for Linux OS
 License:        LGPL-2.1-or-later
 URL:            https://github.com/ibus/%name/wiki
@@ -71,6 +71,7 @@ Source1:        https://github.com/ibus/%name/releases/download/%{source_version
 Source2:        %{name}-xinput
 Source3:        %{name}.conf.5
 # Patch0:         %%{name}-HEAD.patch
+Patch0:         %{name}-HEAD.patch
 # Under testing #1349148 #1385349 #1350291 #1406699 #1432252 #1601577
 Patch1:         %{name}-1385349-segv-bus-proxy.patch
 
@@ -613,6 +614,9 @@ dconf update || :
 %{_datadir}/installed-tests/ibus
 
 %changelog
+* Tue Sep 24 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta2-2
+- Resolves #2310892 Show Emojier dialog from menu item
+
 * Sun Aug 25 2024 Takao Fujiwara <tfujiwar@redhat.com> - 1.5.31~beta2-1
 - Bump to 1.5.31-beta2
 

                 reply	other threads:[~2026-05-31  2:08 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178019332173.1.10360535678025608350.rpms-ibus-dbe3db40263e@fedoraproject.org \
    --to=tfujiwar@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox