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: Delete upstreamed ibus-HEAD.patch
Date: Sun, 31 May 2026 02:07:48 GMT [thread overview]
Message-ID: <178019326807.1.144125565354538121.rpms-ibus-0829fa055cbb@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/ibus
Branch : autotool
Commit : 0829fa055cbb2f3b69cfe8350b7c9a923c84c04f
Author : Takao Fujiwara <tfujiwar@redhat.com>
Date : 2022-03-14T14:40:28+09:00
Stats : +0/-2676 in 1 file(s)
URL : https://src.fedoraproject.org/rpms/ibus/c/0829fa055cbb2f3b69cfe8350b7c9a923c84c04f?branch=autotool
Log:
Delete upstreamed ibus-HEAD.patch
---
diff --git a/ibus-HEAD.patch b/ibus-HEAD.patch
deleted file mode 100644
index 36d5f6d..0000000
--- a/ibus-HEAD.patch
+++ /dev/null
@@ -1,2676 +0,0 @@
-From 571e3b6e4f386abf12d3db70b9468e092c8d72bd Mon Sep 17 00:00:00 2001
-From: Alynx Zhou <alynx.zhou@gmail.com>
-Date: Tue, 24 Aug 2021 10:12:52 +0800
-Subject: [PATCH] client/gtk2/ibusimcontext: Fix wrong cursor location in gtk3
- apps
-
-If you apply this patch in your tarball, please also apply this to
-client/gtk3/ibusimcontext.c besides client/gtk2/ibusimcontext.c .
-
-BUG=https://github.com/ibus/ibus/issues/2337
----
- client/gtk2/ibusimcontext.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index da9a402f..b1ccede9 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -1497,7 +1497,10 @@ _set_cursor_location_internal (IBusIMContext *ibusimcontext)
-
- #if GTK_CHECK_VERSION (3, 98, 4)
- #elif GTK_CHECK_VERSION (2, 91, 0)
-- area.y += gdk_window_get_height (ibusimcontext->client_window);
-+ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
-+ area.x = 0;
-+ area.y += gdk_window_get_height (ibusimcontext->client_window);
-+ }
- #else
- if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) {
- gint w, h;
---
-2.31.1
-
-From 5487a6baa4b22605ba8197ca1a0fa43c91d57786 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 6 Sep 2021 20:23:59 +0900
-Subject: [PATCH] client/gtk2/ibusimcontext: Implement clear preedit for GTK4
-
-IBus IM module uses synchornized key processes for GTK4 and the timing
-of the GTK reset siginal may work with focus-in/out between windows.
-(I don't test GTK4 firefox and terminal yet and the verification is not
-completed.)
-So ibus_im_context_clear_preedit_text() is now called with the GTK4 reset
-siginal.
-ibus_im_context_clear_preedit_text() works with ibus-setup-anthy ->
-"Conversion" tab -> "Behavior on Focus Out" pull down menu.
-
-BUG=https://github.com/ibus/ibus/issues/2334
----
- client/gtk2/ibusimcontext.c | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index b1ccede9..e12be45d 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -1270,6 +1270,8 @@ ibus_im_context_reset (GtkIMContext *context)
- * IBus uses button-press-event instead until GTK is fixed.
- * https://gitlab.gnome.org/GNOME/gtk/issues/1534
- */
-+ if (_use_sync_mode)
-+ ibus_im_context_clear_preedit_text (ibusimcontext);
- ibus_input_context_reset (ibusimcontext->ibuscontext);
- }
- gtk_im_context_reset (ibusimcontext->slave);
-@@ -1383,7 +1385,7 @@ ibus_im_context_set_client_window (GtkIMContext *context,
-
- if (ibusimcontext->client_window) {
- #if !GTK_CHECK_VERSION (3, 98, 4)
-- if (ibusimcontext->use_button_press_event)
-+ if (ibusimcontext->use_button_press_event && !_use_sync_mode)
- _connect_button_press_event (ibusimcontext, FALSE);
- #endif
- g_object_unref (ibusimcontext->client_window);
-@@ -1393,7 +1395,7 @@ ibus_im_context_set_client_window (GtkIMContext *context,
- if (client != NULL) {
- ibusimcontext->client_window = g_object_ref (client);
- #if !GTK_CHECK_VERSION (3, 98, 4)
-- if (!ibusimcontext->use_button_press_event)
-+ if (!ibusimcontext->use_button_press_event && !_use_sync_mode)
- _connect_button_press_event (ibusimcontext, TRUE);
- #endif
- }
-@@ -1994,7 +1996,8 @@ _ibus_context_update_preedit_text_cb (IBusInputContext *ibuscontext,
-
- #if !GTK_CHECK_VERSION (3, 98, 4)
- if (!ibusimcontext->use_button_press_event &&
-- mode == IBUS_ENGINE_PREEDIT_COMMIT) {
-+ mode == IBUS_ENGINE_PREEDIT_COMMIT &&
-+ !_use_sync_mode) {
- if (ibusimcontext->client_window) {
- _connect_button_press_event (ibusimcontext, TRUE);
- }
---
-2.28.0
-
-From 4957d1468db4fc5ed30c3ae1f2afac9e51b329d6 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 6 Sep 2021 20:25:52 +0900
-Subject: [PATCH] client/gtk2/ibusimcontext: Calculate keycode from keysym in
- GTK3 forward-key-event
-
-IBus GTK3 mode also calculates keycode from keysym if keycode == 0
-with forward-key-event signal to follow GTK4.
----
- client/gtk2/ibusimcontext.c | 22 ++++++++++++++++++----
- 1 file changed, 18 insertions(+), 4 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index e12be45d..b1424e87 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -1939,13 +1939,16 @@ _ibus_context_forward_key_event_cb (IBusInputContext *ibuscontext,
- int group = 0;
- g_return_if_fail (GTK_IS_IM_CONTEXT (ibusimcontext));
- if (keycode == 0 && ibusimcontext->client_window) {
-- GdkDisplay *display = gtk_widget_get_display (ibusimcontext->client_window);
-+ GdkDisplay *display =
-+ gtk_widget_get_display (ibusimcontext->client_window);
- GdkKeymapKey *keys = NULL;
- gint n_keys = 0;
-- if (!gdk_display_map_keyval (display, keyval, &keys, &n_keys))
-+ if (gdk_display_map_keyval (display, keyval, &keys, &n_keys)) {
-+ keycode = keys->keycode;
-+ group = keys->group;
-+ } else {
- g_warning ("Failed to parse keycode from keyval %x", keyval);
-- keycode = keys->keycode;
-- group = keys->group;
-+ }
- }
- gtk_im_context_filter_key (
- GTK_IM_CONTEXT (ibusimcontext),
-@@ -1957,6 +1960,17 @@ _ibus_context_forward_key_event_cb (IBusInputContext *ibuscontext,
- (GdkModifierType)state,
- group);
- #else
-+ if (keycode == 0 && ibusimcontext->client_window) {
-+ GdkDisplay *display =
-+ gdk_window_get_display (ibusimcontext->client_window);
-+ GdkKeymap *keymap = gdk_keymap_get_for_display (display);
-+ GdkKeymapKey *keys = NULL;
-+ gint n_keys = 0;
-+ if (gdk_keymap_get_entries_for_keyval (keymap, keyval, &keys, &n_keys))
-+ keycode = keys->keycode;
-+ else
-+ g_warning ("Failed to parse keycode from keyval %x", keyval);
-+ }
- GdkEventKey *event = _create_gdk_event (ibusimcontext, keyval, keycode, state);
- gdk_event_put ((GdkEvent *)event);
- gdk_event_free ((GdkEvent *)event);
---
-2.28.0
-
-From fbea5441fc53ae1d5533bed1ee53009141cf905a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 10 Sep 2021 00:09:26 +0900
-Subject: [PATCH] Fix build errors in Ubuntu focal
-
-- Ubuntu focal uses glib 2.64.6 which does not include errno.h
- so config.h includes errno.h as the workaround.
-- make autogen.sh not to delete dist files in Travis
-- Call $(PYTHON) for gensimple.py for Ubuntu python3
-- Add a code review in src/ibuscomposetable.c
-
-BUG=https://github.com/ibus/ibus/pull/2348
----
- autogen.sh | 2 +-
- configure.ac | 9 +++++++++
- engine/Makefile.am | 2 +-
- src/ibuscomposetable.c | 4 ++++
- src/ibusregistry.c | 4 ++++
- src/ibusshare.c | 3 +++
- 6 files changed, 26 insertions(+), 2 deletions(-)
-
-diff --git a/autogen.sh b/autogen.sh
-index 693a2740..ea633e06 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -53,4 +53,4 @@ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" REQUIRED_AUTOMAKE_VERSION=1.11 CFLAGS="$CFL
- echo "rm $f"
- rm $f
- done
--}
-+} || :
-diff --git a/configure.ac b/configure.ac
-index 29f8b3db..ce096ad3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -162,6 +162,15 @@ PKG_CHECK_MODULES(GIO2, [
- PKG_CHECK_MODULES(GTHREAD2, [
- gthread-2.0 >= glib_required_version
- ])
-+PKG_CHECK_EXISTS(
-+ [glib-2.0 >= 2.65.0],
-+ [AC_DEFINE(GLIB2_EMBED_ERRNO_H, TRUE, [glib2 include errno.h])]
-+)
-+AH_BOTTOM([
-+#ifndef GLIB2_EMBED_ERRNO_H
-+# include <errno.h>
-+#endif
-+])
-
- # --disable-tests option.
- AC_ARG_ENABLE(tests,
-diff --git a/engine/Makefile.am b/engine/Makefile.am
-index 84bc7f6c..03867f52 100644
---- a/engine/Makefile.am
-+++ b/engine/Makefile.am
-@@ -99,7 +99,7 @@ simple.xml: simple.xml.in
- mv $@.tmp $@
-
- simple.xml.in:
-- $(srcdir)/gensimple.py \
-+ $(PYTHON) $(srcdir)/gensimple.py \
- --input=$(XKBCONFIG_BASE)/rules/evdev.xml \
- --output=$@ \
- --version=$(VERSION).`date '+%Y%m%d'` \
-diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
-index d4184d30..b76464bc 100644
---- a/src/ibuscomposetable.c
-+++ b/src/ibuscomposetable.c
-@@ -18,6 +18,9 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA
- */
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-
- #include <glib.h>
- #include <glib/gstdio.h>
-@@ -1606,6 +1609,7 @@ ibus_compose_table_compact_check (const IBusComposeTableCompactEx
- row_stride = i + 1;
-
- if (seq_index[i + 1] - seq_index[i] > 0) {
-+ g_assert (row_stride);
- seq = bsearch (compose_buffer + 1,
- table->data + seq_index[i],
- (seq_index[i + 1] - seq_index[i]) / row_stride,
-diff --git a/src/ibusregistry.c b/src/ibusregistry.c
-index 23c5ca1b..962afb20 100644
---- a/src/ibusregistry.c
-+++ b/src/ibusregistry.c
-@@ -20,6 +20,10 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA
- */
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
- #include <gio/gio.h>
- #include <glib/gstdio.h>
- #include <string.h>
-diff --git a/src/ibusshare.c b/src/ibusshare.c
-index 8974511a..0c0bda10 100644
---- a/src/ibusshare.c
-+++ b/src/ibusshare.c
-@@ -20,6 +20,9 @@
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
- * USA
- */
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-
- #include "ibusshare.h"
- #include <glib.h>
---
-2.33.1
-
-From 943d37444d9cc0881cb5fff87bdd4b9efd5abdb4 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Mon, 9 Aug 2021 12:49:15 +0900
-Subject: [PATCH] client/gtk2/ibusimcontext: Fix a key event loop with
- forwarding keys.
-
-_ibus_context_forward_key_event_cb() caused a key event loop in
-_key_snooper_cb() with key release events.
----
- client/gtk2/ibusimcontext.c | 11 +++++++++--
- 1 file changed, 9 insertions(+), 2 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index da9a402f..e66125df 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -366,6 +366,10 @@ ibus_im_context_commit_event (IBusIMContext *ibusimcontext,
- g_signal_emit (ibusimcontext, _signal_commit_id, 0, text->text);
- g_object_unref (text);
- _request_surrounding_text (ibusimcontext);
-+#if !GTK_CHECK_VERSION (3, 98, 4)
-+ /* Avoid a loop with _ibus_context_forward_key_event_cb() */
-+ event->state |= IBUS_HANDLED_MASK;
-+#endif
- return TRUE;
- }
- return FALSE;
-@@ -643,12 +647,15 @@ _key_snooper_cb (GtkWidget *widget,
-
- } while (0);
-
-- if (ibusimcontext != NULL) {
-+ if (ibusimcontext != NULL && event->type == GDK_KEY_PRESS) {
- /* "retrieve-surrounding" signal sometimes calls unref by
- * gtk_im_multicontext_get_slave() because priv->context_id is not
- * the latest than global_context_id in GtkIMMulticontext.
- * Since _focus_im_context is gotten by the focus_in event,
- * it would be good to call ref here.
-+ *
-+ * Most release key events would be redundant from
-+ * _ibus_context_forward_key_event_cb ().
- */
- g_object_ref (ibusimcontext);
- _request_surrounding_text (ibusimcontext);
-@@ -657,7 +664,7 @@ _key_snooper_cb (GtkWidget *widget,
-
- retval = _process_key_event (ibuscontext, event, ibusimcontext);
-
-- if (ibusimcontext != NULL) {
-+ if (ibusimcontext != NULL && event->type == GDK_KEY_PRESS) {
- /* unref ibusimcontext could call ibus_im_context_finalize here
- * because "retrieve-surrounding" signal could call unref.
- */
---
-2.28.0
-
-From 179ebddf4dbde1cef1cea2df4e659cf4940d1a30 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 27 Aug 2021 20:05:02 +0900
-Subject: [PATCH] src/tests: Add --screendump option in
- ibus-desktop-testing-runner
-
-The screendump is useful in CI to if check gnome-shell-extension-no-overview
-works.
-Also add ibus-desktop-testing-autostart to get the debug info in CI.
-You can copy ibus-desktop-testing.desktop to $HOME/.config/autostart
-if CI fails.
----
- src/tests/Makefile.am | 11 +++++
- src/tests/ibus-desktop-testing-autostart | 55 +++++++++++++++++++++++
- src/tests/ibus-desktop-testing-runner.in | 20 +++++++--
- src/tests/ibus-desktop-testing.desktop.in | 11 +++++
- 4 files changed, 93 insertions(+), 4 deletions(-)
- create mode 100755 src/tests/ibus-desktop-testing-autostart
- create mode 100644 src/tests/ibus-desktop-testing.desktop.in
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index 13c06eb4..7d00f236 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -96,6 +96,7 @@ test_sourcesdir = $(datadir)/installed-tests/ibus
- CLEANFILES += \
- $(test_metas) \
- ibus-desktop-testing-runner \
-+ org.freedesktop.IBus.Desktop.Testing.desktop \
- $(NULL)
-
- test_execs_PROGRAMS = $(TESTS)
-@@ -106,6 +107,14 @@ CLEANFILES += \
- $(NULL)
- endif
- test_execsdir = $(libexecdir)/installed-tests/ibus
-+libexec_SCRIPTS = ibus-desktop-testing-autostart
-+
-+test_frame_DATA = org.freedesktop.IBus.Desktop.Testing.desktop
-+test_framedir = $(pkgdatadir)/tests
-+org.freedesktop.IBus.Desktop.Testing.desktop: ibus-desktop-testing.desktop.in
-+ $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|g" \
-+ $< > $@.tmp && \
-+ mv $@.tmp $@
- endif
-
- $(test_metas): $(test_metas_in) $(test_programs)
-@@ -133,6 +142,8 @@ EXTRA_DIST = \
- ibus-compose.emoji \
- ibus-compose.env \
- ibus-compose-locales.in \
-+ ibus-desktop-testing.desktop.in \
-+ ibus-desktop-testing-autostart \
- ibus-desktop-testing-runner.in \
- $(NULL)
-
-diff --git a/src/tests/ibus-desktop-testing-autostart b/src/tests/ibus-desktop-testing-autostart
-new file mode 100755
-index 00000000..da22b64e
---- /dev/null
-+++ b/src/tests/ibus-desktop-testing-autostart
-@@ -0,0 +1,55 @@
-+#!/bin/sh
-+# -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*-
-+# vim:set noet ts=4:
-+#
-+# ibus - The Input Bus
-+#
-+# Copyright (c) 2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2021 Red Hat, Inc.
-+#
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License along
-+# with this program; if not, write to the Free Software Foundation, Inc.,
-+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+
-+TEST_LOG=
-+COMMANDS='
-+id
-+echo $DISPLAY
-+pwd
-+pstree -asp $$
-+gsettings list-recursively org.gnome.shell
-+rpm -q gnome-shell-extension-no-overview gnome-shell gnome-session
-+'
-+
-+if [ $# -gt 0 ] ; then
-+ TEST_LOG=$1
-+fi
-+
-+run_test()
-+{
-+while read cmd ; do
-+ if [ x"$cmd" = x ] ; then
-+ continue
-+ fi
-+ echo "# $cmd"
-+ eval "$cmd"
-+done << EOF_COMMANDS
-+`echo "$COMMANDS"`
-+EOF_COMMANDS
-+}
-+
-+if [ x"$TEST_LOG" = x ] ; then
-+ run_test
-+else
-+ run_test 2>>$TEST_LOG 1>>$TEST_LOG
-+fi
-diff --git a/src/tests/ibus-desktop-testing-runner.in b/src/tests/ibus-desktop-testing-runner.in
-index c1016703..48528326 100755
---- a/src/tests/ibus-desktop-testing-runner.in
-+++ b/src/tests/ibus-desktop-testing-runner.in
-@@ -36,13 +36,14 @@
-
-
- PROGNAME=`basename $0`
--VERSION=0.2
-+VERSION=0.3
- DISPLAY=:99.0
- BUILDDIR="."
- SRCDIR="."
- TEST_LOG="test-suite.log"
- TEST_LOG_STDOUT=0
- RESULT_LOG=""
-+SCREEN_LOG=""
- HAVE_GRAPHICS=1
- DESKTOP_COMMAND="dbus-launch --exit-with-session gnome-session"
- PID_XORG=0
-@@ -90,14 +91,15 @@ usage()
- "-T, --timeout=TIMEOUT Set timeout (default TIMEOUT is 300 sec).\n" \
- "-o, --output=OUTPUT_FILE OUtput the log to OUTPUT_FILE\n" \
- "-O, --result=RESULT_FILE OUtput the result to RESULT_FILE\n" \
-+"-S, --screendump=DUMP_FILE OUtput the screen to DUMP_FILE ('STDOUT' can be stdout)\n" \
- ""
- }
-
- parse_args()
- {
- # This is GNU getopt. "sudo port getopt" in BSD?
-- ARGS=`getopt -o hvb:s:cd:t:r:T:o:O: --long \
-- help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,timeout:,output:,result:\
-+ ARGS=`getopt -o hvb:s:cd:t:r:T:o:O:S: --long \
-+ help,version,builddir:,srcdir:,no-graphics,desktop:,tests:,runner:,timeout:,output:,result:,screendump:\
- -- "$@"`;
- eval set -- "$ARGS"
- while [ 1 ] ; do
-@@ -113,6 +115,7 @@ parse_args()
- -T | --timeout ) TIMEOUT="$2"; shift 2;;
- -o | --output ) TEST_LOG="$2"; shift 2;;
- -O | --result ) RESULT_LOG="$2"; shift 2;;
-+ -S | --screendump ) SCREEN_LOG="$2"; shift 2;;
- -- ) shift; break;;
- * ) usage; exit 1;;
- esac
-@@ -259,6 +262,7 @@ run_desktop()
- {
- echo "$DESKTOP_COMMAND" | grep gnome-session > /dev/null
- HAS_GNOME=$?
-+ export DISPLAY=$DISPLAY
- if test $HAVE_GRAPHICS -eq 1 ; then
- /usr/libexec/Xorg.wrap -noreset +extension GLX +extension RANDR +extension RENDER -logfile ./xorg.log -config ./xorg.conf -configdir . $DISPLAY &
- else
-@@ -266,7 +270,6 @@ run_desktop()
- fi
- PID_XORG=$!
- sleep 1
-- export DISPLAY=$DISPLAY
- # init_gnome need to be called with $DISPLAY before gnome-session is called
- if [ $HAS_GNOME -eq 0 ] ; then
- init_gnome
-@@ -454,6 +457,15 @@ main()
- init_desktop
- run_dbus_daemon 2>>$TEST_LOG 1>>$TEST_LOG
- run_desktop 2>>$TEST_LOG 1>>$TEST_LOG
-+ if [ x"$SCREEN_LOG" != x ] ; then
-+ SCREEN_PNG="`date '+%Y%m%d%H%M%S'`.png"
-+ gnome-screenshot --file=$SCREEN_PNG
-+ if [ x"$SCREEN_LOG" = xSTDOUT ] ; then
-+ base64 $SCREEN_PNG
-+ else
-+ base64 $SCREEN_PNG > $SCREEN_LOG
-+ fi
-+ fi
- run_test_suite
- finit
- }
-diff --git a/src/tests/ibus-desktop-testing.desktop.in b/src/tests/ibus-desktop-testing.desktop.in
-new file mode 100644
-index 00000000..fa0c9b40
---- /dev/null
-+++ b/src/tests/ibus-desktop-testing.desktop.in
-@@ -0,0 +1,11 @@
-+[Desktop Entry]
-+Name=IBus Desktop Testing Runner
-+GenericName=Input Method Desktop Testing Runner
-+Comment=Test plugin for IBus Desktop Testing
-+Exec=@ibexecdir@/ibus-desktop-testing-autostart /var/tmp/ibus-ci-autostart.log
-+Terminal=false
-+Type=Application
-+Encoding=UTF-8
-+Icon=ibus
-+Categories=System
-+Keywords=im;
---
-2.28.0
-
-From acc5570511698c7b5cc037eb81be2c4be52a824f Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 29 Oct 2021 12:56:49 +0900
-Subject: [PATCH] ui/gtk3: Erase Emojier preedit/lookup popup between
- applications
-
-It would be better to erase Emojier popup window when users change
-the input focus between applications. But it hasn't been implemented
-because the focus-out/in events also happen when the Emojier popup window
-is launching or rebuilding to the category list in GNOME Wayland.
-The focus-out/in events do not happen in Xorg desktops with the rebuilding
-GUI because GTK popup window causes focus-in/out evnets in Wayland.
-
-Now I'm convinced with several issues and added a little complicated logic
-to erase Emojier popup window with the focus changes between input contexts
-to handle focus-in/out events in Wayland.
-
-BUG=rhbz#1942970
----
- ui/gtk3/emojier.vala | 69 ++++++++++++++++++++++++++++++++++++---
- ui/gtk3/emojierapp.vala | 12 +++++--
- ui/gtk3/panelbinding.vala | 21 ++++++++++--
- 3 files changed, 94 insertions(+), 8 deletions(-)
-
-diff --git a/ui/gtk3/emojier.vala b/ui/gtk3/emojier.vala
-index 9e6e9263..69fb8abe 100644
---- a/ui/gtk3/emojier.vala
-+++ b/ui/gtk3/emojier.vala
-@@ -2,7 +2,7 @@
- *
- * ibus - The Input Bus
- *
-- * Copyright (c) 2017-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (c) 2017-2021 Takao Fujiwara <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
-@@ -227,6 +227,8 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- BACKWARD,
- }
-
-+ public bool is_wayland { get; set; }
-+
- public const uint BUTTON_CLOSE_BUTTON = 1000;
-
- private const uint EMOJI_GRID_PAGE = 10;
-@@ -317,15 +319,18 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- private Gdk.Rectangle m_cursor_location;
- private bool m_is_up_side_down = false;
- private uint m_redraw_window_id;
-+ private bool m_rebuilding_gui = false;
-+ private uint m_rebuilding_gui_timeout_id;
-
- public signal void candidate_clicked(uint index, uint button, uint state);
- public signal void commit_text(string text);
- public signal void cancel();
-
-- public IBusEmojier() {
-+ public IBusEmojier(bool is_wayland) {
- GLib.Object(
- type : Gtk.WindowType.POPUP
- );
-+ this.is_wayland = is_wayland;
-
- // GLib.ActionEntry accepts const variables only.
- var action = new GLib.SimpleAction.stateful(
-@@ -1002,6 +1007,7 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- button.button_press_event.connect((w, e) => {
- m_category_active_index = -1;
- m_show_unicode = false;
-+ start_rebuild_gui(false);
- hide_candidate_panel();
- show_all();
- return true;
-@@ -1458,6 +1464,7 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- show_emoji_for_category(m_backward);
- show_candidate_panel();
- } else {
-+ start_rebuild_gui(false);
- hide_candidate_panel();
- show_all();
- }
-@@ -1778,6 +1785,34 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- }
-
-
-+ private void start_rebuild_gui(bool initial_launching) {
-+ if (!this.is_wayland)
-+ return;
-+ if (!initial_launching && !base.get_visible())
-+ return;
-+ if (initial_launching && base.get_visible())
-+ return;
-+ if (m_rebuilding_gui_timeout_id != 0) {
-+ GLib.Source.remove(m_rebuilding_gui_timeout_id);
-+ m_rebuilding_gui_timeout_id = 0;
-+ }
-+
-+ m_rebuilding_gui = true;
-+ m_rebuilding_gui_timeout_id =
-+ GLib.Timeout.add_seconds(10, () => {
-+ if (!m_rebuilding_gui) {
-+ m_rebuilding_gui_timeout_id = 0;
-+ return false;
-+ }
-+ warning("Rebuilding GUI is time out.");
-+ m_rebuilding_gui = false;
-+ m_rebuilding_gui_timeout_id = 0;
-+ return false;
-+ },
-+ GLib.Priority.DEFAULT_IDLE);
-+ }
-+
-+
- public bool has_variants(uint index,
- bool need_commit_signal) {
- if (index >= m_lookup_table.get_number_of_candidates())
-@@ -1880,12 +1915,17 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- m_show_unicode = false;
- m_category_active_index = -1;
- }
-+ start_rebuild_gui(false);
- hide_candidate_panel();
- return true;
- } else if (m_backward_index >= 0 && m_backward != null) {
-+ // Escape on Emoji variants window does not call focus-out events
-+ // because hide() is not called here so start_rebuild_gui()
-+ // is not called.
- show_emoji_for_category(m_backward);
- return true;
- } else if (m_candidate_panel_is_visible && m_backward != null) {
-+ start_rebuild_gui(false);
- hide_candidate_panel();
- return true;
- }
-@@ -2218,7 +2258,7 @@ public class IBusEmojier : Gtk.ApplicationWindow {
-
- /* Some window managers, e.g. MATE, GNOME, Plasma desktops,
- * does not give the keyboard focus when Emojier is lauched
-- * twice with Ctrl-Shift-e via XIEvent, if present_with_time()
-+ * twice with Ctrl-period via XIEvent, if present_with_time()
- * is not applied.
- * But XFCE4 desktop does not effect this bug.
- * Seems this is caused by the window manager's focus stealing
-@@ -2265,8 +2305,10 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- #endif
-
-
-- /* override virtual functions */
-+ // override virtual functions
- public override void show_all() {
-+ // Ctrl-period, space keys causes focus-out/in events in GNOME Wayland.
-+ start_rebuild_gui(true);
- base.show_all();
- if (m_candidate_panel_mode)
- show_candidate_panel();
-@@ -2416,6 +2458,17 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- }
-
-
-+ public override bool focus_in_event(Gdk.EventFocus event) {
-+ m_rebuilding_gui = false;
-+ return base.focus_in_event(event);
-+ }
-+
-+
-+ public override bool focus_out_event(Gdk.EventFocus event) {
-+ return base.focus_out_event(event);
-+ }
-+
-+
- public bool is_running() {
- return m_is_running;
- }
-@@ -2511,6 +2564,14 @@ public class IBusEmojier : Gtk.ApplicationWindow {
- }
-
-
-+ public bool is_rebuilding_gui() {
-+ /* The candidate window and preedit text should not be closed
-+ * when the GUI is rebuilding.
-+ */
-+ return m_rebuilding_gui;
-+ }
-+
-+
- public static bool has_loaded_emoji_dict() {
- if (m_emoji_to_data_dict == null)
- return false;
-diff --git a/ui/gtk3/emojierapp.vala b/ui/gtk3/emojierapp.vala
-index 783c611c..812356f0 100644
---- a/ui/gtk3/emojierapp.vala
-+++ b/ui/gtk3/emojierapp.vala
-@@ -3,7 +3,7 @@
- * ibus - The Input Bus
- *
- * Copyright (c) 2017 Peng Wu <alexepico@gmail.com>
-- * Copyright (c) 2017-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (c) 2017-2021 Takao Fujiwara <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
-@@ -208,7 +208,15 @@ public class EmojiApplication : Gtk.Application {
- IBusEmojier.load_unicode_dict();
-
- if (m_emojier == null) {
-- m_emojier = new IBusEmojier();
-+ bool is_wayland = false;
-+#if USE_GDK_WAYLAND
-+ Type instance_type = Gdk.Display.get_default().get_type();
-+ Type wayland_type = typeof(GdkWayland.Display);
-+ is_wayland = instance_type.is_a(wayland_type);
-+#else
-+ warning("Checking Wayland is disabled");
-+#endif
-+ m_emojier = new IBusEmojier(is_wayland);
- // For title handling in gnome-shell
- add_window(m_emojier);
- m_emojier.candidate_clicked.connect((i, b, s) => {
-diff --git a/ui/gtk3/panelbinding.vala b/ui/gtk3/panelbinding.vala
-index 861255b1..e63d93f2 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-2020 Takao Fujwiara <takao.fujiwara1@gmail.com>
-+ * Copyright(c) 2018-2021 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
-@@ -799,6 +799,23 @@ class PanelBinding : IBus.PanelService {
-
- public override void focus_out(string input_context_path) {
- m_current_context_path = "";
-+ /* Close emoji typing when the focus out happens but it's not a
-+ * rebuilding GUI.
-+ * Emojier rebuilding GUI happens when Escape key is pressed on
-+ * Emojier candidate list and the rebuilding also causes focus-out/in
-+ * events in GNOME Wayland but not Xorg desktops.
-+ * The rebuilding GUI can be checked with m_emojier.is_rebuilding_gui()
-+ * in Wayland.
-+ * m_emojier.is_rebuilding_gui() always returns false in Xorg desktops
-+ * since focus-out/in events does not happen.
-+ */
-+ if (m_emojier != null && !m_emojier.is_rebuilding_gui()) {
-+ m_preedit.reset();
-+ m_emojier.set_annotation("");
-+ if (m_wayland_lookup_table_is_visible)
-+ hide_wayland_lookup_table();
-+ key_press_escape();
-+ }
- }
-
-
-@@ -822,7 +839,7 @@ class PanelBinding : IBus.PanelService {
- m_loaded_unicode = true;
- }
- if (m_emojier == null) {
-- m_emojier = new IBusEmojier();
-+ m_emojier = new IBusEmojier(m_is_wayland);
- // For title handling in gnome-shell
- m_application.add_window(m_emojier);
- m_emojier.candidate_clicked.connect((i, b, s) => {
---
-2.28.0
-
-From 28acfd433b3df1673b7c7177915c027ce48c061e Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 5 Nov 2021 07:22:34 +0900
-Subject: [PATCH] ui/gtk2: Deprecate gettext.bind_textdomain_codeset()
- since Python 3.8
-
-setup/i18n.py is a symlink of ui/gtk2/i18n.py
-env PYTHONWARNINGS='d' ibus-setup
-
-BUG=https://github.com/ibus/ibus/issues/2276
----
- setup/i18n.py | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/setup/i18n.py b/setup/i18n.py
-index 976d1aee..af14efc6 100644
---- a/setup/i18n.py
-+++ b/setup/i18n.py
-@@ -3,7 +3,9 @@
- # ibus - The Input Bus
- #
- # Copyright(c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
-+# Copyright(c) 2012-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright(c) 2007-2015 Google, Inc.
-+# Copyright(c) 2012-2021 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
-@@ -23,12 +25,14 @@
- import locale
- import gettext
- import os
-+import sys
-
- DOMAINNAME = "ibus10"
-
- _ = lambda a: gettext.dgettext(DOMAINNAME, a)
- N_ = lambda a: a
-
-+PY3K = sys.version_info >= (3, 0)
- LOCALEDIR = os.getenv("IBUS_LOCALEDIR")
-
- def init_textdomain(domainname):
-@@ -42,7 +46,9 @@ def init_textdomain(domainname):
- except AttributeError:
- pass
- gettext.bindtextdomain(domainname, LOCALEDIR)
-- gettext.bind_textdomain_codeset(domainname, 'UTF-8')
-+ # https://docs.python.org/3/library/gettext.html#gettext.lgettext
-+ if not PY3K:
-+ gettext.bind_textdomain_codeset(domainname, 'UTF-8')
-
- def gettext_engine_longname(engine):
- name = engine.get_name()
---
-2.33.1
-
-From cfcc6f194cfc95ab0cf1b3b719d77321c249a83b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Na=C3=AFm=20Favier?= <n@monade.li>
-Date: Tue, 16 Nov 2021 00:33:37 +0100
-Subject: [PATCH] src/ibuscomposetable: invalidate cache based on symlink
- mtime too
-
-When the compose file is a symbolic link, take the link itself's
-modification time into account (in addition to its target's) in
-determining whether to invalidate the compose cache.
-
-This is useful e.g. on NixOS systems where the compose file might point
-to a store path with an irrelevant modification time, and we want the
-cache to expire when the symlink itself changes.
-
-BUG=https://github.com/ibus/ibus/pull/2362
----
- src/ibuscomposetable.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
-index b76464bc..250e0139 100644
---- a/src/ibuscomposetable.c
-+++ b/src/ibuscomposetable.c
-@@ -1040,10 +1040,14 @@ ibus_compose_table_load_cache (const gchar *compose_file)
- if (!g_file_test (path, G_FILE_TEST_EXISTS))
- break;
-
-- if (g_stat (compose_file, &original_buf))
-- break;
- if (g_stat (path, &cache_buf))
- break;
-+ if (g_lstat (compose_file, &original_buf))
-+ break;
-+ if (original_buf.st_mtime > cache_buf.st_mtime)
-+ break;
-+ if (g_stat (compose_file, &original_buf))
-+ break;
- if (original_buf.st_mtime > cache_buf.st_mtime)
- break;
- if (!g_file_get_contents (path, &contents, &length, &error)) {
---
-2.33.1
-
-From 2bc47f09832073c87ccdf1060bd93ff95878685a Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 2 Dec 2021 23:52:36 +0900
-Subject: [PATCH] autogen: Delete gnome-autogen dependency
-
-You may like to call ./autogen.sh --enable-gtk-doc with your custom
-configure options.
-Also set SAVE_DIST_FILE=1 by default
----
- autogen.sh | 96 +++++++++++++++++++++++++++++++++----------------
- src/Makefile.am | 18 ++++++----
- 3 files changed, 80 insertions(+), 41 deletions(-)
-
-diff --git a/autogen.sh b/autogen.sh
-index ea633e06..1acbf705 100755
---- a/autogen.sh
-+++ b/autogen.sh
-@@ -1,22 +1,47 @@
- #!/bin/sh
- # Run this to generate all the initial makefiles, etc.
-
--srcdir=`dirname $0`
--test -z "$srcdir" && srcdir=.
--
--PKG_NAME="ibus"
--DIST_FILES="
--engine/simple.xml.in
--src/ibusemojigen.h
--src/ibusunicodegen.h
--"
-+: ${srcdir=$(dirname $0)}
-+: ${srcdir:=.}
-+: ${SAVE_DIST_FILES:=0}
-+
-+olddir=$(pwd)
-+# shellcheck disable=SC2016
-+PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
-+WANT_GTK_DOC=0
-+GCC_VERSION=$(gcc --version | head -1 | awk '{print $3}')
-+GCC_MAJOR_VERSION=$(echo "$GCC_VERSION" | awk -F. '{print $1}')
- FEDORA_PKG1='autoconf automake libtool gettext-devel'
- FEDORA_PKG2='glib2-devel gtk2-devel gtk3-devel
- wayland-devel'
- FEDORA_PKG3='cldr-emoji-annotation iso-codes-devel unicode-emoji unicode-ucd
- xkeyboard-config-devel'
-
--(test -z "$DISABLE_INSTALL_PKGS") && {
-+CFLAGS=${CFLAGS-"-Wall -Wformat -Werror=format-security"}
-+(test $GCC_MAJOR_VERSION -ge 10) && {
-+ CFLAGS="$CFLAGS -fanalyzer -fsanitize=address -fsanitize=leak"
-+ FEDORA_PKG1="$FEDORA_PKG1 libasan"
-+}
-+
-+cd "$srcdir"
-+
-+(test -f configure.ac \
-+ && test -f README ) || {
-+ echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
-+ echo " top-level $PKG_NAME directory"
-+ exit 1
-+}
-+
-+(test $(grep -q "^GTK_DOC_CHECK" configure.ac)) || {
-+ WANT_GTK_DOC=1
-+ FEDORA_PKG2="$FEDORA_PKG2 gtk-doc"
-+}
-+
-+(test -f ChangeLog) || {
-+ touch ChangeLog
-+}
-+
-+(test "x$DISABLE_INSTALL_PKGS" = "x") && {
- (test -f /etc/fedora-release ) && {
- rpm -q $FEDORA_PKG1 || exit 1
- rpm -q $FEDORA_PKG2 || exit 1
-@@ -27,30 +52,39 @@ FEDORA_PKG3='cldr-emoji-annotation iso-codes-devel unicode-emoji unicode-ucd
- }
- }
-
--(test -f $srcdir/configure.ac \
-- && test -f $srcdir/README ) || {
-- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
-- echo " top-level $PKG_NAME directory"
-- exit 1
--}
--
--which gnome-autogen.sh || {
-- echo "Not found gnome-autogen.sh. You may need to install gnome-common"
-- exit 1
-+CONFIGFLAGS="$@"
-+(test "$#" = 0 -a "x$NOCONFIGURE" = "x" ) && {
-+ echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
-+ echo "*** If you wish to pass any to it, please specify them on the" >&2
-+ echo "*** '$0' command line." >&2
-+ echo "" >&2
-+ (test $WANT_GTK_DOC -eq 1) && CONFIGFLAGS="--enable-gtk-doc $@"
- }
-
--(test -f $srcdir/ChangeLog) || {
-- touch $srcdir/ChangeLog
--}
-+(test $WANT_GTK_DOC -eq 1) && gtkdocize --copy
-
--CFLAGS=${CFLAGS-"-Wall -Wformat -Werror=format-security"}
-+ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" REQUIRED_AUTOMAKE_VERSION=1.11 \
-+autoreconf --verbose --force --install || exit 1
-
--# need --enable-gtk-doc for gnome-autogen.sh to make dist
--ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I m4" REQUIRED_AUTOMAKE_VERSION=1.11 CFLAGS="$CFLAGS" . gnome-autogen.sh "$@"
-+cd "$olddir"
-+(test "x$NOCONFIGURE" = "x" ) && {
-+ echo "$srcdir/configure $CONFIGFLAGS"
-+ $srcdir/configure $CONFIGFLAGS || exit 1
-+ (test "$1" = "--help" ) && {
-+ exit 0
-+ } || {
-+ echo "Now type 'make' to compile $PKG_NAME" || exit 1
-+ }
-+} || {
-+ echo "Skipping configure process."
-+}
-
--(test -z "$SAVE_DIST_FILES") && {
-- for f in $DIST_FILES ; do
-- echo "rm $f"
-- rm $f
-- done
-+cd "$srcdir"
-+(test "x$SAVE_DIST_FILES" = "x0" ) && {
-+ # rm engine/simple.xml.in src/ibusemojigen.h src/ibusunicodegen.h
-+ for d in engine src; do
-+ echo "make -C $d maintainer-clean-generic"
-+ make -C $d maintainer-clean-generic
-+ done
- } || :
-+cd "$olddir"
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 742ee7d7..578694b5 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2020 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2007-2017 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
-@@ -296,8 +296,8 @@ dicts/emoji-%.dict: emoji-parser
- echo "Skip $$plus_comment $@"; \
- fi;
-
--ibusemojigen.h: dicts/emoji-en.dict
-- $(NULL)
-+ibusemojigen.h:
-+ $(MAKE) $(AM_MAKEFLAGS) dicts/emoji-en.dict
-
- # We put dicts/emoji-%.dict as the make target for the parallel build
- # and the make target has to be genarated even if the file size is zero.
-@@ -364,8 +364,8 @@ dicts/unicode-blocks.dict: unicode-parser
- echo "Generated $@"; \
- fi;
-
--ibusunicodegen.h: dicts/unicode-blocks.dict
-- $(NULL)
-+ibusunicodegen.h:
-+ $(MAKE) $(AM_MAKEFLAGS) dicts/unicode-blocks.dict
-
- unicode_parser_SOURCES = \
- unicode-parser.c \
-@@ -398,9 +398,15 @@ CLEANFILES += \
- stamp-ibusenumtypes.h \
- $(NULL)
-
--DISTCLEANFILES = \
-+MAINTAINERCLEANFILES = \
- ibusemojigen.h \
- ibusunicodegen.h \
-+ dicts/emoji-en.dict \
-+ dicts/unicode-blocks.dict \
-+ $(NULL)
-+
-+DISTCLEANFILES = \
-+ $(MAINTAINERCLEANFILES) \
- ibusversion.h \
- $(NULL)
-
---
-2.33.1
-
-From 104148bcdada1f8f22ef905c930f9944f3e99a63 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 2 Dec 2021 23:53:28 +0900
-Subject: [PATCH] src: Disable emoji shortcut key with no-emoji hint
-
-BUG=https://gitlab.gnome.org/GNOME/gtk/-/issues/4337
----
- src/ibusengine.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/ibusengine.c b/src/ibusengine.c
-index 9aeafbf9..7e844838 100644
---- a/src/ibusengine.c
-+++ b/src/ibusengine.c
-@@ -2,8 +2,8 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
- * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2018-2019 Takao Fujiwara <takao.fujiwara1@gmail.com>
-- * Copyright (C) 2008-2019 Red Hat, Inc.
-+ * Copyright (C) 2018-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2021 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
-@@ -954,6 +954,10 @@ ibus_engine_filter_key_event (IBusEngine *engine,
- return FALSE;
- for (n = names; n; n = n->next) {
- const gchar *name = (const gchar *)n->data;
-+ if (!g_strcmp0 (name, "emoji") &&
-+ (engine->priv->content_hints & IBUS_INPUT_HINT_NO_EMOJI)) {
-+ continue;
-+ }
- keys = g_hash_table_lookup (priv->extension_keybindings, name);
- for (; keys; keys++) {
- if (keys->keyval == 0 && keys->keycode == 0 && keys->state == 0)
---
-2.33.1
-
-From f5757ada54edaa7d2e3ea948d340cdf48064e30c Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 6 Jan 2022 11:20:26 +0900
-Subject: [PATCH] ibusenginesimple: Fix to send char position at
- update_preedit_text
-
-ibus_engine_update_preedit_text() should send the character position
-instead of the byte position.
-
-BUG=https://github.com/ibus/ibus/issues/2368
----
- src/ibusenginesimple.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index 83b04ebc..a80e41a5 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
- * Copyright (C) 2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2014-2017 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
-@@ -386,7 +386,7 @@ ibus_engine_simple_update_preedit_text (IBusEngineSimple *simple)
- } else if (s->len >= G_MAXINT) {
- g_warning ("%s is too long compose length: %lu", s->str, s->len);
- } else {
-- int len = (int)s->len;
-+ guint len = (guint)g_utf8_strlen (s->str, -1);
- IBusText *text = ibus_text_new_from_string (s->str);
- ibus_text_append_attribute (text,
- IBUS_ATTR_TYPE_UNDERLINE, IBUS_ATTR_UNDERLINE_SINGLE, 0, len);
---
-2.33.1
-
-From 0e118e7e57caaa298e367ed99f2051ba47a35f81 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 20 Jan 2022 16:33:11 +0900
-Subject: [PATCH] data/dconf: Change XKB layout string color in panel
-
-Replace '#415099' with '#51a2da' in XKB layout string color
-
-BUG=https://github.com/ibus/ibus/issues/2364
----
- data/dconf/org.freedesktop.ibus.gschema.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/dconf/org.freedesktop.ibus.gschema.xml b/data/dconf/org.freedesktop.ibus.gschema.xml
-index 099b9c60..e90ee5ab 100644
---- a/data/dconf/org.freedesktop.ibus.gschema.xml
-+++ b/data/dconf/org.freedesktop.ibus.gschema.xml
-@@ -146,7 +146,7 @@
- <description>Show input method name on language bar</description>
- </key>
- <key name="xkb-icon-rgba" type="s">
-- <default>'#415099'</default>
-+ <default>'#51a2da'</default>
- <summary>RGBA value of XKB icon</summary>
- <description>XKB icon shows the layout string and the string is rendered with the RGBA value. The RGBA value can be 1. a color name from X11, 2. a hex value in form '#rrggbb' where 'r', 'g' and 'b' are hex digits of the red, green, and blue, 3. a RGB color in form 'rgb(r,g,b)' or 4. a RGBA color in form 'rgba(r,g,b,a)' where 'r', 'g', and 'b' are either integers in the range 0 to 255 or percentage values in the range 0% to 100%, and 'a' is a floating point value in the range 0 to 1 of the alpha.</description>
- </key>
---
-2.33.1
-
-From d9ff2bb6b04a7cf7d99f4e9832b4b8905858178c Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 20 Jan 2022 16:41:37 +0900
-Subject: [PATCH] data/dconf: Add Ctrl-semicolon to Emoji shortcut key
-
-period key is needed Shift key in French keyboard and Ctrl-period does
-not work.
-Add Ctrl-semicolon in org.freedesktop.ibus.panel.emoji.hotkey to fix
-the problem.
-
-BUG=https://github.com/ibus/ibus/issues/2360
----
- data/dconf/org.freedesktop.ibus.gschema.xml | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/data/dconf/org.freedesktop.ibus.gschema.xml b/data/dconf/org.freedesktop.ibus.gschema.xml
-index e90ee5ab..516f7520 100644
---- a/data/dconf/org.freedesktop.ibus.gschema.xml
-+++ b/data/dconf/org.freedesktop.ibus.gschema.xml
-@@ -183,7 +183,7 @@
- <description>The shortcut keys for turning Unicode typing on or off</description>
- </key>
- <key name="hotkey" type="as">
-- <default>[ '<Control>period' ]</default>
-+ <default>[ '<Control>period', '<Control>semicolon' ]</default>
- <summary>Emoji shortcut keys for gtk_accelerator_parse</summary>
- <description>The shortcut keys for turning emoji typing on or off</description>
- </key>
---
-2.33.1
-
-From 5a455b1ead5d72483952356ddfe25b9e3b637e6f Mon Sep 17 00:00:00 2001
-From: Eberhard Beilharz <eb1@sil.org>
-Date: Wed, 13 Oct 2021 19:00:47 +0200
-Subject: [PATCH] Fix unref problems with floating references
-
-When running with debug-enabled GLIB there are several critical
-errors output: "A floating object ... was finalized. This means
-that someone called g_object_unref() on an object that had only
-a floating reference; the initial floating reference is not
-owned by anyone and must be removed with g_object_ref_sink()."
-
-This change fixes this by calling `g_object_ref_sink()` before
-`g_object_unref()` if we have a floating reference.
-
-It also fixes another related problem where we called
-`g_object_unref()` on a static IBusText string (created with
-`ibus_text_new_from_static_string()`) for which the API documentation
-says not to free.
-
-BUG=https://github.com/ibus/ibus/pull/2359
----
- src/ibusinputcontext.c | 21 ++++++++++++++-------
- src/ibusproperty.c | 32 ++++++++++++++++----------------
- 2 files changed, 30 insertions(+), 23 deletions(-)
-
-diff --git a/src/ibusinputcontext.c b/src/ibusinputcontext.c
-index 2b1438fc..4b27551b 100644
---- a/src/ibusinputcontext.c
-+++ b/src/ibusinputcontext.c
-@@ -550,7 +550,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- g_signal_emit (context, context_signals[COMMIT_TEXT], 0, text);
-
- if (g_object_is_floating (text))
-- g_object_unref (text);
-+ g_object_ref_sink (text);
-+ g_object_unref (text);
- return;
- }
- if (g_strcmp0 (signal_name, "UpdatePreeditText") == 0) {
-@@ -569,7 +570,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- visible);
-
- if (g_object_is_floating (text))
-- g_object_unref (text);
-+ g_object_ref_sink (text);
-+ g_object_unref (text);
- return;
- }
- if (g_strcmp0 (signal_name, "UpdatePreeditTextWithMode") == 0) {
-@@ -591,7 +593,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- mode);
-
- if (g_object_is_floating (text))
-- g_object_unref (text);
-+ g_object_ref_sink (text);
-+ g_object_unref (text);
- return;
- }
-
-@@ -619,7 +622,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- text,
- visible);
- if (g_object_is_floating (text))
-- g_object_unref (text);
-+ g_object_ref_sink (text);
-+ g_object_unref (text);
- return;
- }
-
-@@ -637,7 +641,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- table,
- visible);
- if (g_object_is_floating (table))
-- g_object_unref (table);
-+ g_object_ref_sink (table);
-+ g_object_unref (table);
- return;
-
- }
-@@ -655,7 +660,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- prop_list);
-
- if (g_object_is_floating (prop_list))
-- g_object_unref (prop_list);
-+ g_object_ref_sink (prop_list);
-+ g_object_unref (prop_list);
- return;
- }
-
-@@ -668,7 +674,8 @@ ibus_input_context_g_signal (GDBusProxy *proxy,
- g_signal_emit (context, context_signals[UPDATE_PROPERTY], 0, prop);
-
- if (g_object_is_floating (prop))
-- g_object_unref (prop);
-+ g_object_ref_sink (prop);
-+ g_object_unref (prop);
- return;
- }
-
-diff --git a/src/ibusproperty.c b/src/ibusproperty.c
-index e87d26b6..6d4ed088 100644
---- a/src/ibusproperty.c
-+++ b/src/ibusproperty.c
-@@ -336,17 +336,20 @@ ibus_property_destroy (IBusProperty *prop)
- prop->priv->icon = NULL;
-
- if (prop->priv->label) {
-- g_object_unref (prop->priv->label);
-+ if (!ibus_text_get_is_static (prop->priv->label))
-+ g_object_unref (prop->priv->label);
- prop->priv->label = NULL;
- }
-
- if (prop->priv->symbol) {
-- g_object_unref (prop->priv->symbol);
-+ if (!ibus_text_get_is_static (prop->priv->symbol))
-+ g_object_unref (prop->priv->symbol);
- prop->priv->symbol = NULL;
- }
-
- if (prop->priv->tooltip) {
-- g_object_unref (prop->priv->tooltip);
-+ if (!ibus_text_get_is_static (prop->priv->tooltip))
-+ g_object_unref (prop->priv->tooltip);
- prop->priv->tooltip = NULL;
- }
-
-@@ -401,7 +404,7 @@ ibus_property_deserialize (IBusProperty *prop,
- g_variant_get_child (variant, retval++, "u", &prop->priv->type);
-
- GVariant *subvar = g_variant_get_child_value (variant, retval++);
-- if (prop->priv->label != NULL) {
-+ if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
- g_object_unref (prop->priv->label);
- }
- prop->priv->label = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -411,7 +414,7 @@ ibus_property_deserialize (IBusProperty *prop,
- ibus_g_variant_get_child_string (variant, retval++, &prop->priv->icon);
-
- subvar = g_variant_get_child_value (variant, retval++);
-- if (prop->priv->tooltip != NULL) {
-+ if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
- g_object_unref (prop->priv->tooltip);
- }
- prop->priv->tooltip = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -432,7 +435,7 @@ ibus_property_deserialize (IBusProperty *prop,
-
- /* Keep the serialized order for the compatibility when add new members. */
- subvar = g_variant_get_child_value (variant, retval++);
-- if (prop->priv->symbol != NULL) {
-+ if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
- g_object_unref (prop->priv->symbol);
- }
- prop->priv->symbol = IBUS_TEXT (ibus_serializable_deserialize (subvar));
-@@ -564,7 +567,7 @@ ibus_property_set_label (IBusProperty *prop,
- g_assert (IBUS_IS_PROPERTY (prop));
- g_return_if_fail (label == NULL || IBUS_IS_TEXT (label));
-
-- if (prop->priv->label) {
-+ if (prop->priv->label && !ibus_text_get_is_static (prop->priv->label)) {
- g_object_unref (prop->priv->label);
- }
-
-@@ -583,7 +586,7 @@ ibus_property_set_symbol (IBusProperty *prop,
- g_assert (IBUS_IS_PROPERTY (prop));
- g_return_if_fail (symbol == NULL || IBUS_IS_TEXT (symbol));
-
-- if (prop->priv->symbol) {
-+ if (prop->priv->symbol && !ibus_text_get_is_static (prop->priv->symbol)) {
- g_object_unref (prop->priv->symbol);
- }
-
-@@ -612,19 +615,16 @@ ibus_property_set_tooltip (IBusProperty *prop,
- g_assert (IBUS_IS_PROPERTY (prop));
- g_assert (tooltip == NULL || IBUS_IS_TEXT (tooltip));
-
-- IBusPropertyPrivate *priv = prop->priv;
--
-- if (priv->tooltip) {
-- g_object_unref (priv->tooltip);
-+ if (prop->priv->tooltip && !ibus_text_get_is_static (prop->priv->tooltip)) {
-+ g_object_unref (prop->priv->tooltip);
- }
-
- if (tooltip == NULL) {
-- priv->tooltip = ibus_text_new_from_static_string ("");
-- g_object_ref_sink (priv->tooltip);
-+ prop->priv->tooltip = ibus_text_new_from_static_string ("");
- }
- else {
-- priv->tooltip = tooltip;
-- g_object_ref_sink (priv->tooltip);
-+ prop->priv->tooltip = tooltip;
-+ g_object_ref_sink (prop->priv->tooltip);
- }
- }
-
---
-2.33.1
-
-From ad95015dc411f84dd9b8869e596e4707cd2ccd2b Mon Sep 17 00:00:00 2001
-From: Sibo Dong <46512211+dongsibo@users.noreply.github.com>
-Date: Wed, 2 Feb 2022 19:18:02 +0900
-Subject: [PATCH] ui/gtk3: Update man page for Emoji shortcut key
-
-The default Emoji shortcut key was changed but not updated in
-the ibus-emoji.7 man page.
-
-BUG=https://github.com/ibus/ibus/pull/2353
----
- ui/gtk3/ibus-emoji.7.in | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/ui/gtk3/ibus-emoji.7.in b/ui/gtk3/ibus-emoji.7.in
-index 9c6d3c6f..b4d941ec 100644
---- a/ui/gtk3/ibus-emoji.7.in
-+++ b/ui/gtk3/ibus-emoji.7.in
-@@ -1,8 +1,8 @@
- .\" This file is distributed under the same license as the ibus
- .\" package.
--.\" Copyright (C) Takao Fujiwara <takao.fujiwara1@gmail.com>, 2017-2018.
-+.\" Copyright (C) Takao Fujiwara <takao.fujiwara1@gmail.com>, 2017-2022.
- .\"
--.TH "IBUS EMOJI" 7 "August 2018" "@VERSION@" "User Commands"
-+.TH "IBUS EMOJI" 7 "February 2022" "@VERSION@" "User Commands"
- .SH NAME
- .B ibus-emoji
- \- Call the IBus emoji utility by
-@@ -51,7 +51,7 @@ E.g. "Noto Color Emoji", "Android Emoji" font.
-
- .SH "KEYBOARD OPERATIONS"
- .TP
--\fBControl-Shift-e\fR
-+\fBControl-Period or Control-Semicolon\fR
- Launch IBus Emojier. The shortcut key can be customized by
- .B ibus\-setup (1).
- .TP
---
-2.33.1
-
-From 0f1485bfa687386f26ef5909c123e0ae2e3e11b9 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 3 Feb 2022 14:03:30 +0900
-Subject: [PATCH] src: Add IBUS_INPUT_HINT_PRIVATE for browser private mode
-
-GTK4 added GTK_INPUT_HINT_PRIVATE recently for Web brower
-private or guest mode.
-
-BUG=https://github.com/ibus/ibus/issues/2315
----
- src/ibustypes.h | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/src/ibustypes.h b/src/ibustypes.h
-index 798ad04d..990659ac 100644
---- a/src/ibustypes.h
-+++ b/src/ibustypes.h
-@@ -2,7 +2,8 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
- * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2008-2020 Red Hat, Inc.
-+ * Copyright (C) 2010-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2022 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
-@@ -300,6 +301,8 @@ typedef enum
- * @IBUS_INPUT_HINT_VERTICAL_WRITING: The text is vertical. Since 1.5.11
- * @IBUS_INPUT_HINT_EMOJI: Suggest offering Emoji support. Since 1.5.24
- * @IBUS_INPUT_HINT_NO_EMOJI: Suggest not offering Emoji support. Since 1.5.24
-+ * @IBUS_INPUT_HINT_PRIVATE: Request that the input method should not
-+ * update personalized data (like typing history). Since 1.5.26
- *
- * Describes hints that might be taken into account by engines. Note
- * that engines may already tailor their behaviour according to the
-@@ -326,7 +329,8 @@ typedef enum
- IBUS_INPUT_HINT_INHIBIT_OSK = 1 << 7,
- IBUS_INPUT_HINT_VERTICAL_WRITING = 1 << 8,
- IBUS_INPUT_HINT_EMOJI = 1 << 9,
-- IBUS_INPUT_HINT_NO_EMOJI = 1 << 10
-+ IBUS_INPUT_HINT_NO_EMOJI = 1 << 10,
-+ IBUS_INPUT_HINT_PRIVATE = 1 << 11
- } IBusInputHints;
-
- #endif
---
-2.33.1
-
-From 787b564982d17017cb35ab87b71b6a16d7440387 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 3 Feb 2022 14:34:34 +0900
-Subject: [PATCH] bus: mkdir socket dirs instead of socket paths
-
-IBus ran mkdir for socket paths for --address=unix:path
-but should does the socket directories instead.
-
-BUG=https://github.com/ibus/ibus/issues/2363
----
- bus/server.c | 39 +++++++++++++++++++++++----------------
- 1 file changed, 23 insertions(+), 16 deletions(-)
-
-diff --git a/bus/server.c b/bus/server.c
-index e8d0ce2b..6abf8427 100644
---- a/bus/server.c
-+++ b/bus/server.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* bus - The Input Bus
- * Copyright (C) 2008-2010 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2011-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2011-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2008-2021 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
-@@ -38,14 +38,14 @@ static GDBusServer *server = NULL;
- static GMainLoop *mainloop = NULL;
- static BusDBusImpl *dbus = NULL;
- static BusIBusImpl *ibus = NULL;
--static gchar *address = NULL;
-+static char *address = NULL;
- static gboolean _restart = FALSE;
-
- static void
- _restart_server (void)
- {
-- gchar *exe;
-- gint fd;
-+ char *exe;
-+ int fd;
- ssize_t r;
- int MAXSIZE = 0xFFF;
- char proclnk[MAXSIZE];
-@@ -201,11 +201,11 @@ bus_acquired_handler (GDBusConnection *connection,
- NULL);
- }
-
--static gchar *
-+static char *
- _bus_extract_address (void)
- {
-- gchar *socket_address = g_strdup (g_address);
-- gchar *p;
-+ char *socket_address = g_strdup (g_address);
-+ char *p;
-
- #define IF_REPLACE_VARIABLE_WITH_FUNC(variable, func, format) \
- if ((p = g_strstr_len (socket_address, -1, (variable)))) { \
-@@ -242,12 +242,12 @@ bus_server_init (void)
- #define IBUS_UNIX_ABSTRACT "unix:abstract="
- #define IBUS_UNIX_DIR "unix:dir="
-
-- gchar *socket_address;
-+ char *socket_address;
- GDBusServerFlags flags = G_DBUS_SERVER_FLAGS_NONE;
-- gchar *guid;
-+ char *guid;
- GDBusAuthObserver *observer;
- GError *error = NULL;
-- gchar *unix_dir = NULL;
-+ char *unix_dir = NULL;
-
- dbus = bus_dbus_impl_get_default ();
- ibus = bus_ibus_impl_get_default ();
-@@ -256,18 +256,24 @@ bus_server_init (void)
- /* init server */
- socket_address = _bus_extract_address ();
-
--#define IF_GET_UNIX_DIR(prefix) \
-+#define IF_GET_UNIX_DIR_FROM_DIR(prefix) \
- if (g_str_has_prefix (socket_address, (prefix))) { \
- unix_dir = g_strdup (socket_address + strlen (prefix)); \
- }
-+#define IF_GET_UNIX_DIR_FROM_PATH(prefix) \
-+ if (g_str_has_prefix (socket_address, (prefix))) { \
-+ const char *unix_path = socket_address + strlen (prefix); \
-+ unix_dir = g_path_get_dirname (unix_path); \
-+ }
-+
-
-- IF_GET_UNIX_DIR (IBUS_UNIX_TMPDIR)
-+ IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_TMPDIR)
- else
-- IF_GET_UNIX_DIR (IBUS_UNIX_PATH)
-+ IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_PATH)
- else
-- IF_GET_UNIX_DIR (IBUS_UNIX_ABSTRACT)
-+ IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_ABSTRACT)
- else
-- IF_GET_UNIX_DIR (IBUS_UNIX_DIR)
-+ IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_DIR)
- else {
- g_error ("Your socket address \"%s\" does not correspond with "
- "one of the following formats; "
-@@ -329,7 +335,8 @@ bus_server_init (void)
- bus_acquired_handler,
- NULL, NULL, NULL, NULL);
-
--#undef IF_GET_UNIX_DIR
-+#undef IF_GET_UNIX_DIR_FROM_DIR
-+#undef IF_GET_UNIX_DIR_FROM_PATH
- #undef IBUS_UNIX_TMPDIR
- #undef IBUS_UNIX_PATH
- #undef IBUS_UNIX_ABSTRACT
---
-2.33.1
-
-From dfd3fbf26fa4b5ff20512b166a8dd321afc10344 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 3 Feb 2022 17:31:08 +0900
-Subject: [PATCH] bus: Do not mkdir abstract unix socket
-
-IBus ran mkdir for unix abstract sockets for --address=unix:abstract
-but should not need to mkdir.
-
-BUG=https://github.com/ibus/ibus/issues/2363
----
- bus/server.c | 8 ++++++--
- 1 file changed, 6 insertions(+), 2 deletions(-)
-
-diff --git a/bus/server.c b/bus/server.c
-index 6abf8427..968d5346 100644
---- a/bus/server.c
-+++ b/bus/server.c
-@@ -265,13 +265,15 @@ bus_server_init (void)
- const char *unix_path = socket_address + strlen (prefix); \
- unix_dir = g_path_get_dirname (unix_path); \
- }
-+#define IF_GET_UNIX_DIR_FROM_ABSTRACT(prefix) \
-+ if (g_str_has_prefix (socket_address, (prefix))) {}
-
-
- IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_TMPDIR)
- else
- IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_PATH)
- else
-- IF_GET_UNIX_DIR_FROM_PATH (IBUS_UNIX_ABSTRACT)
-+ IF_GET_UNIX_DIR_FROM_ABSTRACT (IBUS_UNIX_ABSTRACT)
- else
- IF_GET_UNIX_DIR_FROM_DIR (IBUS_UNIX_DIR)
- else {
-@@ -281,7 +283,8 @@ bus_server_init (void)
- IBUS_UNIX_ABSTRACT "FILE, " IBUS_UNIX_DIR "DIR.",
- socket_address);
- }
-- if (!g_file_test (unix_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
-+ if (unix_dir &&
-+ !g_file_test (unix_dir, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)) {
- /* Require mkdir for BSD system.
- * The mode 0700 can eliminate malicious users change the mode.
- * `chmod` runs for the last directory only not to change the modes
-@@ -337,6 +340,7 @@ bus_server_init (void)
-
- #undef IF_GET_UNIX_DIR_FROM_DIR
- #undef IF_GET_UNIX_DIR_FROM_PATH
-+#undef IF_GET_UNIX_DIR_FROM_ABSTRACT
- #undef IBUS_UNIX_TMPDIR
- #undef IBUS_UNIX_PATH
- #undef IBUS_UNIX_ABSTRACT
---
-2.33.1
-
-From c69b61aa66239e1b13c9764b2d3bf6f02d086785 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 4 Feb 2022 15:08:36 +0900
-Subject: [PATCH] src: Fix ibus_key_event_from_string for
- gobject-introspection
-
-BUG=https://github.com/ibus/ibus/issues/2330
----
- src/ibusshare.h | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/ibusshare.h b/src/ibusshare.h
-index d70af29f..d739e2ff 100644
---- a/src/ibusshare.h
-+++ b/src/ibusshare.h
-@@ -2,8 +2,8 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
- * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
-- * Copyright (C) 2008-2018 Red Hat, Inc.
-+ * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2008-2022 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
-@@ -333,8 +333,8 @@ gchar *ibus_key_event_to_string
- /**
- * ibus_key_event_from_string:
- * @string: Key event string.
-- * @keyval: Variable that hold key symbol result.
-- * @modifiers: Variable that hold modifiers result.
-+ * @keyval: (out): Variable that hold key symbol result.
-+ * @modifiers: (out): Variable that hold modifiers result.
- *
- * Parse key event string and return key symbol and modifiers.
- *
---
-2.33.1
-
-From a076b388d856aeb4c8f8317dd6cd9dd6d61fe9ac Mon Sep 17 00:00:00 2001
-From: Carlos Garnacho <carlosg@gnome.org>
-Date: Wed, 4 Nov 2020 10:48:45 +0100
-Subject: [PATCH] src, client/x11: Add systemd unit file
-
-This so far depends on GNOME targets, and is thus just usable there.
-Other DEs wishing to use systemd and ibus will need to add the
-necessary dependencies where applicable.
-
-There are 2 scenarios here:
-- On X11 sessions, ibus-daemon will be launched with --xim parameter,
- so ibus-x11 is started with it.
-- On Wayland sessions, ibus-daemon will be started without XIM support,
- ibus-x11 will be launched and tear down together with all other
- session X11 services while Xwayland is running.
-
-For the second part of the second situation, additionally install
-a script at /etc/xdg/Xwayland-session.d, which takes care of X11
-service initialization together with the Xwayland instance.
-
-BUG=https://github.com/ibus/ibus/pull/2377
----
- client/x11/10-ibus-x11.in | 2 ++
- client/x11/Makefile.am | 18 ++++++++++++
- configure.ac | 17 +++++++++++
- src/Makefile.am | 16 +++++++++++
- ....freedesktop.IBus.session.GNOME.service.in | 28 +++++++++++++++++++
- 5 files changed, 81 insertions(+)
- create mode 100755 client/x11/10-ibus-x11.in
- create mode 100644 bus/services/org.freedesktop.IBus.session.GNOME.service.in
-
-diff --git a/client/x11/10-ibus-x11.in b/client/x11/10-ibus-x11.in
-new file mode 100755
-index 00000000..973cbb6f
---- /dev/null
-+++ b/client/x11/10-ibus-x11.in
-@@ -0,0 +1,2 @@
-+#!/bin/sh
-+@libexecdir@/ibus-x11 &
-diff --git a/client/x11/Makefile.am b/client/x11/Makefile.am
-index 12de6ea8..90454bcf 100644
---- a/client/x11/Makefile.am
-+++ b/client/x11/Makefile.am
-@@ -67,6 +67,16 @@ noinst_HEADERS = \
- locales.h \
- $(NULL)
-
-+xwaylandsessiond_in_files = 10-ibus-x11.in
-+xwaylandsessiond_DATA = $(xwaylandsessiond_in_files:.in=)
-+xwaylandsessionddir=$(sysconfdir)/xdg/Xwayland-session.d
-+
-+10-ibus-x11: 10-ibus-x11.in
-+ $(AM_V_GEN) sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@.tmp && mv $@.tmp $@
-+
-+install-data-hook:
-+ chmod 755 $(DESTDIR)$(xwaylandsessionddir)/10-ibus-x11
-+
- $(libIMdkit):
- (cd $(top_builddir)/util/IMdkit; make)
-
-@@ -81,4 +91,12 @@ locales.h:
- xargs python -c 'import sys;print "#define LOCALES_STRING \"%s\"" % ",".join(sys.argv[1:])' \
- ) > $@
-
-+CLEANFILES = \
-+ $(xwaylandsessiond_DATA) \
-+ $(NULL)
-+
-+EXTRA_DIST = \
-+ 10-ibus-x11.in \
-+ $(NULL)
-+
- -include $(top_srcdir)/git.mk
-diff --git a/configure.ac b/configure.ac
-index ce096ad3..73c5e429 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -393,6 +393,22 @@ if test x"$enable_dconf" = x"yes"; then
- enable_dconf="yes (enabled, use --disable-dconf to disable)"
- fi
-
-+AC_ARG_ENABLE(systemd-services,
-+ AS_HELP_STRING([--disable-systemd-services],
-+ [Disable systemd services installation]),
-+ [enable_systemd=$enableval],
-+ [enable_systemd=yes]
-+)
-+AM_CONDITIONAL([ENABLE_SYSTEMD], [test x"$enable_systemd" = x"yes"])
-+
-+if test x"$enable_systemd" = x"yes"; then
-+ PKG_CHECK_MODULES(SYSTEMD, [
-+ systemd >= 0.7.5
-+ ])
-+ AC_SUBST([SYSTEMD_USER_UNIT_DIR], [`$PKG_CONFIG --variable systemduserunitdir systemd`])
-+ enable_systemd="yes (enabled, use --disable-systemd-services to disable)"
-+fi
-+
- # Check env.
- AC_PATH_PROG(ENV_IBUS_TEST, env)
- AC_SUBST(ENV_IBUS_TEST)
-@@ -860,6 +876,7 @@ Build options:
- UCD directory $UCD_DIR
- Socket directory "$IBUS_SOCKET_DIR"
- XFixes client disconnect $have_xfixes
-+ Install systemd service $enable_systemd
- Run test cases $enable_tests
- Install tests $enable_install_tests
- ])
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 578694b5..bbaa6c90 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -317,6 +317,11 @@ install-data-hook:
- rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
- fi; \
- done
-+ $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
-+ ( \
-+ cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
-+ $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
-+ )
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-@@ -383,7 +388,17 @@ clean-local:
- $(NULL)
- endif
-
-+if ENABLE_SYSTEMD
-+systemdservice_in_files = org.freedesktop.IBus.session.GNOME.service.in
-+systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
-+systemdservicedir=$(SYSTEMD_USER_UNIT_DIR)
-+
-+org.freedesktop.IBus.session.GNOME.service: org.freedesktop.IBus.session.GNOME.service.in
-+ $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@.tmp && mv $@.tmp $@
-+endif
-+
- EXTRA_DIST = \
-+ org.freedesktop.IBus.session.GNOME.service.in \
- emoji-parser.c \
- ibusversion.h.in \
- ibusmarshalers.list \
-@@ -393,6 +408,7 @@ EXTRA_DIST = \
- $(NULL)
-
- CLEANFILES += \
-+ $(systemdservice_DATA) \
- $(BUILT_SOURCES) \
- stamp-ibusmarshalers.h \
- stamp-ibusenumtypes.h \
-diff --git a/bus/services/org.freedesktop.IBus.session.GNOME.service.in b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
-new file mode 100644
-index 00000000..76444dbd
---- /dev/null
-+++ b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
-@@ -0,0 +1,28 @@
-+[Unit]
-+Description=IBus Daemon
-+CollectMode=inactive-or-failed
-+
-+# Require GNOME session and specify startup ordering
-+Requisite=gnome-session-initialized.target
-+After=gnome-session-initialized.target
-+PartOf=gnome-session-initialized.target
-+Before=gnome-session.target
-+
-+# Needs to run when DISPLAY/WAYLAND_DISPLAY is set
-+After=gnome-session-initialized.target
-+PartOf=gnome-session-initialized.target
-+
-+# Never run in GDM
-+Conflicts=gnome-session@gnome-login.target
-+
-+[Service]
-+Type=dbus
-+# Only pull --xim in X11 session, it is done via Xwayland-session.d on Wayland
-+ExecStart=sh -c '@bindir@/ibus-daemon --panel disable $([[ $XDG_SESSION_TYPE == "x11" ]] && echo "--xim")'
-+Restart=on-abnormal
-+BusName=org.freedesktop.IBus
-+TimeoutStopSec=5
-+Slice=session.slice
-+
-+[Install]
-+WantedBy=gnome-session.target
---
-2.33.1
-
-From b5423f0cff78e627fec12378bfcc70efa79e9379 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Thu, 17 Feb 2022 20:15:38 +0900
-Subject: [PATCH] src/services: Add org.freedesktop.IBus.session.generic.service
-
-Move bus/*.service.in & src/*.service.in into bus/services
-
-BUG=https://github.com/ibus/ibus/pull/2381
----
- bus/Makefile.am | 16 +----
- bus/services/Makefile.am | 68 +++++++++++++++++++
- .../org.freedesktop.IBus.service.in | 0
- ....freedesktop.IBus.session.GNOME.service.in | 2 +-
- ...reedesktop.IBus.session.generic.service.in | 15 ++++
- configure.ac | 48 ++++++-------
- src/Makefile.am | 16 -----
- 7 files changed, 112 insertions(+), 53 deletions(-)
- create mode 100644 bus/services/Makefile.am
- create mode 100644 bus/services/org.freedesktop.IBus.service.in
- create mode 100644 bus/services/org.freedesktop.IBus.session.generic.service.in
-
-diff --git a/bus/Makefile.am b/bus/Makefile.am
-index 4383a874..e173ee25 100644
---- a/bus/Makefile.am
-+++ b/bus/Makefile.am
-@@ -3,8 +3,8 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2013 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2013-2018 Takao Fujiwara <takao.fujiwara1@gmail.com>
--# Copyright (c) 2007-2018 Red Hat, Inc.
-+# Copyright (c) 2013-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2007-2022 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
-@@ -22,6 +22,7 @@
- # USA
-
- NULL =
-+SUBDIRS = . services
-
- libibus = $(top_builddir)/src/libibus-@IBUS_API_VERSION@.la
-
-@@ -190,15 +191,4 @@ man_onedir = $(mandir)/man1
- %.1.gz: %.1
- $(AM_V_GEN) gzip -c $< > $@.tmp && mv $@.tmp $@
-
--
--dbusservice_in_files = org.freedesktop.IBus.service.in
--dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
--dbusservicedir=${datadir}/dbus-1/services
--
--org.freedesktop.IBus.service: org.freedesktop.IBus.service.in
-- $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" -e "s|\@xim_cli_arg\@|$(XIM_CLI_ARG)|" $< > $@.tmp && mv $@.tmp $@
--
--EXTRA_DIST += $(dbusservice_in_files)
--CLEANFILES += $(dbusservice_DATA)
--
- -include $(top_srcdir)/git.mk
-diff --git a/bus/services/Makefile.am b/bus/services/Makefile.am
-new file mode 100644
-index 00000000..9cc42153
---- /dev/null
-+++ b/bus/services/Makefile.am
-@@ -0,0 +1,68 @@
-+# vim:set noet ts=4:
-+#
-+# ibus - The Input Bus
-+#
-+# Copyright (c) 2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2022 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
-+# License as published by the Free Software Foundation; either
-+# version 2.1 of the License, or (at your option) any later version.
-+#
-+# This library is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+# Lesser General Public License for more details.
-+#
-+# You should have received a copy of the GNU Lesser General Public
-+# License along with this library; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
-+# USA
-+
-+NULL =
-+
-+# Originally this D-Bus service file was added for GNOME but seems not to
-+# be used at present.
-+#
-+# TODO: Check if flatpack uses this file and we could delete
-+# org.freedesktop.IBus.service file in the future.
-+dbusservice_in_files = org.freedesktop.IBus.service.in
-+dbusservice_DATA = $(dbusservice_in_files:.service.in=.service)
-+dbusservicedir=${datadir}/dbus-1/services
-+
-+systemdservice_in_files = \
-+ org.freedesktop.IBus.session.generic.service.in \
-+ org.freedesktop.IBus.session.GNOME.service.in \
-+ $(NULL)
-+
-+%.service: %.service.in
-+ $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" \
-+ -e "s|\@xim_cli_arg\@|$(XIM_CLI_ARG)|" $< > $@.tmp && \
-+ mv $@.tmp $@
-+
-+if ENABLE_SYSTEMD
-+systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
-+systemdservicedir = $(SYSTEMD_USER_UNIT_DIR)
-+
-+# in install-data-hook.
-+install-data-hook:
-+ $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
-+ ( \
-+ cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
-+ $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
-+ )
-+ $(NULL)
-+endif
-+
-+EXTRA_DIST = \
-+ $(dbusservice_in_files) \
-+ $(systemdservice_in_files) \
-+ $(NULL)
-+
-+CLEANFILES = \
-+ $(dbusservice_DATA) \
-+ $(systemdservice_DATA) \
-+ $(NULL)
-+
-+-include $(top_srcdir)/git.mk
-diff --git a/bus/org.freedesktop.IBus.service.in b/bus/services/org.freedesktop.IBus.service.in
-new file mode 100644
-index 00000000..9d493159
---- /dev/null
-+++ b/bus/services/org.freedesktop.IBus.service.in
-@@ -0,0 +1,3 @@
-+[D-BUS Service]
-+Name=org.freedesktop.IBus
-+Exec=@bindir@/ibus-daemon --replace --panel disable @xim_cli_arg@
-diff --git a/bus/services/org.freedesktop.IBus.session.GNOME.service.in b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
-index 76444dbd..a99370fa 100644
---- a/bus/services/org.freedesktop.IBus.session.GNOME.service.in
-+++ b/bus/services/org.freedesktop.IBus.session.GNOME.service.in
-@@ -1,5 +1,5 @@
- [Unit]
--Description=IBus Daemon
-+Description=IBus Daemon for GNOME
- CollectMode=inactive-or-failed
-
- # Require GNOME session and specify startup ordering
-diff --git a/bus/services/org.freedesktop.IBus.session.generic.service.in b/bus/services/org.freedesktop.IBus.session.generic.service.in
-new file mode 100644
-index 00000000..9d493159
---- /dev/null
-+++ b/bus/services/org.freedesktop.IBus.session.generic.service.in
-@@ -0,0 +1,15 @@
-+[Unit]
-+Description=IBus Daemon for generic sessions
-+CollectMode=inactive-or-failed
-+
-+# Never run in GNOME
-+Conflicts=gnome-session-initialized.target
-+
-+[Service]
-+Type=dbus
-+# Only pull --xim in X11 session, it is done via Xwayland-session.d on Wayland
-+ExecStart=sh -c '@bindir@/ibus-daemon $IBUS_DAEMON_ARGS'
-+Restart=on-abnormal
-+BusName=org.freedesktop.IBus
-+TimeoutStopSec=5
-+Slice=session.slice
-diff --git a/configure.ac b/configure.ac
-index 73c5e429..4137e6cc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -3,8 +3,8 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2016 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
--# Copyright (c) 2007-2021 Red Hat, Inc.
-+# Copyright (c) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2007-2022 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
-@@ -791,24 +791,22 @@ AC_SUBST(XKBCONFIG_BASE)
- AC_SUBST([GDBUS_CODEGEN], [`$PKG_CONFIG --variable gdbus_codegen gio-2.0`])
-
- # OUTPUT files
--AC_CONFIG_FILES([ po/Makefile.in
--Makefile
--ibus-1.0.pc
--ibus.spec
-+AC_CONFIG_FILES([
-+po/Makefile.in
-+bindings/Makefile
-+bindings/pygobject/Makefile
-+bindings/vala/Makefile
-+bus/Makefile
-+bus/services/Makefile
- client/Makefile
- client/gtk2/Makefile
- client/gtk3/Makefile
- client/gtk4/Makefile
- client/x11/Makefile
- client/wayland/Makefile
--src/Makefile
--src/ibusversion.h
--src/tests/Makefile
--bus/Makefile
--portal/Makefile
--engine/Makefile
--util/Makefile
--util/IMdkit/Makefile
-+conf/Makefile
-+conf/dconf/Makefile
-+conf/memconf/Makefile
- data/Makefile
- data/annotations/Makefile
- data/icons/Makefile
-@@ -819,20 +817,24 @@ docs/Makefile
- docs/reference/Makefile
- docs/reference/ibus/ibus-docs.sgml
- docs/reference/ibus/Makefile
--m4/Makefile
-+engine/Makefile
- ibus/_config.py
- ibus/Makefile
- ibus/interface/Makefile
--ui/Makefile
--ui/gtk3/Makefile
-+m4/Makefile
-+portal/Makefile
- setup/Makefile
--bindings/Makefile
--bindings/pygobject/Makefile
--bindings/vala/Makefile
--conf/Makefile
--conf/dconf/Makefile
--conf/memconf/Makefile
-+src/Makefile
-+src/ibusversion.h
-+src/tests/Makefile
- tools/Makefile
-+ui/Makefile
-+ui/gtk3/Makefile
-+util/Makefile
-+util/IMdkit/Makefile
-+Makefile
-+ibus-1.0.pc
-+ibus.spec
- ])
-
- AC_OUTPUT
-diff --git a/src/Makefile.am b/src/Makefile.am
-index bbaa6c90..578694b5 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -317,11 +317,6 @@ install-data-hook:
- rm "$(DESTDIR)$(dictdir)/$$file" || exit $$?; \
- fi; \
- done
-- $(MKDIR_P) "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants/"
-- ( \
-- cd "$(DESTDIR)$(SYSTEMD_USER_UNIT_DIR)/gnome-session.target.wants" ; \
-- $(LN_S) -f "../org.freedesktop.IBus.session.GNOME.service" .; \
-- )
-
- emoji_parser_SOURCES = \
- emoji-parser.c \
-@@ -388,17 +383,7 @@ clean-local:
- $(NULL)
- endif
-
--if ENABLE_SYSTEMD
--systemdservice_in_files = org.freedesktop.IBus.session.GNOME.service.in
--systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
--systemdservicedir=$(SYSTEMD_USER_UNIT_DIR)
--
--org.freedesktop.IBus.session.GNOME.service: org.freedesktop.IBus.session.GNOME.service.in
-- $(AM_V_GEN) sed -e "s|\@bindir\@|$(bindir)|" $< > $@.tmp && mv $@.tmp $@
--endif
--
- EXTRA_DIST = \
-- org.freedesktop.IBus.session.GNOME.service.in \
- emoji-parser.c \
- ibusversion.h.in \
- ibusmarshalers.list \
-@@ -408,7 +393,6 @@ EXTRA_DIST = \
- $(NULL)
-
- CLEANFILES += \
-- $(systemdservice_DATA) \
- $(BUILT_SOURCES) \
- stamp-ibusmarshalers.h \
- stamp-ibusenumtypes.h \
---
-2.33.1
-
-From 5cfe838715097d61b50da55f80bcff2c698ca885 Mon Sep 17 00:00:00 2001
-From: Changwoo Ryu <cwryu@debian.org>
-Date: Fri, 18 Feb 2022 09:07:02 +0900
-Subject: [PATCH] client/gtk2/ibusimcontext: Fix forward key keycode for GTK4
-
-When a keycode is provided (!= 0) for a forwarded key event, convert it to a
-GTK keycode before passing it to gtk_im_context_filter_key().
-
-Also free GdkKeymapKey after gdk_display_map_keyval() is called.
-
-BUG=https://github.com/ibus/ibus/issues/2380
-BUG=https://github.com/ibus/ibus/issues/2382
----
- client/gtk2/ibusimcontext.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index c2df3a87..a5e5e792 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -1945,7 +1945,9 @@ _ibus_context_forward_key_event_cb (IBusInputContext *ibuscontext,
- #if GTK_CHECK_VERSION (3, 98, 4)
- int group = 0;
- g_return_if_fail (GTK_IS_IM_CONTEXT (ibusimcontext));
-- if (keycode == 0 && ibusimcontext->client_window) {
-+ if (keycode != 0) {
-+ keycode += 8; // to GTK keycode
-+ } else if (ibusimcontext->client_window) {
- GdkDisplay *display =
- gtk_widget_get_display (ibusimcontext->client_window);
- GdkKeymapKey *keys = NULL;
-@@ -1953,6 +1955,7 @@ _ibus_context_forward_key_event_cb (IBusInputContext *ibuscontext,
- if (gdk_display_map_keyval (display, keyval, &keys, &n_keys)) {
- keycode = keys->keycode;
- group = keys->group;
-+ g_free (keys);
- } else {
- g_warning ("Failed to parse keycode from keyval %x", keyval);
- }
---
-2.33.1
-
-From a82bda58a45470c4be0f3db21eaddc73a230807f Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 18 Feb 2022 12:04:09 +0900
-Subject: [PATCH] src/tests: Fix typos
-
-- test_metas_in location
-- Check ibus processes in CI
-- Fix libexec path
----
- src/tests/Makefile.am | 8 ++++----
- src/tests/ibus-desktop-testing-autostart | 2 ++
- src/tests/ibus-desktop-testing.desktop.in | 2 +-
- 3 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/src/tests/Makefile.am b/src/tests/Makefile.am
-index 7d00f236..f932f18f 100644
---- a/src/tests/Makefile.am
-+++ b/src/tests/Makefile.am
-@@ -3,7 +3,7 @@
- # ibus - The Input Bus
- #
- # Copyright (c) 2007-2015 Peng Huang <shawn.p.huang@gmail.com>
--# Copyright (c) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+# Copyright (c) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
- # Copyright (c) 2007-2018 Red Hat, Inc.
- #
- # This library is free software; you can redistribute it and/or
-@@ -117,11 +117,11 @@ org.freedesktop.IBus.Desktop.Testing.desktop: ibus-desktop-testing.desktop.in
- mv $@.tmp $@
- endif
-
--$(test_metas): $(test_metas_in) $(test_programs)
-+$(test_metas): $(test_metas_in)
- f=`echo $@ | sed -e 's/\.test//'`; \
- TEST_EXEC=$(test_execsdir)/$$f; \
-- sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(test_metas_in) > $@.tmp; \
-- mv $@.tmp $@; \
-+ sed -e "s|@TEST_EXEC[@]|$$TEST_EXEC|g" $(srcdir)/$(test_metas_in) \
-+ > $@.tmp && mv $@.tmp $@; \
- $(NULL)
-
- ibus-compose-locales: ibus-compose-locales.in
-diff --git a/src/tests/ibus-desktop-testing-autostart b/src/tests/ibus-desktop-testing-autostart
-index da22b64e..1e1eb180 100755
---- a/src/tests/ibus-desktop-testing-autostart
-+++ b/src/tests/ibus-desktop-testing-autostart
-@@ -29,6 +29,8 @@ pwd
- pstree -asp $$
- gsettings list-recursively org.gnome.shell
- rpm -q gnome-shell-extension-no-overview gnome-shell gnome-session
-+ps -ef | grep ibus | grep -v grep
-+ibus address
- '
-
- if [ $# -gt 0 ] ; then
-diff --git a/src/tests/ibus-desktop-testing.desktop.in b/src/tests/ibus-desktop-testing.desktop.in
-index fa0c9b40..1b815345 100644
---- a/src/tests/ibus-desktop-testing.desktop.in
-+++ b/src/tests/ibus-desktop-testing.desktop.in
-@@ -2,7 +2,7 @@
- Name=IBus Desktop Testing Runner
- GenericName=Input Method Desktop Testing Runner
- Comment=Test plugin for IBus Desktop Testing
--Exec=@ibexecdir@/ibus-desktop-testing-autostart /var/tmp/ibus-ci-autostart.log
-+Exec=@libexecdir@/ibus-desktop-testing-autostart /var/tmp/ibus-ci-autostart.log
- Terminal=false
- Type=Application
- Encoding=UTF-8
---
-2.33.1
-
-From 19377ad22d8145ea431e5de51f047061c98f8d21 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 1 Mar 2022 18:26:21 +0900
-Subject: [PATCH] src/ibuscompose: Check algorithm dead key by 9 length
-
-This change fixes the D-Bus timeout by a long compose preedit text.
-check_normalize_nfc() calculates the factorical of the compse preedit
-length and assigne the value to an INT variable and it could excceed
-the MAX_INT.
-Probably I think the length of the compose algorizhm dead key would be
-enough 9. I.e. 9! == 46320 <= SHRT_MAX == 32767
-
-BUG=https://github.com/ibus/ibus/issues/2385
----
- src/ibuscomposetable.c | 35 +++++++++++++++++++++++------------
- 1 file changed, 23 insertions(+), 12 deletions(-)
-
-diff --git a/src/ibuscomposetable.c b/src/ibuscomposetable.c
-index 250e0139..387a24a8 100644
---- a/src/ibuscomposetable.c
-+++ b/src/ibuscomposetable.c
-@@ -1,7 +1,7 @@
- /* -*- mode: C; c-basic-offset: 4; indent-tabs-mode: nil; -*- */
- /* ibus - The Input Bus
- * Copyright (C) 2013-2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2013-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2013-2022 Takao Fujiwara <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
-@@ -46,6 +46,7 @@
- #define IBUS_COMPOSE_TABLE_MAGIC "IBusComposeTable"
- #define IBUS_COMPOSE_TABLE_VERSION (4)
- #define X11_DATADIR X11_DATA_PREFIX "/share/X11/locale"
-+#define IBUS_MAX_COMPOSE_ALGORITHM_LEN 9
-
- typedef struct {
- gunichar *sequence;
-@@ -1659,7 +1660,7 @@ ibus_compose_table_compact_check (const IBusComposeTableCompactEx
- static gboolean
- check_normalize_nfc (gunichar* combination_buffer, int n_compose)
- {
-- gunichar combination_buffer_temp[IBUS_MAX_COMPOSE_LEN];
-+ gunichar combination_buffer_temp[IBUS_MAX_COMPOSE_ALGORITHM_LEN + 1];
- char *combination_utf8_temp = NULL;
- char *nfc_temp = NULL;
- int n_combinations;
-@@ -1682,7 +1683,7 @@ check_normalize_nfc (gunichar* combination_buffer, int n_compose)
-
- memcpy (combination_buffer_temp,
- combination_buffer,
-- IBUS_MAX_COMPOSE_LEN * sizeof (gunichar) );
-+ IBUS_MAX_COMPOSE_ALGORITHM_LEN * sizeof (gunichar) );
-
- for (i = 0; i < n_combinations; i++ ) {
- g_unicode_canonical_ordering (combination_buffer_temp, n_compose);
-@@ -1694,7 +1695,7 @@ check_normalize_nfc (gunichar* combination_buffer, int n_compose)
- if (g_utf8_strlen (nfc_temp, -1) == 1) {
- memcpy (combination_buffer,
- combination_buffer_temp,
-- IBUS_MAX_COMPOSE_LEN * sizeof (gunichar) );
-+ IBUS_MAX_COMPOSE_ALGORITHM_LEN * sizeof (gunichar) );
-
- g_free (combination_utf8_temp);
- g_free (nfc_temp);
-@@ -1708,14 +1709,14 @@ check_normalize_nfc (gunichar* combination_buffer, int n_compose)
- if (n_compose > 2) {
- int j = i % (n_compose - 1) + 1;
- int k = (i+1) % (n_compose - 1) + 1;
-- if (j >= IBUS_MAX_COMPOSE_LEN) {
-- g_warning ("j >= IBUS_MAX_COMPOSE_LEN for " \
-- "combination_buffer_temp");
-+ if (j >= IBUS_MAX_COMPOSE_ALGORITHM_LEN) {
-+ g_warning ("j >= %d for combination_buffer_temp",
-+ IBUS_MAX_COMPOSE_ALGORITHM_LEN);
- break;
- }
-- if (k >= IBUS_MAX_COMPOSE_LEN) {
-- g_warning ("k >= IBUS_MAX_COMPOSE_LEN for " \
-- "combination_buffer_temp");
-+ if (k >= IBUS_MAX_COMPOSE_ALGORITHM_LEN) {
-+ g_warning ("k >= %d for combination_buffer_temp",
-+ IBUS_MAX_COMPOSE_ALGORITHM_LEN);
- break;
- }
- temp_swap = combination_buffer_temp[j];
-@@ -1737,13 +1738,23 @@ ibus_check_algorithmically (const guint16 *compose_buffer,
-
- {
- int i;
-- gunichar combination_buffer[IBUS_MAX_COMPOSE_LEN];
-+ gunichar combination_buffer[IBUS_MAX_COMPOSE_ALGORITHM_LEN + 1];
- char *combination_utf8, *nfc;
-
- if (output_char)
- *output_char = 0;
-
-- if (n_compose >= IBUS_MAX_COMPOSE_LEN)
-+ /* Check the IBUS_MAX_COMPOSE_ALGORITHM_LEN length only here instead of
-+ * IBUS_MAX_COMPOSE_LEN length.
-+ * Because this API calls check_normalize_nfc() which calculates the factorial
-+ * of `n_compose` and assigns the value to `n_combinations`.
-+ * I.e. 9! == 40320 <= SHRT_MAX == 32767
-+ * The factorial of exceeding INT_MAX spends a long time in check_normalize_nfc()
-+ * and causes a D-Bus timeout between GTK clients and IBusEngineSimple.
-+ * Currenlty IBUS_MAX_COMPOSE_LEN is much larger and supports the long compose
-+ * sequence however the max 9 would be enough for this mechanical compose.
-+ */
-+ if (n_compose > IBUS_MAX_COMPOSE_ALGORITHM_LEN)
- return FALSE;
-
- for (i = 0; i < n_compose && IS_DEAD_KEY (compose_buffer[i]); i++)
---
-2.34.1
-
-From df664b1f18a9c630ccd884f8ff698abf6cbb1578 Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 1 Mar 2022 19:23:25 +0900
-Subject: [PATCH] src/ibusenginesimple: Support GTK4 coompose file
-
-Load $XDG_CONFIG_HOME/gtk-4.0/Compose
----
- src/ibusenginesimple.c | 27 +++++++++++++++------------
- 1 file changed, 15 insertions(+), 12 deletions(-)
-
-diff --git a/src/ibusenginesimple.c b/src/ibusenginesimple.c
-index a80e41a5..c57a3ea5 100644
---- a/src/ibusenginesimple.c
-+++ b/src/ibusenginesimple.c
-@@ -1448,8 +1448,16 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
- g_free (path);
- return retval;
- }
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
-+
-+ path = g_build_filename (g_get_user_config_dir (),
-+ "gtk-4.0", "Compose", NULL);
-+ if (g_file_test (path, G_FILE_TEST_EXISTS)) {
-+ ibus_engine_simple_add_compose_file (simple, path);
-+ g_free (path);
-+ return retval;
-+ }
-+ g_clear_pointer(&path, g_free);
-
- path = g_build_filename (g_get_user_config_dir (),
- "gtk-3.0", "Compose", NULL);
-@@ -1458,8 +1466,7 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
- g_free (path);
- return retval;
- }
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
-
- home = g_get_home_dir ();
- if (home == NULL)
-@@ -1471,8 +1478,7 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
- g_free (path);
- return retval;
- }
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
-
- #if GLIB_CHECK_VERSION (2, 58, 0)
- langs = g_get_language_names_with_category ("LC_CTYPE");
-@@ -1508,8 +1514,7 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
-
- if (g_file_test (path, G_FILE_TEST_EXISTS))
- break;
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
- }
-
- #if !GLIB_CHECK_VERSION (2, 58, 0)
-@@ -1518,15 +1523,13 @@ ibus_engine_simple_add_table_by_locale (IBusEngineSimple *simple,
-
- if (path != NULL)
- ibus_engine_simple_add_compose_file (simple, path);
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
- } else {
- path = g_build_filename (X11_DATADIR, locale, "Compose", NULL);
- do {
- if (g_file_test (path, G_FILE_TEST_EXISTS))
- break;
-- g_free (path);
-- path = NULL;
-+ g_clear_pointer(&path, g_free);
- } while (0);
- if (path == NULL)
- return retval;
---
-2.34.1
-
-From 5ad3d8d5296cd337d3b41730406680eb9b250f8f Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Fri, 4 Mar 2022 20:50:08 +0900
-Subject: [PATCH] ui/gtk3: Use XDG_SESSION_DESKTOP for Plasma desktop
-
-If ibus-dameon is launched from systemd, XDG_CURRENT_DESKTOP
-environment variable could be set after ibus-dameon would be
-launched and XDG_CURRENT_DESKTOP could be "(null)".
-But XDG_SESSION_DESKTOP can be set with systemd's PAM.
----
- ui/gtk3/panel.vala | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/ui/gtk3/panel.vala b/ui/gtk3/panel.vala
-index ab2005d7..bfd6ef56 100644
---- a/ui/gtk3/panel.vala
-+++ b/ui/gtk3/panel.vala
-@@ -3,7 +3,7 @@
- * ibus - The Input Bus
- *
- * Copyright(c) 2011-2014 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright(c) 2015-2020 Takao Fujwiara <takao.fujiwara1@gmail.com>
-+ * Copyright(c) 2015-2022 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
-@@ -260,8 +260,23 @@ class Panel : IBus.PanelService {
-
- #if INDICATOR
- private static bool is_kde() {
-- if (Environment.get_variable("XDG_CURRENT_DESKTOP") == "KDE")
-+ unowned string? desktop =
-+ Environment.get_variable("XDG_CURRENT_DESKTOP");
-+ if (desktop == "KDE")
- return true;
-+ /* If ibus-dameon is launched from systemd, XDG_CURRENT_DESKTOP
-+ * environment variable could be set after ibus-dameon would be
-+ * launched and XDG_CURRENT_DESKTOP could be "(null)".
-+ * But XDG_SESSION_DESKTOP can be set with systemd's PAM.
-+ */
-+ if (desktop == null || desktop == "(null)")
-+ desktop = Environment.get_variable("XDG_SESSION_DESKTOP");
-+ if (desktop == "plasma")
-+ return true;
-+ if (desktop == null) {
-+ warning ("XDG_CURRENT_DESKTOP is not exported in your desktop " +
-+ "session.");
-+ }
- warning ("If you launch KDE5 on xterm, " +
- "export XDG_CURRENT_DESKTOP=KDE before launch KDE5.");
- return false;
---
-2.34.1
-
-From faf9f0bbb6edf6ed71bba9dcb314493f6b0276ea Mon Sep 17 00:00:00 2001
-From: fujiwarat <takao.fujiwara1@gmail.com>
-Date: Tue, 1 Mar 2022 19:44:17 +0900
-Subject: [PATCH] client/gtk2: Revert CCedilla change for pt-BR
-
-gtk_im_context_simple_add_table() is deprecated in GTK4.
-I decide to delete gtk_im_context_simple_add_table() here because
-the change 03c9e591430c62354bbf26ef7bd4a2e6acfb7c8f is no longer needed
-because IBusEngineSimple has implemented to load pt_br compose key
-by locale
-
-BUG=chromium-os:11421
-BUG=http://codereview.appspot.com/3989060
----
- client/gtk2/ibusimcontext.c | 33 +--------------------------------
- 1 file changed, 1 insertion(+), 32 deletions(-)
-
-diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c
-index a5e5e792..e314ae98 100644
---- a/client/gtk2/ibusimcontext.c
-+++ b/client/gtk2/ibusimcontext.c
-@@ -2,7 +2,7 @@
- /* vim:set et sts=4: */
- /* ibus - The Input Bus
- * Copyright (C) 2008-2013 Peng Huang <shawn.p.huang@gmail.com>
-- * Copyright (C) 2015-2021 Takao Fujiwara <takao.fujiwara1@gmail.com>
-+ * Copyright (C) 2015-2022 Takao Fujiwara <takao.fujiwara1@gmail.com>
- * Copyright (C) 2008-2021 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
-@@ -874,33 +874,6 @@ ibus_im_context_class_fini (IBusIMContextClass *class)
- g_bus_unwatch_name (_daemon_name_watch_id);
- }
-
--/* Copied from gtk+2.0-2.20.1/modules/input/imcedilla.c to fix crosbug.com/11421.
-- * Overwrite the original Gtk+'s compose table in gtk+-2.x.y/gtk/gtkimcontextsimple.c. */
--
--/* The difference between this and the default input method is the handling
-- * of C+acute - this method produces C WITH CEDILLA rather than C WITH ACUTE.
-- * For languages that use CCedilla and not acute, this is the preferred mapping,
-- * and is particularly important for pt_BR, where the us-intl keyboard is
-- * used extensively.
-- */
--static guint16 cedilla_compose_seqs[] = {
--#ifdef DEPRECATED_GDK_KEYSYMS
-- GDK_dead_acute, GDK_C, 0, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_dead_acute, GDK_c, 0, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
-- GDK_Multi_key, GDK_apostrophe, GDK_C, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_Multi_key, GDK_apostrophe, GDK_c, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
-- GDK_Multi_key, GDK_C, GDK_apostrophe, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_Multi_key, GDK_c, GDK_apostrophe, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
--#else
-- GDK_KEY_dead_acute, GDK_KEY_C, 0, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_KEY_dead_acute, GDK_KEY_c, 0, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
-- GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_C, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_c, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
-- GDK_KEY_Multi_key, GDK_KEY_C, GDK_KEY_apostrophe, 0, 0, 0x00C7, /* LATIN_CAPITAL_LETTER_C_WITH_CEDILLA */
-- GDK_KEY_Multi_key, GDK_KEY_c, GDK_KEY_apostrophe, 0, 0, 0x00E7, /* LATIN_SMALL_LETTER_C_WITH_CEDILLA */
--#endif
--};
--
- static void
- ibus_im_context_init (GObject *obj)
- {
-@@ -936,10 +909,6 @@ ibus_im_context_init (GObject *obj)
-
- // Create slave im context
- ibusimcontext->slave = gtk_im_context_simple_new ();
-- gtk_im_context_simple_add_table (GTK_IM_CONTEXT_SIMPLE (ibusimcontext->slave),
-- cedilla_compose_seqs,
-- 4,
-- G_N_ELEMENTS (cedilla_compose_seqs) / (4 + 2));
-
- g_signal_connect (ibusimcontext->slave,
- "commit",
---
-2.34.1
-
next reply other threads:[~2026-05-31 2:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-31 2:07 Takao Fujiwara [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-05-31 2:09 [rpms/ibus] autotool: Delete upstreamed ibus-HEAD.patch Takao Fujiwara
2026-05-31 2:09 Takao Fujiwara
2026-05-31 2:08 Takao Fujiwara
2026-05-31 2:08 Takao Fujiwara
2026-05-31 2:08 Takao Fujiwara
2026-05-31 2:07 Takao Fujiwara
2026-05-31 2:07 Takao Fujiwara
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=178019326807.1.144125565354538121.rpms-ibus-0829fa055cbb@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