diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2025-02-28 16:11:01 +0100 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2025-02-28 17:34:47 +0100 |
commit | cf42441b43aec2e0457ec6e4dfdf2af8e58ac716 (patch) | |
tree | 8d985efbf2a7a35f6aa05a8ef4b27fd3a830a305 | |
parent | 78b5e71b2130f78bed2583041a346ee837f0ee7d (diff) | |
download | libayatana-common-cf42441b43aec2e0457ec6e4dfdf2af8e58ac716.tar.gz libayatana-common-cf42441b43aec2e0457ec6e4dfdf2af8e58ac716.tar.bz2 libayatana-common-cf42441b43aec2e0457ec6e4dfdf2af8e58ac716.zip |
src/utils.(c|h): Add ayatana_common_utils_is_ubuntutouch() function.
-rw-r--r-- | src/utils.c | 6 | ||||
-rw-r--r-- | src/utils.h | 3 | ||||
-rw-r--r-- | tests/tst_utils.cpp | 11 | ||||
-rw-r--r-- | tests/tst_utils.vala | 8 |
4 files changed, 28 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c index 0a33a74..712b060 100644 --- a/src/utils.c +++ b/src/utils.c @@ -74,6 +74,12 @@ ayatana_common_utils_is_lomiri () } gboolean +ayatana_common_utils_is_ubuntutouch () +{ + return is_xdg_current_desktop(DESKTOP_UBUNTUTOUCH, SESSION_UBUNTUTOUCH); +} + +gboolean ayatana_common_utils_is_gnome () { return is_xdg_current_desktop(DESKTOP_GNOME, SESSION_GNOME); diff --git a/src/utils.h b/src/utils.h index 9d3e641..c7c658e 100644 --- a/src/utils.h +++ b/src/utils.h @@ -23,6 +23,7 @@ #include <gio/gio.h> static const char * const DESKTOP_LOMIRI = "Lomiri"; +static const char * const DESKTOP_UBUNTUTOUCH = NULL; static const char * const DESKTOP_UNITY = "Unity"; static const char * const DESKTOP_MATE = "MATE"; static const char * const DESKTOP_GNOME = "GNOME"; @@ -30,6 +31,7 @@ static const char * const DESKTOP_XFCE = "XFCE"; static const char * const DESKTOP_PANTHEON = "PANTHEON"; static const char * const DESKTOP_BUDGIE = "Budgie"; static const char * const SESSION_LOMIRI = "ubuntu-touch"; +static const char * const SESSION_UBUNTUTOUCH = "ubuntu-touch"; static const char * const SESSION_UNITY = NULL; static const char * const SESSION_MATE = "mate"; static const char * const SESSION_GNOME = "gnome"; @@ -38,6 +40,7 @@ static const char * const SESSION_PANTHEON = NULL; static const char * const SESSION_BUDGIE = "budgie-desktop"; gboolean ayatana_common_utils_is_lomiri(); +gboolean ayatana_common_utils_is_ubuntutouch(); gboolean ayatana_common_utils_is_unity(); gboolean ayatana_common_utils_is_gnome(); gboolean ayatana_common_utils_is_mate(); diff --git a/tests/tst_utils.cpp b/tests/tst_utils.cpp index a1cf7c5..0d59da0 100644 --- a/tests/tst_utils.cpp +++ b/tests/tst_utils.cpp @@ -49,6 +49,17 @@ TEST_F(XdgCurrentDesktopUtilsTest, isLomiri) EXPECT_TRUE(ayatana_common_utils_is_lomiri()); } +TEST_F(XdgCurrentDesktopUtilsTest, isUbuntuTouch) +{ + unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("DESKTOP_SESSION"); + EXPECT_FALSE(ayatana_common_utils_is_ubuntutouch()); + setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1); + EXPECT_FALSE(ayatana_common_utils_is_ubuntutouch()); + setenv("DESKTOP_SESSION", "ubuntu-touch", 1); + EXPECT_TRUE(ayatana_common_utils_is_ubuntutouch()); +} + TEST_F(XdgCurrentDesktopUtilsTest, isGnome) { unsetenv("XDG_CURRENT_DESKTOP"); diff --git a/tests/tst_utils.vala b/tests/tst_utils.vala index 44ce6fe..4d070e7 100644 --- a/tests/tst_utils.vala +++ b/tests/tst_utils.vala @@ -14,6 +14,14 @@ static int main(string[] args) set_variable("XDG_CURRENT_DESKTOP", "Lomiri", true); assert(utils_is_lomiri()); + unset_variable("DESKTOP_SESSION"); + unset_variable("XDG_CURRENT_DESKTOP"); + assert(! utils_is_ubuntutouch()); + set_variable("XDG_CURRENT_DESKTOP", "Lomiri", true); + assert(! utils_is_ubuntutouch()); + set_variable("DESKTOP_SESSION", "ubuntu-touch", true); + assert(utils_is_ubuntutouch()); + unset_variable("XDG_CURRENT_DESKTOP"); unset_variable("DESKTOP_SESSION"); assert(! utils_is_gnome()); |