From 11cfe9b764682f76c0c895265e904245157a40c3 Mon Sep 17 00:00:00 2001 From: Jan-Michael Brummer Date: Fri, 14 Oct 2022 16:24:15 +0200 Subject: Use XDG_CURRENT_DESKTOP to detect GNOME desktop like systems Fixes: https://github.com/libproxy/libproxy/issues/191 --- libproxy/modules/config_gnome3.cpp | 15 ++++++++------- 1 file 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, -- cgit v1.2.1