summaryrefslogtreecommitdiffstats
path: root/src/dialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dialog.cpp')
-rw-r--r--src/dialog.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/dialog.cpp b/src/dialog.cpp
index 17fc474..9cb5aeb 100644
--- a/src/dialog.cpp
+++ b/src/dialog.cpp
@@ -111,8 +111,14 @@ void Dialog::on_treeView_doubleClicked(const QModelIndex& index)
setenv("PVS_AUTO_CONNECT", "TRUE", 1);
else
setenv("PVS_AUTO_CONNECT", "FALSE", 1);
- setenv("SESSION_NAME", s->shortDescription().toUtf8(), 1);
-
+ // export session information to the environment of the process to be exec'ed
+ if (s->type() == Session::VSESSION) {
+ setenv("SESSION_TYPE", "VSESSION", 1);
+ setenv("SESSION_CMD", "", 1);
+ } else if (s->type() == Session::XSESSION) {
+ setenv("SESSION_TYPE", "XSESSION", 1);
+ setenv("SESSION_CMD", s->execCommand() != NULL ? s->execCommand().toUtf8() : "", 1);
+ }
// Fork this process twice to detach
pid_t pid = fork();
if (pid == 0) {