12 changed files with 875 additions and 252 deletions
			
			
		@ -1,3 +1,6 @@
					 | 
				
			||||
[submodule "themes/antergos"] | 
				
			||||
	path = themes/antergos | 
				
			||||
	url = http://github.com/antergos/lightdm-webkit-theme-antergos.git | 
				
			||||
[submodule "themes/lightdm-webkit-theme-antergos"] | 
				
			||||
	path = themes/lightdm-webkit-theme-antergos | 
				
			||||
	url = http://github.com/antergos/lightdm-webkit-theme-antergos.git | 
				
			||||
					 | 
				
			||||
@ -0,0 +1,267 @@
					 | 
				
			||||
.TH "LIGHTDM" "1" "2015/11/14" | 
				
			||||
.nh | 
				
			||||
.ad l | 
				
			||||
.SH "NAME" | 
				
			||||
lightdm-webkit2-greeter \- Themeable greeter for LightDM which uses webkit2\&. | 
				
			||||
.SH "SYNOPSIS" | 
				
			||||
.HP \w'\fBlightdm-webkit2-greeter\fR\ 'u | 
				
			||||
\fBlightdm-webkit2-greeter\fR | 
				
			||||
.SH "DESCRIPTION" | 
				
			||||
.PP | 
				
			||||
lightdm-webkit2-greeter is a LightDM greeter that uses webkit2 as the theming | 
				
			||||
engine\&.  Greeters can be written in a combination of HTML and Javascript\&. | 
				
			||||
.PP | 
				
			||||
.SH "API" | 
				
			||||
Please note that all functions or variables marked "deprecated" are still | 
				
			||||
available for backwards compatibility, but may disappear in a future version of | 
				
			||||
lightdm-webkit2-greeter\&.  Authors of themes should use the new functions and | 
				
			||||
variables, which more closely match the LightDM API\&. | 
				
			||||
.PP | 
				
			||||
The following functions \fBmust\fR be provided by the custom greeter, which LightDM | 
				
			||||
will call in the process of authenticating the user\&. | 
				
			||||
.PP | 
				
			||||
\fBshow_prompt(text, type)\fR | 
				
			||||
.RS 4 | 
				
			||||
This will be called when LightDM needs to prompt the user for some reason, such | 
				
			||||
as asking for a password\&.  The "text" parameter will be the text of the | 
				
			||||
prompt, and the "type" parameter will either be "text" for a visible prompt, or | 
				
			||||
"password" for a prompt that the input should be hidden\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBshow_message(text, type)\fR | 
				
			||||
.RS 4 | 
				
			||||
This will be called when LightDM needs to display some info for the user\&. | 
				
			||||
The "text" parameter will be the text of the | 
				
			||||
message, and the "type" parameter will either be "info" for an information | 
				
			||||
message, or "error" for an error message that LightDM has encountered\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBauthentication_complete()\fR | 
				
			||||
.RS 4 | 
				
			||||
This function is called by LightDM when authentication has completed\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBautologin_timer_expired()\fR | 
				
			||||
.RS 4 | 
				
			||||
This function is called by LightDM when an autologin user's login timer has | 
				
			||||
expired\&.  The greeter should reset the authentication process\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
The following functions are available for the greeter to call to execute | 
				
			||||
actions within LightDM\&. | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.authenticate(name)\fR | 
				
			||||
.RS 4 | 
				
			||||
Specifies the name of the user we'd like to start authenticating as\&.  Note that | 
				
			||||
if you pass an empty string (""), LightDM (via PAM) will issue a show_prompt() | 
				
			||||
call to ask for the username\&. The older function | 
				
			||||
lightdm\&.start_authentication() has been deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.authenticate_as_guest()\fR | 
				
			||||
.RS 4 | 
				
			||||
Authenticates as the guest user\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.cancel_authentication()\fR | 
				
			||||
.RS 4 | 
				
			||||
Cancels the authentication of any user currently in the process of | 
				
			||||
authenticating\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.cancel_autologin()\fR | 
				
			||||
.RS 4 | 
				
			||||
Cancels the authentication of the autologin user\&.  The older function | 
				
			||||
lightdm\&.cancel_timed_login() has been deprecated. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.get_hint(hint_name)\fR | 
				
			||||
.RS 4 | 
				
			||||
Returns the value of a named hint provided by LightDM\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.hibernate()\fR | 
				
			||||
.RS 4 | 
				
			||||
Hibernates the system, if the greeter has the authority to do so\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.start_session_sync(user, session)\fR | 
				
			||||
.RS 4 | 
				
			||||
Once LightDM has successfully authenticated the user, start the user's session | 
				
			||||
by calling this function\&.  "user" is the authenticated user, and "session" is | 
				
			||||
the user's session\&. The older function lightdm\&.login() has been | 
				
			||||
deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.respond(text)\fR | 
				
			||||
.RS 4 | 
				
			||||
When LightDM has prompted for input, provide the response to LightDM\&. | 
				
			||||
The deprecated function was "provide_secret"\&.  This is still available for | 
				
			||||
backwards compatibility, but authors of greeters should move to using | 
				
			||||
lightdm.respond()\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.restart()\fR | 
				
			||||
.RS 4 | 
				
			||||
Restarts the system, if the greeter has the authority to do so\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.set_language(lang)\fR | 
				
			||||
.RS 4 | 
				
			||||
Will set the language for the current LightDM session\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.shutdown()\fR | 
				
			||||
.RS 4 | 
				
			||||
Shuts down the system, if the greeter has the authority to do so\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
Variables available within the greeter are: | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.authentication_user\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The username of the authentication user being authenticated or null if no | 
				
			||||
authentication is in progress\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.autologin_guest\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Indicates the guest user should be used for autologin\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.autologin_timeout\fR | 
				
			||||
.RS 4 | 
				
			||||
Number\&. The number of seconds to wait before automatically logging in\&. The | 
				
			||||
older variable lightdm\&.timed_user_delay has been deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.autologin_user\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The name of the user account that should be logged into | 
				
			||||
automatically after timed login delay has passed\&. The older variable | 
				
			||||
lightdm\&.timed_login_user has been deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.can_hibernate\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Whether or not the system can be made to hibernate by the greeter\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.can_restart\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Whether or not the system can be restarted by the greeter\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.can_shutdown\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Whether or not the system can be shutdown by the greeter\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.can_suspend\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Whether or not the system can be suspended by the greeter\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.default_session\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The name of the default session (as configured in lightdm.conf)\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.has_guest_account\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. A guest account is available for login\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.hide_users\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. The whole list of users should not be displayed\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.hostname\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The hostname of the system\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.is_authenticated\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Indicates if the user has successfully authenticated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.in_authentication\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. Indicates if lightdm is currently in the authentication phase\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.language\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The currently selected language\&. The older variable name | 
				
			||||
lightdm\&.default_language is deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.layout\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The name of the currently active keyboard layout\&. To change the | 
				
			||||
layout, assign a valid layout name to this variable\&. The older variable name | 
				
			||||
lightdm\&.default_layout is deprecated\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.layouts\fR | 
				
			||||
.RS 4 | 
				
			||||
Array\&. The keyboard layouts that are available on the system\&. Returns an Array | 
				
			||||
of LightDMLayout objects\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.num_users\fR | 
				
			||||
.RS 4 | 
				
			||||
Number\&. The number of users able to log in\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.select_guest\fR | 
				
			||||
.RS 4 | 
				
			||||
Boolean\&. The guest user should be selected by default for login\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.select_user\fR | 
				
			||||
.RS 4 | 
				
			||||
String\&. The username that should be selected by default for login\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.sessions\fR | 
				
			||||
.RS 4 | 
				
			||||
Array\&. The sessions that are available on the system\&. Returns an Array of | 
				
			||||
LightDMSession objects\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
\fBlightdm\&.users\fR | 
				
			||||
.RS 4 | 
				
			||||
Array\&. The users that are able to log in\&. Returns an Array of LightDMUser | 
				
			||||
objects\&. | 
				
			||||
.RE | 
				
			||||
.PP | 
				
			||||
Please see the LightDM API documentation for the complete list of calls | 
				
			||||
available\&.  The lightdm-webkit2-greeter implements all of the LightDM API\&. | 
				
			||||
.PP | 
				
			||||
.SH "CONFIGURATION" | 
				
			||||
.PP | 
				
			||||
\fB/etc/lightdm/lightdm-webkit2-greeter\&.conf\fR | 
				
			||||
.RS 4 | 
				
			||||
Keyfile that contains one key: webkit-theme\&.  This should point to which | 
				
			||||
theme the greeter should use\&. | 
				
			||||
.RE | 
				
			||||
.SH "FILES" | 
				
			||||
.PP | 
				
			||||
\fB/usr/share/lightdm-webkit-themes\fR | 
				
			||||
.RS 4 | 
				
			||||
Directory where themes should be stored\&. | 
				
			||||
.RE | 
				
			||||
.SH "EXAMPLES" | 
				
			||||
.PP | 
				
			||||
Please see the "antergos" and "simple" themes that are shipped with | 
				
			||||
lightdm-webkit2-greeter\&. | 
				
			||||
.SH "SEE ALSO" | 
				
			||||
.PP | 
				
			||||
http://people\&.ubuntu\&.com/~robert-ancell/lightdm/reference/core\&.html | 
				
			||||
.SH "AUTHOR" | 
				
			||||
.PP | 
				
			||||
lightdm-webkit-greeter was written by Robert Ancell <robert\&.ancell\&@canonical\&.com\&>\&. | 
				
			||||
lightdm-webkit2-greeter was ported to webkit2 by the Antergos Developers <dev@antergos\&.com> | 
				
			||||
									
										
											File diff suppressed because it is too large
											Load Diff
										
									
								
							
						@ -1,4 +1,4 @@
					 | 
				
			||||
SUBDIRS = antergos
 | 
				
			||||
SUBDIRS = antergos simple
 | 
				
			||||
 | 
				
			||||
DISTCLEANFILES = \
 | 
				
			||||
	Makefile.in
 | 
				
			||||
					 | 
				
			||||
@ -0,0 +1,9 @@
					 | 
				
			||||
themedir = $(THEME_DIR)/simple
 | 
				
			||||
theme_DATA = index.html index.theme power_button.png
 | 
				
			||||
 | 
				
			||||
EXTRA_DIST = $(theme_DATA)
 | 
				
			||||
 | 
				
			||||
DISTCLEANFILES = \
 | 
				
			||||
	Makefile.in
 | 
				
			||||
 | 
				
			||||
 | 
				
			||||
@ -0,0 +1,165 @@
					 | 
				
			||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"> | 
				
			||||
<html> | 
				
			||||
  <head> | 
				
			||||
    <style type="text/css"> | 
				
			||||
      td | 
				
			||||
      { | 
				
			||||
        font-size: 24px; | 
				
			||||
        vertical-align: middle; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      input | 
				
			||||
      { | 
				
			||||
        font-size: 24px; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      html | 
				
			||||
      { | 
				
			||||
        height: 100%; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      body | 
				
			||||
      { | 
				
			||||
        background: linear-gradient(white, SlateGray); | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      .topBox | 
				
			||||
      { | 
				
			||||
        height: 490px; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      .inputBox | 
				
			||||
      { | 
				
			||||
        width: 100%; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      .messageBox | 
				
			||||
      { | 
				
			||||
        font-size: 24px; | 
				
			||||
        width: 60%; | 
				
			||||
        margin-left: auto; | 
				
			||||
        margin-right: auto; | 
				
			||||
        display: block; | 
				
			||||
        text-align: center; | 
				
			||||
        visibility: hidden; | 
				
			||||
      } | 
				
			||||
    </style> | 
				
			||||
 | 
				
			||||
    <script type="text/javascript"> | 
				
			||||
 | 
				
			||||
      /*********************************************************************/ | 
				
			||||
      /*                Callbacks for lightdm-webkit-greeter               */ | 
				
			||||
      /*********************************************************************/ | 
				
			||||
 | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * show_prompt callback. | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function show_prompt(text, type) | 
				
			||||
      { | 
				
			||||
        // type is either "text" or "password" | 
				
			||||
        prompt = document.getElementById("prompt"); | 
				
			||||
        prompt.innerHTML = text; | 
				
			||||
        entry = document.getElementById("entry"); | 
				
			||||
        entry.value = "";    // clear entry | 
				
			||||
        entry.type = type; | 
				
			||||
        entry.focus(); | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * show_message callback. | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function show_message(text, type) | 
				
			||||
      { | 
				
			||||
        if (text.length == 0) | 
				
			||||
          return; | 
				
			||||
        messages = document.getElementById("messages"); | 
				
			||||
        messages.style.visibility = "visible"; | 
				
			||||
        // type is either "info" or "error" | 
				
			||||
        if (type == "error") { | 
				
			||||
          text = "<font color=\"red\">" + text + "</font>"; | 
				
			||||
        } | 
				
			||||
        text = text + "<br>"; | 
				
			||||
        messages.innerHTML = messages.innerHTML + text; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * authentication_complete callback. | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function authentication_complete() | 
				
			||||
      { | 
				
			||||
        if (lightdm.is_authenticated) { | 
				
			||||
          lightdm.start_session_sync (lightdm.authentication_user, lightdm.default_session); | 
				
			||||
        } else { | 
				
			||||
          show_message ("Authentication Failed", "error"); | 
				
			||||
          setTimeout (start_authentication, 3000); | 
				
			||||
        } | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * autologin_timer_expired callback. | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function autologin_timer_expired(username) | 
				
			||||
      { | 
				
			||||
        /* Stub.  Does nothing. */ | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /*********************************************************************/ | 
				
			||||
      /*                Functions local to this greeter                    */ | 
				
			||||
      /*********************************************************************/ | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * clear_messages | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function clear_messages() | 
				
			||||
      { | 
				
			||||
        messages = document.getElementById("messages"); | 
				
			||||
        messages.innerHTML = ""; | 
				
			||||
        messages.style.visibility = "hidden"; | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * Kickoff the authentication process | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function start_authentication() | 
				
			||||
      { | 
				
			||||
        clear_messages(); | 
				
			||||
        lightdm.authenticate("");   // start with null userid, have pam prompt for userid. | 
				
			||||
      } | 
				
			||||
 | 
				
			||||
      /* | 
				
			||||
       * handle the input from the entry field. | 
				
			||||
       */ | 
				
			||||
 | 
				
			||||
      function handle_input() | 
				
			||||
      { | 
				
			||||
        entry = document.getElementById("entry"); | 
				
			||||
        lightdm.respond(entry.value); | 
				
			||||
      } | 
				
			||||
    </script> | 
				
			||||
  </head> | 
				
			||||
 | 
				
			||||
  <body> | 
				
			||||
    <img style="float: right;" onclick="javascript:lightdm.shutdown();" src="power_button.png" /> | 
				
			||||
    <div class="topBox"></div> | 
				
			||||
    <div class="inputBox"> | 
				
			||||
      <table id="input_table" width="100%"> | 
				
			||||
        <tr> | 
				
			||||
          <td id="prompt" width="45%" align="right"></td> | 
				
			||||
          <td width="55%"><form action="javascript: handle_input()"><input id="entry"></form></td> | 
				
			||||
        </tr> | 
				
			||||
      </table> | 
				
			||||
    </div> | 
				
			||||
    <div class="messageBox" id="messages"></div> | 
				
			||||
 | 
				
			||||
    <script type="text/javascript"> | 
				
			||||
      start_authentication(); | 
				
			||||
    </script> | 
				
			||||
  </body> | 
				
			||||
</html> | 
				
			||||
@ -0,0 +1,6 @@
					 | 
				
			||||
[theme] | 
				
			||||
name=Simple | 
				
			||||
description=Simple Theme | 
				
			||||
engine=lightdm-webkit-greeter | 
				
			||||
url=index.html | 
				
			||||
session=gnome | 
				
			||||
| 
		 After Width: | Height: | Size: 1.3 KiB  | 
					Loading…
					
					
				
		Reference in new issue