2
* Copyright (C) 2013 Robert Ancell.
3
* Author: Robert Ancell <robert.ancell@canonical.com>
5
* This program is free software: you can redistribute it and/or modify it under
6
* the terms of the GNU General Public License as published by the Free Software
7
* Foundation, either version 3 of the License, or (at your option) any later
8
* version. See http://www.gnu.org/copyleft/gpl.html the full text of the
19
#include "configuration.h"
21
G_DEFINE_TYPE (XGreeter, xgreeter, GREETER_TYPE);
26
return g_object_new (XGREETER_TYPE, NULL);
30
setup_env (XGreeter *xgreeter)
32
DisplayServer *display_server;
35
display_server = session_get_display_server (SESSION (xgreeter));
37
vt = display_server_get_vt (display_server);
42
t = g_strdup_printf ("/dev/tty%d", vt);
43
session_set_tty (SESSION (xgreeter), t);
46
t = g_strdup_printf ("%d", vt);
47
session_set_env (SESSION (xgreeter), "XDG_VTNR", t);
51
session_set_env (SESSION (xgreeter), "DISPLAY", xserver_get_address (XSERVER (display_server)));
52
session_set_tty (SESSION (xgreeter), xserver_get_address (XSERVER (display_server)));
53
session_set_xdisplay (SESSION (xgreeter), xserver_get_address (XSERVER (display_server)));
54
session_set_remote_host_name (SESSION (xgreeter), xserver_get_hostname (XSERVER (display_server)));
55
session_set_xauthority (SESSION (xgreeter),
56
xserver_get_authority (XSERVER (display_server)),
57
config_get_boolean (config_get_instance (), "LightDM", "user-authority-in-system-dir"));
61
xgreeter_start (Session *session)
63
setup_env (XGREETER (session));
64
return SESSION_CLASS (xgreeter_parent_class)->start (session);
68
xgreeter_run (Session *session)
70
setup_env (XGREETER (session));
71
SESSION_CLASS (xgreeter_parent_class)->run (session);
75
xgreeter_init (XGreeter *session)
80
xgreeter_class_init (XGreeterClass *klass)
82
SessionClass *session_class = SESSION_CLASS (klass);
84
session_class->start = xgreeter_start;
85
session_class->run = xgreeter_run;