summaryrefslogtreecommitdiff
path: root/src/backend/plugins/config-kde/config-kde.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/plugins/config-kde/config-kde.c')
-rw-r--r--src/backend/plugins/config-kde/config-kde.c14
1 files changed, 12 insertions, 2 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