1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
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_provide_secret (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);
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::quit ##### -->
95 @ldmgreeter: the object which received the signal.
97 <!-- ##### SIGNAL LdmGreeter::show-error ##### -->
102 @ldmgreeter: the object which received the signal.
105 <!-- ##### SIGNAL LdmGreeter::show-message ##### -->
110 @ldmgreeter: the object which received the signal.
113 <!-- ##### SIGNAL LdmGreeter::show-prompt ##### -->
118 @ldmgreeter: the object which received the signal.
121 <!-- ##### SIGNAL LdmGreeter::timed-login ##### -->
126 @ldmgreeter: the object which received the signal.
129 <!-- ##### ARG LdmGreeter:can-hibernate ##### -->
134 <!-- ##### ARG LdmGreeter:can-restart ##### -->
139 <!-- ##### ARG LdmGreeter:can-shutdown ##### -->
144 <!-- ##### ARG LdmGreeter:can-suspend ##### -->
149 <!-- ##### ARG LdmGreeter:is-authenticated ##### -->
154 <!-- ##### ARG LdmGreeter:layout ##### -->
159 <!-- ##### ARG LdmGreeter:login-delay ##### -->
164 <!-- ##### ARG LdmGreeter:num-users ##### -->
169 <!-- ##### ARG LdmGreeter:session ##### -->
174 <!-- ##### ARG LdmGreeter:timed-login-user ##### -->
179 <!-- ##### FUNCTION ldm_greeter_new ##### -->
188 <!-- ##### FUNCTION ldm_greeter_connect ##### -->
197 <!-- ##### FUNCTION ldm_greeter_get_num_users ##### -->
206 <!-- ##### FUNCTION ldm_greeter_get_users ##### -->
215 <!-- ##### FUNCTION ldm_greeter_get_languages ##### -->
224 <!-- ##### FUNCTION ldm_greeter_get_layout ##### -->
233 <!-- ##### FUNCTION ldm_greeter_get_layouts ##### -->
242 <!-- ##### FUNCTION ldm_greeter_set_layout ##### -->
251 <!-- ##### FUNCTION ldm_greeter_get_sessions ##### -->
260 <!-- ##### FUNCTION ldm_greeter_get_session ##### -->
269 <!-- ##### FUNCTION ldm_greeter_set_session ##### -->
278 <!-- ##### FUNCTION ldm_greeter_get_timed_login_user ##### -->
287 <!-- ##### FUNCTION ldm_greeter_get_timed_login_delay ##### -->
296 <!-- ##### FUNCTION ldm_greeter_cancel_timed_login ##### -->
304 <!-- ##### FUNCTION ldm_greeter_start_authentication ##### -->
313 <!-- ##### FUNCTION ldm_greeter_provide_secret ##### -->
322 <!-- ##### FUNCTION ldm_greeter_cancel_authentication ##### -->
330 <!-- ##### FUNCTION ldm_greeter_get_is_authenticated ##### -->
339 <!-- ##### FUNCTION ldm_greeter_login ##### -->
347 <!-- ##### FUNCTION ldm_greeter_get_can_suspend ##### -->
356 <!-- ##### FUNCTION ldm_greeter_suspend ##### -->
364 <!-- ##### FUNCTION ldm_greeter_get_can_hibernate ##### -->
373 <!-- ##### FUNCTION ldm_greeter_hibernate ##### -->
381 <!-- ##### FUNCTION ldm_greeter_get_can_restart ##### -->
390 <!-- ##### FUNCTION ldm_greeter_restart ##### -->
398 <!-- ##### FUNCTION ldm_greeter_get_can_shutdown ##### -->
407 <!-- ##### FUNCTION ldm_greeter_shutdown ##### -->