A LightDM Mock that is tightly based on the source C code of Antergos' lightdm-webkit2-greeter. Please note that the deprecation errors are intrusive for a reason.
[1]. Clone the repo
git clone [email protected]:CytoDev/LightDMMock.git
[2]. Include the file in your theme that needs mocking
<script type="text/javascript" src="mock/LightDMMock.js"></script>
[3]. Create a new instance of LightDMMock
if(!("lightdm" in window)) {
var LightDMMock = LightDMMock || {};
window.lightdm = new LightDMMock(autofill, timeout, autoGuest);
}
If you plan on using the .face
files in the mock you have to include the path to LightDMMock/src
. The .face
files linked in users.json
are absolute links to /home/[username]/.face
.
boolean
Wether or not the arrays for users, languages, layouts, and sessions need to be filled with mock data. I advise to test both to make your theme less prone to crashing.
number
Value to use for simulated autologin (this value is in seconds).
boolean
Wether or not to simulate automatic guest login. This will also enable a guest account inlightdm.has_guest_account
.
The following functions must be provided by the custom greeter, which LightDM will call in the process of authenticating the user. This can be found in the original documentation (man pages) of the webkit-greeter, but I have posted them here for your convenience.
show_prompt(text, type)
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.
show_message(text, type)
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.
authentication_complete()
This function is called by LightDM when authentication has completed.
autologin_timer_expired()
This function is called by LightDM when an autologin user's login timer has expired. The greeter should reset the authentication process.
This project is licensed under the MIT License. You can find a copy of the license here.
You are more than welcome to submit issues as well as feature requests or just a 'how-ya-doin' in the issue tracker. Contributing to the project can be done by forking it and submitting a pull request once it's all tested and tidy.