diff --git a/src/login.c b/src/login.c index 9dee06b..a7d109b 100644 --- a/src/login.c +++ b/src/login.c @@ -265,13 +265,14 @@ void env_xdg_session(const enum display_server display_server) } } -void env_xdg(const char* tty_id) +void env_xdg(const char* tty_id, const char* desktop_name) { char user[15]; snprintf(user, 15, "/run/user/%d", getuid()); setenv("XDG_RUNTIME_DIR", user, 0); setenv("XDG_SESSION_CLASS", "user", 0); setenv("XDG_SESSION_ID", "1", 0); + setenv("XDG_SESSION_DESKTOP", desktop_name, 0); setenv("XDG_SEAT", "seat0", 0); setenv("XDG_VTNR", tty_id, 0); } @@ -608,7 +609,7 @@ void auth( } // add xdg variables - env_xdg(tty_id); + env_xdg(tty_id, desktop->list[desktop->cur]); // execute int ok = chdir(pwd->pw_dir);