diff options
Diffstat (limited to 'daemon/gdm-session.c')
-rw-r--r-- | daemon/gdm-session.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index 2a4c7bd4..feb79385 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -50,6 +50,7 @@ enum { SESSION_DIED, SELECTED_USER_CHANGED, DEFAULT_LANGUAGE_NAME_CHANGED, + DEFAULT_LAYOUT_NAME_CHANGED, DEFAULT_SESSION_NAME_CHANGED, LAST_SIGNAL }; @@ -164,6 +165,15 @@ gdm_session_select_language (GdmSession *session, } void +gdm_session_select_layout (GdmSession *session, + const char *text) +{ + g_return_if_fail (GDM_IS_SESSION (session)); + + GDM_SESSION_GET_IFACE (session)->select_layout (session, text); +} + +void gdm_session_select_user (GdmSession *session, const char *text) { @@ -429,6 +439,17 @@ gdm_session_class_init (gpointer g_iface) G_TYPE_NONE, 1, G_TYPE_STRING); + signals [DEFAULT_LAYOUT_NAME_CHANGED] = + g_signal_new ("default-layout-name-changed", + iface_type, + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GdmSessionIface, default_layout_name_changed), + NULL, + NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, + 1, + G_TYPE_STRING); signals [DEFAULT_SESSION_NAME_CHANGED] = g_signal_new ("default-session-name-changed", iface_type, @@ -610,6 +631,15 @@ _gdm_session_default_language_name_changed (GdmSession *session, } void +_gdm_session_default_layout_name_changed (GdmSession *session, + const char *layout_name) +{ + g_return_if_fail (GDM_IS_SESSION (session)); + + g_signal_emit (session, signals [DEFAULT_LAYOUT_NAME_CHANGED], 0, layout_name); +} + +void _gdm_session_default_session_name_changed (GdmSession *session, const char *session_name) { |