common: Pass XDG_SESSION_TYPE and QT_QPA_PLATFORM envvars to pinentry

* common/session-env.c (stdenvnames): Add XDG_SESSION_TYPE and
QT_QPA_PLATFORM.
--

On Unix systems (except Darwin), Qt uses those two environment
variables additionally to DISPLAY and WAYLAND_DISPLAY to figure out
whether to use X11 or Wayland. For example, QT_QPA_PLATFORM needs
to be set to "wayland" to make Qt use Wayland on Gnome.

GnuPG-bug-id: 3659
This commit is contained in:
Ingo Klöcker 2021-08-02 17:19:45 +02:00
parent 7cdd06af47
commit 94d18320b2
1 changed files with 5 additions and 0 deletions

View File

@ -71,6 +71,11 @@ static struct
{ "XMODIFIERS" }, /* Used by Xlib to select X input { "XMODIFIERS" }, /* Used by Xlib to select X input
modules (eg "@im=SCIM"). */ modules (eg "@im=SCIM"). */
{ "WAYLAND_DISPLAY" }, /* For the Wayland display engine. */ { "WAYLAND_DISPLAY" }, /* For the Wayland display engine. */
{ "XDG_SESSION_TYPE" }, /* Used by Qt and other non-GTK toolkits
to check for x11 or wayland. */
{ "QT_QPA_PLATFORM" }, /* Used by Qt to explicitly request
x11 or wayland; in particular, needed
to make Qt use Wayland on Gnome. */
{ "GTK_IM_MODULE" }, /* Used by gtk to select gtk input { "GTK_IM_MODULE" }, /* Used by gtk to select gtk input
modules (eg "scim-bridge"). */ modules (eg "scim-bridge"). */
{ "DBUS_SESSION_BUS_ADDRESS" },/* Used by GNOME3 to talk to gcr over { "DBUS_SESSION_BUS_ADDRESS" },/* Used by GNOME3 to talk to gcr over