From cf42441b43aec2e0457ec6e4dfdf2af8e58ac716 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 28 Feb 2025 16:11:01 +0100 Subject: src/utils.(c|h): Add ayatana_common_utils_is_ubuntutouch() function. --- tests/tst_utils.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tests/tst_utils.cpp') 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"); -- cgit v1.2.3 From 27fdf5af170bf355b6da32e11e3135e99a5e675a Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 28 Feb 2025 16:11:55 +0100 Subject: src/utils.h: On Linux Desktop, if Lomiri is running, but not Ubuntu Touch, then DESKTOP_SESSION is set to 'lomiri'. --- tests/tst_utils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/tst_utils.cpp') diff --git a/tests/tst_utils.cpp b/tests/tst_utils.cpp index 0d59da0..4f85d68 100644 --- a/tests/tst_utils.cpp +++ b/tests/tst_utils.cpp @@ -43,7 +43,7 @@ TEST_F(XdgCurrentDesktopUtilsTest, isLomiri) unsetenv("XDG_CURRENT_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_lomiri()); - setenv("DESKTOP_SESSION", "ubuntu-touch", 1); + setenv("DESKTOP_SESSION", "lomiri", 1); EXPECT_TRUE(ayatana_common_utils_is_lomiri()); setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1); EXPECT_TRUE(ayatana_common_utils_is_lomiri()); -- cgit v1.2.3 From fc90dc2da7979f927b7bcb2b041c0f2f72346cb5 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Fri, 28 Feb 2025 17:25:29 +0100 Subject: src/utils.c: Prefer XDG_SESSION_DESKTOP over DESKTOP_SESSION. --- tests/tst_utils.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests/tst_utils.cpp') diff --git a/tests/tst_utils.cpp b/tests/tst_utils.cpp index 4f85d68..db2c672 100644 --- a/tests/tst_utils.cpp +++ b/tests/tst_utils.cpp @@ -41,10 +41,14 @@ public: TEST_F(XdgCurrentDesktopUtilsTest, isLomiri) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_lomiri()); setenv("DESKTOP_SESSION", "lomiri", 1); EXPECT_TRUE(ayatana_common_utils_is_lomiri()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "lomiri", 1); + EXPECT_TRUE(ayatana_common_utils_is_lomiri()); setenv("XDG_CURRENT_DESKTOP", "Lomiri", 1); EXPECT_TRUE(ayatana_common_utils_is_lomiri()); } @@ -58,45 +62,64 @@ TEST_F(XdgCurrentDesktopUtilsTest, isUbuntuTouch) EXPECT_FALSE(ayatana_common_utils_is_ubuntutouch()); setenv("DESKTOP_SESSION", "ubuntu-touch", 1); EXPECT_TRUE(ayatana_common_utils_is_ubuntutouch()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "ubuntu-touch", 1); + EXPECT_TRUE(ayatana_common_utils_is_ubuntutouch()); } TEST_F(XdgCurrentDesktopUtilsTest, isGnome) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_gnome()); setenv("DESKTOP_SESSION", "gnome", 1); EXPECT_TRUE(ayatana_common_utils_is_gnome()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "gnome", 1); + EXPECT_TRUE(ayatana_common_utils_is_gnome()); setenv("XDG_CURRENT_DESKTOP", "GNOME", 1); EXPECT_TRUE(ayatana_common_utils_is_gnome()); } TEST_F(XdgCurrentDesktopUtilsTest, isUnity) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_unity()); setenv("DESKTOP_SESSION", "gnome-fallback", 1); EXPECT_FALSE(ayatana_common_utils_is_unity()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "gnome-fallback", 1); + EXPECT_FALSE(ayatana_common_utils_is_unity()); setenv("XDG_CURRENT_DESKTOP", "Unity", 1); EXPECT_TRUE(ayatana_common_utils_is_unity()); } TEST_F(XdgCurrentDesktopUtilsTest, isMate) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_mate()); setenv("DESKTOP_SESSION", "mate", 1); EXPECT_TRUE(ayatana_common_utils_is_mate()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "mate", 1); + EXPECT_TRUE(ayatana_common_utils_is_mate()); setenv("XDG_CURRENT_DESKTOP", "MATE", 1); EXPECT_TRUE(ayatana_common_utils_is_mate()); } TEST_F(XdgCurrentDesktopUtilsTest, isXfce) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_xfce()); setenv("DESKTOP_SESSION", "xfce", 1); EXPECT_TRUE(ayatana_common_utils_is_xfce()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "xfce", 1); + EXPECT_TRUE(ayatana_common_utils_is_xfce()); setenv("XDG_CURRENT_DESKTOP", "XFCE", 1); EXPECT_TRUE(ayatana_common_utils_is_xfce()); } @@ -104,6 +127,7 @@ TEST_F(XdgCurrentDesktopUtilsTest, isPantheon) { unsetenv("XDG_CURRENT_DESKTOP"); unsetenv("DESKTOP_SESSION"); + unsetenv("XDG_SESSION_DESKTOP"); EXPECT_FALSE(ayatana_common_utils_is_pantheon()); setenv("XDG_CURRENT_DESKTOP", "PANTHEON", 1); EXPECT_TRUE(ayatana_common_utils_is_pantheon()); @@ -111,10 +135,14 @@ TEST_F(XdgCurrentDesktopUtilsTest, isPantheon) TEST_F(XdgCurrentDesktopUtilsTest, isBudgie) { unsetenv("XDG_CURRENT_DESKTOP"); + unsetenv("XDG_SESSION_DESKTOP"); unsetenv("DESKTOP_SESSION"); EXPECT_FALSE(ayatana_common_utils_is_budgie()); setenv("DESKTOP_SESSION", "budgie-desktop", 1); EXPECT_TRUE(ayatana_common_utils_is_budgie()); + unsetenv("DESKTOP_SESSION"); + setenv("XDG_SESSION_DESKTOP", "budgie-desktop", 1); + EXPECT_TRUE(ayatana_common_utils_is_budgie()); setenv("XDG_CURRENT_DESKTOP", "Budgie:GNOME", 1); EXPECT_TRUE(ayatana_common_utils_is_budgie()); } -- cgit v1.2.3