diff options
author | Dominique Leuenberger <dimstar@opensuse.org> | 2022-10-20 08:48:19 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-20 08:48:19 +0200 |
commit | 7c97571dfbb6bc188d0e7c286fb5f1e143e76d81 (patch) | |
tree | c51e07158c6633ecde13182bdec01da023d9f7de | |
parent | 09fce547dfadc824686aa0bbf4935a04491a0790 (diff) | |
parent | 11cfe9b764682f76c0c895265e904245157a40c3 (diff) | |
download | libproxy-git-7c97571dfbb6bc188d0e7c286fb5f1e143e76d81.tar.gz |
Merge pull request #192 from janbrummer/gnome-detection-fix
Use XDG_CURRENT_DESKTOP to detect GNOME desktop like systems
-rw-r--r-- | libproxy/modules/config_gnome3.cpp | 15 |
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, |