1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 Manages connection to LightDM server and provides greeter functionality
7 <!-- ##### SECTION Long_Description ##### -->
9 #LdmGreeter is an object that manages the connection to the LightDM server and provides common greeter functionality.
12 To connect to the display manager instanciate a #LdmGreeter object from inside the greeter process:
14 <title>Connecting to the display manager</title>
15 <programlisting><![CDATA[
16 LdmGreeter *greeter = ldm_greeter_new ();
17 if (!ldm_greeter_connect (LDM_GREETER (greeter))) {
23 Information on how to connect to the display manager is passed using environment variables.
26 Once connected, start an authentication conversation like this:
28 <title>Example Authorization Conversation</title>
29 <programlisting><![CDATA[
30 static void show_prompt_cb (LdmGreeter *greeter, const char *text)
32 // Show the user the message and prompt for some response
33 gchar *secret = prompt_user (text);
35 // Give the result to the user
36 ldm_greeter_respond (greeter, secret);
39 static void authentication_complete_cb (LdmGreeter *greeter)
41 if (ldm_greeter_get_is_authenticated (greeter)) {
42 // Log in to this session.
43 ldm_greeter_login (greeter, ldm_greeter_get_authentication_user (greeter), ldm_greeter_get_default_session (greeter));
46 // Display a warning and reset the greeter
47 reset_login_screen ();
51 static void quit_cb (LdmGreeter *greeter)
59 g_object_connect (G_OBJECT (greeter), "show-prompt", G_CALLBACK (show_prompt_cb), NULL);
60 g_object_connect (G_OBJECT (greeter), "authentication-complete", G_CALLBACK (authentication_complete_cb), NULL);
61 g_object_connect (G_OBJECT (greeter), "quit", G_CALLBACK (quit_cb), NULL);
66 <!-- ##### SECTION See_Also ##### -->
71 <!-- ##### SECTION Stability_Level ##### -->
74 <!-- ##### SECTION Image ##### -->
77 <!-- ##### STRUCT LdmGreeter ##### -->
83 <!-- ##### SIGNAL LdmGreeter::authentication-complete ##### -->
88 @ldmgreeter: the object which received the signal.
90 <!-- ##### SIGNAL LdmGreeter::autologin-timer-expired ##### -->
95 @ldmgreeter: the object which received the signal.
97 <!-- ##### SIGNAL LdmGreeter::connected ##### -->
102 @ldmgreeter: the object which received the signal.
104 <!-- ##### SIGNAL LdmGreeter::quit ##### -->
109 @ldmgreeter: the object which received the signal.
111 <!-- ##### SIGNAL LdmGreeter::session-failed ##### -->
116 @ldmgreeter: the object which received the signal.
118 <!-- ##### SIGNAL LdmGreeter::show-message ##### -->
123 @ldmgreeter: the object which received the signal.
127 <!-- ##### SIGNAL LdmGreeter::show-prompt ##### -->
132 @ldmgreeter: the object which received the signal.
136 <!-- ##### SIGNAL LdmGreeter::user-added ##### -->
141 @ldmgreeter: the object which received the signal.
144 <!-- ##### SIGNAL LdmGreeter::user-changed ##### -->
149 @ldmgreeter: the object which received the signal.
152 <!-- ##### SIGNAL LdmGreeter::user-removed ##### -->
157 @ldmgreeter: the object which received the signal.
160 <!-- ##### ARG LdmGreeter:authentication-user ##### -->
165 <!-- ##### ARG LdmGreeter:autologin-guest-hint ##### -->
170 <!-- ##### ARG LdmGreeter:autologin-timeout-hint ##### -->
175 <!-- ##### ARG LdmGreeter:autologin-user-hint ##### -->
180 <!-- ##### ARG LdmGreeter:can-hibernate ##### -->
185 <!-- ##### ARG LdmGreeter:can-restart ##### -->
190 <!-- ##### ARG LdmGreeter:can-shutdown ##### -->
195 <!-- ##### ARG LdmGreeter:can-suspend ##### -->
200 <!-- ##### ARG LdmGreeter:default-session-hint ##### -->
205 <!-- ##### ARG LdmGreeter:has-guest-account-hint ##### -->
210 <!-- ##### ARG LdmGreeter:hide-users-hint ##### -->
215 <!-- ##### ARG LdmGreeter:hostname ##### -->
220 <!-- ##### ARG LdmGreeter:in-authentication ##### -->
225 <!-- ##### ARG LdmGreeter:is-authenticated ##### -->
230 <!-- ##### ARG LdmGreeter:layout ##### -->
235 <!-- ##### ARG LdmGreeter:num-users ##### -->
240 <!-- ##### ARG LdmGreeter:select-guest-hint ##### -->
245 <!-- ##### ARG LdmGreeter:select-user-hint ##### -->
250 <!-- ##### FUNCTION ldm_greeter_new ##### -->
259 <!-- ##### FUNCTION ldm_greeter_connect_to_server ##### -->
268 <!-- ##### FUNCTION ldm_greeter_get_hostname ##### -->
277 <!-- ##### FUNCTION ldm_greeter_get_num_users ##### -->
286 <!-- ##### FUNCTION ldm_greeter_get_users ##### -->
295 <!-- ##### FUNCTION ldm_greeter_get_user_by_name ##### -->
305 <!-- ##### FUNCTION ldm_greeter_get_default_language ##### -->
314 <!-- ##### FUNCTION ldm_greeter_get_languages ##### -->
323 <!-- ##### FUNCTION ldm_greeter_get_layouts ##### -->
332 <!-- ##### FUNCTION ldm_greeter_get_layout ##### -->
341 <!-- ##### FUNCTION ldm_greeter_set_layout ##### -->
350 <!-- ##### FUNCTION ldm_greeter_get_sessions ##### -->
359 <!-- ##### FUNCTION ldm_greeter_get_default_session_hint ##### -->
368 <!-- ##### FUNCTION ldm_greeter_get_hint ##### -->
378 <!-- ##### FUNCTION ldm_greeter_get_has_guest_account_hint ##### -->
387 <!-- ##### FUNCTION ldm_greeter_get_hide_users_hint ##### -->
396 <!-- ##### FUNCTION ldm_greeter_get_select_user_hint ##### -->
405 <!-- ##### FUNCTION ldm_greeter_get_select_guest_hint ##### -->
414 <!-- ##### FUNCTION ldm_greeter_get_autologin_user_hint ##### -->
423 <!-- ##### FUNCTION ldm_greeter_get_autologin_guest_hint ##### -->
432 <!-- ##### FUNCTION ldm_greeter_get_autologin_timeout_hint ##### -->
441 <!-- ##### FUNCTION ldm_greeter_cancel_timed_login ##### -->
449 <!-- ##### FUNCTION ldm_greeter_login ##### -->
458 <!-- ##### FUNCTION ldm_greeter_login_with_user_prompt ##### -->
466 <!-- ##### FUNCTION ldm_greeter_login_as_guest ##### -->
474 <!-- ##### FUNCTION ldm_greeter_respond ##### -->
483 <!-- ##### FUNCTION ldm_greeter_cancel_authentication ##### -->
491 <!-- ##### FUNCTION ldm_greeter_get_in_authentication ##### -->
500 <!-- ##### FUNCTION ldm_greeter_get_is_authenticated ##### -->
509 <!-- ##### FUNCTION ldm_greeter_get_authentication_user ##### -->
518 <!-- ##### FUNCTION ldm_greeter_start_session ##### -->
527 <!-- ##### FUNCTION ldm_greeter_start_default_session ##### -->
535 <!-- ##### FUNCTION ldm_greeter_get_can_suspend ##### -->
544 <!-- ##### FUNCTION ldm_greeter_suspend ##### -->
552 <!-- ##### FUNCTION ldm_greeter_get_can_hibernate ##### -->
561 <!-- ##### FUNCTION ldm_greeter_hibernate ##### -->
569 <!-- ##### FUNCTION ldm_greeter_get_can_restart ##### -->
578 <!-- ##### FUNCTION ldm_greeter_restart ##### -->
586 <!-- ##### FUNCTION ldm_greeter_get_can_shutdown ##### -->
595 <!-- ##### FUNCTION ldm_greeter_shutdown ##### -->