# greeter-theme = Greeter theme to use
# xsession = X session to load by default
# xsession-wrapper = Wrapper script to run X session with
-# autologin-user = User to log in with by default
+# autologin-guest = True to log in as guest by default
+# autologin-user = User to log in with by default (overrides autologin-guest)
# autologin-user-timeout = Number of seconds to wait before loading default user
#
#[Defaults]
#greeter-theme=example-gtk-gnome
#xsession=gnome
#xsession-wrapper=
+#autologin-guest=false
#autologin-user=
#autologin-user-timeout=0
void
seat_load_config (Seat *seat, const gchar *config_section)
{
- gchar *username;
- guint timeout;
-
- username = config_get_string (config_get_instance (), config_section, "autologin-user");
- if (!username)
- username = config_get_string (config_get_instance (), "Defaults", "autologin-user");
+ if (config_has_key (config_get_instance (), config_section, "autologin-guest"))
+ seat->priv->autologin_guest = config_get_boolean (config_get_instance (), config_section, "autologin-guest");
+ else if (config_has_key (config_get_instance (), "Defaults", "autologin-guest"))
+ seat->priv->autologin_guest = config_get_boolean (config_get_instance (), "Defaults", "autologin-guest");
+ seat->priv->autologin_username = config_get_string (config_get_instance (), config_section, "autologin-user");
+ if (!seat->priv->autologin_username)
+ seat->priv->autologin_username = config_get_string (config_get_instance (), "Defaults", "autologin-user");
if (config_has_key (config_get_instance (), config_section, "autologin-user-timeout"))
- timeout = config_get_integer (config_get_instance (), config_section, "autologin-user-timeout");
+ seat->priv->autologin_timeout = config_get_integer (config_get_instance (), config_section, "autologin-user-timeout");
else
- timeout = config_get_integer (config_get_instance (), "Defaults", "autologin-user-timeout");
- if (timeout < 0)
- timeout = 0;
- seat_set_autologin_user (SEAT (seat), username, timeout);
+ seat->priv->autologin_timeout = config_get_integer (config_get_instance (), "Defaults", "autologin-user-timeout");
+ if (seat->priv->autologin_timeout < 0)
+ seat->priv->autologin_timeout = 0;
}
void
seat->priv->can_switch = can_switch;
}
-void
-seat_set_autologin_user (Seat *seat, const gchar *username, guint timeout)
-{
- g_return_if_fail (seat != NULL);
-
- g_free (seat->priv->autologin_username);
- seat->priv->autologin_username = g_strdup (username);
- seat->priv->autologin_timeout = timeout;
- seat->priv->autologin_guest = FALSE;
-}
-
-void
-seat_set_autologin_guest (Seat *seat, guint timeout)
-{
- g_return_if_fail (seat != NULL);
-
- g_free (seat->priv->autologin_username);
- seat->priv->autologin_username = NULL;
- seat->priv->autologin_timeout = timeout;
- seat->priv->autologin_guest = TRUE;
-}
-
gboolean
seat_start (Seat *seat)
{
--- /dev/null
+#
+# Check automatically logs in default user
+#
+
+RUNNER DAEMON-START
+
+# X server starts
+XSERVER :50 START
+XSERVER :50 INDICATE-READY
+XSERVER :50 ACCEPT-CONNECT
+
+# Default session starts
+SESSION START USER=guest
+XSERVER :50 ACCEPT-CONNECT
+SESSION CONNECT-XSERVER
+
+# Cleanup
+*STOP-DAEMON
+# Don't know what order they will terminate
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+(SESSION TERMINATE SIGNAL=15|XSERVER :50 TERMINATE SIGNAL=15)
+RUNNER DAEMON-EXIT STATUS=0