#define LIGHTDM_BUS_NAME "org.freedesktop.DisplayManager"
+static gboolean update_login1_seat (Login1Seat *login1_seat);
+
static void
log_cb (const gchar *log_domain, GLogLevelFlags log_level, const gchar *message, gpointer data)
{
seat_stop (seat);
}
-static gboolean update_login1_seat (Login1Seat *login1_seat);
-
static void
seat_stopped_cb (Seat *seat, Login1Seat *login1_seat)
{
static void
login1_service_seat_added_cb (Login1Service *service, Login1Seat *login1_seat)
{
+ if (login1_seat_get_can_graphical (login1_seat))
+ g_debug ("Seat %s added from logind", login1_seat_get_id (login1_seat));
+ else
+ g_debug ("Seat %s added from logind without graphical output", login1_seat_get_id (login1_seat));
+
g_signal_connect (login1_seat, "can-graphical-changed", G_CALLBACK (login1_can_graphical_changed_cb), NULL);
- login1_can_graphical_changed_cb (login1_seat);
+ update_login1_seat (login1_seat);
}
static void
login1_service_seat_removed_cb (Login1Service *service, Login1Seat *login1_seat)
{
+ g_debug ("Seat %s removed from logind", login1_seat_get_id (login1_seat));
g_signal_handlers_disconnect_matched (login1_seat, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, login1_can_graphical_changed_cb, NULL);
-
- g_debug ("Seat removed from logind: %s", login1_seat_get_id (login1_seat));
remove_login1_seat (login1_seat);
}