diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2021-10-21 11:07:50 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2021-10-21 11:07:50 +0200 |
commit | 3fdc8670a4407096e35a36adb288eebdd1e6f846 (patch) | |
tree | 4876cf1c9b9093f859ceb71c81f1dd12a66bd127 /src | |
parent | 59a93c0ab51ac89ceb59d6e75d9a3ae80e545922 (diff) | |
parent | 46837276fb52c4e1c6af7a4cb26d4cc18cb60e20 (diff) | |
download | libayatana-common-3fdc8670a4407096e35a36adb288eebdd1e6f846.tar.gz libayatana-common-3fdc8670a4407096e35a36adb288eebdd1e6f846.tar.bz2 libayatana-common-3fdc8670a4407096e35a36adb288eebdd1e6f846.zip |
Merge branch 'tari01-pr/also-check-desktop-session'
Attributes GH PR #44: https://github.com/AyatanaIndicators/libayatana-common/pull/44
Diffstat (limited to 'src')
-rw-r--r-- | src/utils.c | 28 | ||||
-rw-r--r-- | src/utils.h | 7 |
2 files changed, 27 insertions, 8 deletions
diff --git a/src/utils.c b/src/utils.c index 29d4bf6..d46c604 100644 --- a/src/utils.c +++ b/src/utils.c @@ -25,7 +25,7 @@ // TODO: make case insensitive gboolean -is_xdg_current_desktop (const gchar* desktop) +is_xdg_current_desktop (const gchar* desktop, const gchar* session) { const gchar *xdg_current_desktop; gchar **desktop_names; @@ -42,49 +42,61 @@ is_xdg_current_desktop (const gchar* desktop) } g_strfreev (desktop_names); } + + if (session != NULL) + { + const gchar *desktop_session = g_getenv ("DESKTOP_SESSION"); + + if (desktop_session != NULL && g_str_equal(desktop_session, session)) + { + return TRUE; + } + + } + return FALSE; } gboolean ayatana_common_utils_is_lomiri () { - return is_xdg_current_desktop(DESKTOP_LOMIRI); + return is_xdg_current_desktop(DESKTOP_LOMIRI, SESSION_LOMIRI); } gboolean ayatana_common_utils_is_gnome () { - return is_xdg_current_desktop(DESKTOP_GNOME); + return is_xdg_current_desktop(DESKTOP_GNOME, SESSION_GNOME); } gboolean ayatana_common_utils_is_unity () { - return is_xdg_current_desktop(DESKTOP_UNITY); + return is_xdg_current_desktop(DESKTOP_UNITY, SESSION_UNITY); } gboolean ayatana_common_utils_is_mate () { - return is_xdg_current_desktop(DESKTOP_MATE); + return is_xdg_current_desktop(DESKTOP_MATE, SESSION_MATE); } gboolean ayatana_common_utils_is_xfce () { - return is_xdg_current_desktop(DESKTOP_XFCE); + return is_xdg_current_desktop(DESKTOP_XFCE, SESSION_XFCE); } gboolean ayatana_common_utils_is_pantheon () { - return is_xdg_current_desktop(DESKTOP_PANTHEON); + return is_xdg_current_desktop(DESKTOP_PANTHEON, SESSION_PANTHEON); } gboolean ayatana_common_utils_is_budgie () { - return is_xdg_current_desktop(DESKTOP_BUDGIE); + return is_xdg_current_desktop(DESKTOP_BUDGIE, SESSION_BUDGIE); } gboolean diff --git a/src/utils.h b/src/utils.h index b8e70cb..59bf008 100644 --- a/src/utils.h +++ b/src/utils.h @@ -29,6 +29,13 @@ static const char *DESKTOP_GNOME = "GNOME"; static const char *DESKTOP_XFCE = "XFCE"; static const char *DESKTOP_PANTHEON = "PANTHEON"; static const char *DESKTOP_BUDGIE = "Budgie"; +static const char *SESSION_LOMIRI = "ubuntu-touch"; +static const char *SESSION_UNITY = NULL; +static const char *SESSION_MATE = "mate"; +static const char *SESSION_GNOME = "gnome"; +static const char *SESSION_XFCE = "xfce"; +static const char *SESSION_PANTHEON = NULL; +static const char *SESSION_BUDGIE = "budgie-desktop"; gboolean ayatana_common_utils_is_lomiri(); gboolean ayatana_common_utils_is_unity(); |