summaryrefslogtreecommitdiff
path: root/daemon/gdm-simple-slave.c
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/gdm-simple-slave.c')
-rw-r--r--daemon/gdm-simple-slave.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
index a0650e36..42f4a1b0 100644
--- a/daemon/gdm-simple-slave.c
+++ b/daemon/gdm-simple-slave.c
@@ -485,6 +485,16 @@ on_default_language_name_changed (GdmSession *session,
}
static void
+on_default_layout_name_changed (GdmSession *session,
+ const char *text,
+ GdmSimpleSlave *slave)
+{
+ g_debug ("GdmSimpleSlave: Default layout name changed: %s", text);
+
+ gdm_greeter_server_default_layout_name_changed (slave->priv->greeter_server, text);
+}
+
+static void
on_default_session_name_changed (GdmSession *session,
const char *text,
GdmSimpleSlave *slave)
@@ -619,6 +629,11 @@ create_new_session (GdmSimpleSlave *slave)
slave);
g_signal_connect (slave->priv->session,
+ "default-layout-name-changed",
+ G_CALLBACK (on_default_layout_name_changed),
+ slave);
+
+ g_signal_connect (slave->priv->session,
"default-session-name-changed",
G_CALLBACK (on_default_session_name_changed),
slave);
@@ -713,6 +728,14 @@ on_greeter_language_selected (GdmGreeterServer *greeter_server,
}
static void
+on_greeter_layout_selected (GdmGreeterServer *greeter_server,
+ const char *text,
+ GdmSimpleSlave *slave)
+{
+ gdm_session_select_layout (GDM_SESSION (slave->priv->session), text);
+}
+
+static void
on_greeter_user_selected (GdmGreeterServer *greeter_server,
const char *text,
GdmSimpleSlave *slave)
@@ -847,6 +870,10 @@ run_greeter (GdmSimpleSlave *slave)
G_CALLBACK (on_greeter_language_selected),
slave);
g_signal_connect (slave->priv->greeter_server,
+ "layout-selected",
+ G_CALLBACK (on_greeter_layout_selected),
+ slave);
+ g_signal_connect (slave->priv->greeter_server,
"user-selected",
G_CALLBACK (on_greeter_user_selected),
slave);