fix: gtk module search paths for snap (#177976)

This commit is contained in:
Robo 2023-03-22 16:58:15 +09:00 committed by GitHub
parent b8e4c550bc
commit b2a1932329
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 0 deletions

View file

@ -216,6 +216,12 @@ fi
append_dir GTK_PATH "$SNAP/usr/lib/$ARCH/gtk-3.0"
append_dir GTK_PATH "$SNAP/usr/lib/gtk-3.0"
# We don't have gtk libraries in this path but
# enforcing this environment variable will disallow
# gtk binaries like `gtk-query-immodules` to not search
# in system default library paths.
# Based on https://gitlab.gnome.org/GNOME/gtk/-/blob/main/gtk/gtkmodules.c#L104-136
export GTK_EXE_PREFIX="$SNAP/usr"
# ibus and fcitx integration
GTK_IM_MODULE_DIR="$SNAP_USER_COMMON/.cache/immodules"

View file

@ -35,6 +35,7 @@ parts:
- libgl1
- libglib2.0-0
- libgtk-3-0
- libibus-1.0-5
- libnss3
- libpango-1.0-0
- libsecret-1-0

View file

@ -454,11 +454,13 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
const gtkIMModuleFile = process.env['GTK_IM_MODULE_FILE'];
const gdkBackend = process.env['GDK_BACKEND'];
const gioModuleDir = process.env['GIO_MODULE_DIR'];
const gtkExePrefix = process.env['GTK_EXE_PREFIX'];
delete process.env['GDK_PIXBUF_MODULE_FILE'];
delete process.env['GDK_PIXBUF_MODULEDIR'];
delete process.env['GTK_IM_MODULE_FILE'];
delete process.env['GDK_BACKEND'];
delete process.env['GIO_MODULE_DIR'];
delete process.env['GTK_EXE_PREFIX'];
shell.openExternal(url);
@ -468,6 +470,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
process.env['GTK_IM_MODULE_FILE'] = gtkIMModuleFile;
process.env['GDK_BACKEND'] = gdkBackend;
process.env['GIO_MODULE_DIR'] = gioModuleDir;
process.env['GTK_EXE_PREFIX'] = gtkExePrefix;
}
moveItemToTrash(windowId: number | undefined, fullPath: string): Promise<void> {