gnome-shell: fix ibus environment variables

fixes using ibus-chewing on gnome
also fixes launching ibus-anthy preferences from gnome shell
This commit is contained in:
oreo639 2024-02-21 20:03:06 -08:00
parent 7d46592a69
commit 71d2e852b1
2 changed files with 44 additions and 1 deletions

View file

@ -0,0 +1,43 @@
From 050d0e10c79b1c16d8be4feb6035f7755f8c8b0a Mon Sep 17 00:00:00 2001
From: xiaofan <xiaofan@iscas.ac.cn>
Date: Sun, 10 Sep 2023 09:56:33 +0200
Subject: [PATCH] ibusManager: Add missing environment variables required to
launch ibus-daemon
IBus requires XAUTHORITY and XDG_RUNTIME_DIR to be able to spawn its XIM
implementation correctly. Using launch context to get environment can correctly
launch on non-systemd setups.
Closes: #6998
Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2947>
---
js/misc/ibusManager.js | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js
index 8988992121..510561b4d0 100644
--- a/js/misc/ibusManager.js
+++ b/js/misc/ibusManager.js
@@ -115,17 +115,9 @@ class IBusManager extends Signals.EventEmitter {
_spawn(extraArgs = []) {
try {
- let cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
- let env = [];
-
- this._tryAppendEnv(env, 'DBUS_SESSION_BUS_ADDRESS');
- this._tryAppendEnv(env, 'WAYLAND_DISPLAY');
- this._tryAppendEnv(env, 'HOME');
- this._tryAppendEnv(env, 'LANG');
- this._tryAppendEnv(env, 'LC_CTYPE');
- this._tryAppendEnv(env, 'COMPOSE_FILE');
- this._tryAppendEnv(env, 'DISPLAY');
-
+ const cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
+ const launchContext = global.create_app_launch_context(0, -1);
+ const env = launchContext.get_environment();
// Use DO_NOT_REAP_CHILD to avoid adouble-fork internally
// since ibus-daemon refuses to start with init as its parent.
const [success_, pid] = GLib.spawn_async(

View file

@ -1,7 +1,7 @@
# Template file for 'gnome-shell'
pkgname=gnome-shell
version=44.2
revision=4
revision=5
build_style=meson
build_helper=gir
configure_args="-Dsystemd=false -Dtests=false"