diff options
author | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-03-28 11:06:46 +0200 |
---|---|---|
committer | Jan-Michael Brummer <jan.brummer@tabos.org> | 2023-03-28 11:06:46 +0200 |
commit | 0f4ce0975e38837d1721ae2a3f5443137c11af30 (patch) | |
tree | deb03f1e6fa63ce008954af90c9b1f36cc1ece6d | |
parent | 2644c741bf0e7fb7e327907a363975b65f47e89c (diff) | |
download | libproxy-git-0f4ce0975e38837d1721ae2a3f5443137c11af30.tar.gz |
Update KDE config plugin available check
-rw-r--r-- | src/backend/plugins/config-kde/config-kde.c | 14 | ||||
-rw-r--r-- | tests/config-kde-test.c | 3 | ||||
-rw-r--r-- | tests/meson.build | 2 |
3 files changed, 15 insertions, 4 deletions
diff --git a/src/backend/plugins/config-kde/config-kde.c b/src/backend/plugins/config-kde/config-kde.c index 124c5b9..56c83c0 100644 --- a/src/backend/plugins/config-kde/config-kde.c +++ b/src/backend/plugins/config-kde/config-kde.c @@ -88,10 +88,20 @@ px_config_kde_set_config_file (PxConfigKde *self, g_autoptr (GFile) file = NULL; g_autoptr (GFileInputStream) istr = NULL; g_autoptr (GDataInputStream) dstr = NULL; + const char *desktops; + + self->available = FALSE; + + desktops = getenv ("XDG_CURRENT_DESKTOP"); + if (!desktops) + return; + + /* Remember that XDG_CURRENT_DESKTOP is a list of strings. */ + if (strstr (desktops, "KDE") == NULL) + return; g_clear_pointer (&self->config_file, g_free); self->config_file = proxy_file ? g_strdup (proxy_file) : g_build_filename (g_get_user_config_dir (), "kioslaverc", NULL); - self->available = FALSE; file = g_file_new_for_path (self->config_file); if (!file) { @@ -234,7 +244,7 @@ px_config_kde_is_available (PxConfig *config) { PxConfigKde *self = PX_CONFIG_KDE (config); - return self->available && g_getenv ("KDE_FULL_SESSION") != NULL; + return self->available; } static void diff --git a/tests/config-kde-test.c b/tests/config-kde-test.c index c918afd..c12d1f4 100644 --- a/tests/config-kde-test.c +++ b/tests/config-kde-test.c @@ -186,13 +186,14 @@ test_config_kde_fail (void) g_autofree char *path = g_test_build_filename (G_TEST_DIST, "data", "sample-kde-proxy-pac", NULL); /* Disable KDE support */ - g_unsetenv ("KDE_FULL_SESSION"); + g_setenv ("XDG_CURRENT_DESKTOP", "SOMETHING_ELSE", TRUE); manager = px_test_manager_new ("config-kde", path); uri = g_uri_parse ("https://www.example.com", G_URI_FLAGS_PARSE_RELAXED, &error); config = px_manager_get_configuration (manager, uri, &error); + g_print ("%s", config[0]); g_assert_null (config[0]); } diff --git a/tests/meson.build b/tests/meson.build index 3fa6e5a..cd268f2 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -73,7 +73,7 @@ if get_option('tests') ) test('Config KDE test', config_kde_test, - env: [envs, 'KDE_FULL_SESSION=1'], + env: [envs, 'XDG_CURRENT_DESKTOP=KDE'], ) endif endif |