summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-06-27 22:10:57 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2018-06-27 22:10:57 +0300
commitd39462ea17c69b9fa91d16ac2739cb79fe6d1194 (patch)
tree348b60c1d867b34d335d60e6b23661052788f075
parent062f8534ee6e7b51f4d15a4fad971ccb407c792d (diff)
downloadlightdm-gtk-greeter-git-d39462ea17c69b9fa91d16ac2739cb79fe6d1194.tar.gz
greeterconfiguration: store state for each seat
https://bugs.launchpad.net/lightdm-gtk-greeter/+bug/1641335
-rw-r--r--src/greeterconfiguration.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/greeterconfiguration.c b/src/greeterconfiguration.c
index 0b5da5a..23faafa 100644
--- a/src/greeterconfiguration.c
+++ b/src/greeterconfiguration.c
@@ -75,12 +75,17 @@ config_init(void)
GList *files = NULL;
GList *file_iter = NULL;
const gchar* const *dirs;
+ const gchar *xdg_seat;
gchar *state_config_dir;
gchar *config_path_tmp;
gchar *config_path;
gint i;
- state_config_dir = g_build_filename(g_get_user_cache_dir(), "lightdm-gtk-greeter", NULL);
+ xdg_seat = g_getenv ("XDG_SEAT");
+ if (xdg_seat != NULL && (*xdg_seat == '\0' || g_strcmp0 (xdg_seat, "seat0") == 0))
+ xdg_seat = NULL;
+
+ state_config_dir = g_build_filename(g_get_user_cache_dir(), "lightdm-gtk-greeter", xdg_seat, NULL);
state_filename = g_build_filename(state_config_dir, "state", NULL);
g_mkdir_with_parents(state_config_dir, 0775);
g_free(state_config_dir);