Add support for XDG_SESSION_DESKTOP and XDG_CURRENT_DESKTOP in TDM

This relates to Bug 2521

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/2/head
Slávek Banko 9 years ago
parent 799e7ef14d
commit aa0711c143

@ -1222,7 +1222,7 @@ int
StartClient() StartClient()
#endif #endif
{ {
const char *home, *sessargs, *desksess; const char *home, *sessargs, *desksess, *deskname;
char **env, *xma; char **env, *xma;
char **argv, *fname, *str; char **argv, *fname, *str;
#ifdef USE_PAM #ifdef USE_PAM
@ -1681,6 +1681,7 @@ StartClient()
GSendStr( desksess ); GSendStr( desksess );
close( mstrtalk.pipe->wfd ); close( mstrtalk.pipe->wfd );
userEnviron = setEnv( userEnviron, "DESKTOP_SESSION", desksess ); userEnviron = setEnv( userEnviron, "DESKTOP_SESSION", desksess );
userEnviron = setEnv( userEnviron, "XDG_SESSION_DESKTOP", desksess );
for (i = 0; td->sessionsDirs[i]; i++) { for (i = 0; td->sessionsDirs[i]; i++) {
fname = 0; fname = 0;
if (StrApp( &fname, td->sessionsDirs[i], "/", desksess, ".desktop", (char *)0 )) { if (StrApp( &fname, td->sessionsDirs[i], "/", desksess, ".desktop", (char *)0 )) {
@ -1688,6 +1689,10 @@ StartClient()
if (!StrCmp( iniEntry( str, "Desktop Entry", "Hidden", 0 ), "true" ) || if (!StrCmp( iniEntry( str, "Desktop Entry", "Hidden", 0 ), "true" ) ||
!(sessargs = iniEntry( str, "Desktop Entry", "Exec", 0 ))) !(sessargs = iniEntry( str, "Desktop Entry", "Exec", 0 )))
sessargs = ""; sessargs = "";
deskname = iniEntry( str, "Desktop Entry", "DesktopNames", 0 );
if (deskname) {
userEnviron = setEnv( userEnviron, "XDG_CURRENT_DESKTOP", deskname );
}
free( str ); free( str );
free( fname ); free( fname );
goto gotit; goto gotit;

@ -3,6 +3,7 @@ Encoding=UTF-8
Type=XSession Type=XSession
Exec=@TDE_BIN_DIR@/starttde Exec=@TDE_BIN_DIR@/starttde
TryExec=@TDE_BIN_DIR@/starttde TryExec=@TDE_BIN_DIR@/starttde
DesktopNames=Trinity
Name=TDE Name=TDE
Name[hi]= Name[hi]=
Name[mn]=КДЭ Name[mn]=КДЭ

@ -3,6 +3,7 @@ Encoding=UTF-8
Type=XSession Type=XSession
Exec=@TDE_BINDIR@/starttde Exec=@TDE_BINDIR@/starttde
TryExec=@TDE_BINDIR@/starttde TryExec=@TDE_BINDIR@/starttde
DesktopNames=Trinity
Name=Trinity Name=Trinity
Name[hi]=केडीई Name[hi]=केडीई
Name[mn]=КДЭ Name[mn]=КДЭ

Loading…
Cancel
Save