summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.h
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2014-03-17 22:17:59 -0400
committerRay Strode <rstrode@redhat.com>2014-03-18 00:34:39 -0400
commit4313a017b4a0b79dea6c9c50c9e1ebf09c6f8774 (patch)
treeb14d4f8e7fc257db28ff2d8c1db9ff4b14588d3c /daemon/gdm-session.h
parentcd28617d7582be7f2413a1ea47d03f88e3d768ec (diff)
downloadgdm-4313a017b4a0b79dea6c9c50c9e1ebf09c6f8774.tar.gz
session: Introduce the concept of the "session display mode"
The session display mode describes exactly how the worker environment will set up VTs, and whether the greeter X server will be reused for the user session. https://bugzilla.gnome.org/show_bug.cgi?id=726380
Diffstat (limited to 'daemon/gdm-session.h')
-rw-r--r--daemon/gdm-session.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/daemon/gdm-session.h b/daemon/gdm-session.h
index d953302b..1d2ee7e6 100644
--- a/daemon/gdm-session.h
+++ b/daemon/gdm-session.h
@@ -42,6 +42,23 @@ typedef enum
GDM_SESSION_VERIFICATION_MODE_REAUTHENTICATE
} GdmSessionVerificationMode;
+typedef enum {
+ /* We reuse the existing display server, e.g. X server
+ * in "classic" mode from the greeter for the first seat. */
+ GDM_SESSION_DISPLAY_MODE_REUSE_VT,
+
+ /* Doesn't know anything about VTs. Tries to set DRM
+ * master and will throw a tantrum if something bad
+ * happens. e.g. weston-launch or mutter-launch. */
+ GDM_SESSION_DISPLAY_MODE_NEW_VT,
+
+ /* Uses logind sessions to manage itself. We need to set an
+ * XDG_VTNR and it will switch to the correct VT on startup.
+ * e.g. mutter-wayland with logind integration, X server with
+ * logind integration. */
+ GDM_SESSION_DISPLAY_MODE_LOGIND_MANAGED,
+} GdmSessionDisplayMode;
+
typedef struct
{
GObject parent;
@@ -111,6 +128,7 @@ const char *gdm_session_get_display_device (GdmSession *sessi
const char *gdm_session_get_display_seat_id (GdmSession *session);
const char *gdm_session_get_session_id (GdmSession *session);
gboolean gdm_session_bypasses_xsession (GdmSession *session);
+GdmSessionDisplayMode gdm_session_get_display_mode (GdmSession *session);
void gdm_session_start_conversation (GdmSession *session,
const char *service_name);