summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2014-04-07 14:01:01 -0400
committerRay Strode <rstrode@redhat.com>2014-04-22 13:32:15 -0400
commitd07db1e9f4c494b045b0cb2bb6c1b45a6252f3e5 (patch)
treee833de443bca64325afeb29fa0849327f67c280c
parent2b79c77612048a8888660ee2613924bb6c7aecd8 (diff)
downloadgdm-d07db1e9f4c494b045b0cb2bb6c1b45a6252f3e5.tar.gz
wip: session: start X for user on another VT
This will need to get hooked up to a config option.
-rw-r--r--daemon/gdm-session.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
index f759d2df..0f602c24 100644
--- a/daemon/gdm-session.c
+++ b/daemon/gdm-session.c
@@ -121,6 +121,8 @@ struct _GdmSessionPrivate
GDBusServer *worker_server;
GDBusServer *outside_server;
GHashTable *environment;
+
+ gboolean is_program_session : 1;
};
enum {
@@ -2140,6 +2142,8 @@ gdm_session_setup_for_program (GdmSession *self,
g_return_if_fail (GDM_IS_SESSION (self));
send_setup_for_program (self, service_name, username, log_file);
+
+ self->priv->is_program_session = TRUE;
}
void
@@ -2799,9 +2803,11 @@ gdm_session_get_display_mode (GdmSession *self)
}
#endif
- /* X sessions are for now ran in classic mode where
- * we reuse the existing greeter. */
- return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
+ if (self->priv->is_program_session) {
+ return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
+ }
+
+ return GDM_SESSION_DISPLAY_MODE_NEW_VT;
}
void