summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Michael Brummer <jan.brummer@tabos.org>2022-10-14 16:24:15 +0200
committerJan-Michael Brummer <jan.brummer@tabos.org>2022-10-14 16:29:55 +0200
commit11cfe9b764682f76c0c895265e904245157a40c3 (patch)
treec51e07158c6633ecde13182bdec01da023d9f7de
parent09fce547dfadc824686aa0bbf4935a04491a0790 (diff)
downloadlibproxy-git-11cfe9b764682f76c0c895265e904245157a40c3.tar.gz
Use XDG_CURRENT_DESKTOP to detect GNOME desktop like systems
Fixes: https://github.com/libproxy/libproxy/issues/191
-rw-r--r--libproxy/modules/config_gnome3.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/libproxy/modules/config_gnome3.cpp b/libproxy/modules/config_gnome3.cpp
index 15b9dd2..7415027 100644
--- a/libproxy/modules/config_gnome3.cpp
+++ b/libproxy/modules/config_gnome3.cpp
@@ -295,13 +295,14 @@ static base_extension** gnome_config_extension_init() {
}
static bool gnome_config_extension_test() {
- return (getenv("GNOME_DESKTOP_SESSION_ID")
- || (getenv("DESKTOP_SESSION")
- && string(getenv("DESKTOP_SESSION")) == "gnome")
- || (getenv("DESKTOP_SESSION")
- && string(getenv("DESKTOP_SESSION")) == "gnome-wayland")
- || (getenv("DESKTOP_SESSION")
- && string(getenv("DESKTOP_SESSION")) == "mate"));
+ const char *desktops;
+
+ desktops = getenv ("XDG_CURRENT_DESKTOP");
+ if (!desktops)
+ return false;
+
+ /* Remember that XDG_CURRENT_DESKTOP is a list of strings. */
+ return strstr (desktops, "GNOME") != NULL;
}
MM_MODULE_INIT(gnome_config_extension,