lightdm-webkit2-greeter(1)
π lightdm-webkit2-greeter β the manual page, but make it make sense
okay so real talk: this is a section of the General Commands Manual, and the page you're reading is lightdm-webkit2-greeter(1). yes bestie, the whole thing. let's get into it π«Ά
β¨ NAME β¨
lightdm-webkit2-greeter β she's the login screen, but make her aesthetic. no cap.
πΈ SYNOPSIS πΈ
LightDM greeter that uses webkit2 for theming via HTML/JavaScript.
like, that's literally the whole thing. she's a greeter, she uses webkit2, and your theme is HTML + JavaScript. iconic behavior honestly.
π¦ DESCRIPTION π¦
lightdm-webkit2-greeter is a LightDM greeter that uses webkit2 for theming. that means themes can be written using a combination of HTML and Javascript. so basically you're not stuck with some crusty default login box β you get to design the whole vibe. main character energy fr fr π
π THEME JAVASCRIPT API π
β οΈ heads up bestie β οΈ everything marked as "deprecated" is only there for backwards compatibility and will be removed in a future version of lightdm-webkit2-greeter. do not use deprecated properties or functions in new works, periodt. and if your existing theme uses them, update it so it keeps working β future-you will thank you π
π functions your theme MUST provide
these have to be provided by the greeter theme and be callable on the global window object. no skipping.
show_prompt(text, type)β gets called when LightDM needs to prompt the user for some reason, like asking for a password.textis the prompt text, andtypeis eithertextfor a visible prompt orpasswordfor a prompt where the input should be hidden. yes, hide the secret. πshow_message(text, type)β gets called when LightDM needs to display some info for the user.textis the message text, andtypeis eitherinfofor an information message orerrorfor an error message that LightDM hit. πauthentication_complete()β called by LightDM when authentication has completed. that's it. she's done.autologin_timer_expired()β called by LightDM when an autologin user's login timer has expired. the greeter should reset the authentication process. don't forget the reset, bestie π
β functions your greeter can call (to make LightDM do stuff)
lightdm.authenticate(username)β specifies the username of the user we'd like to start authenticating as. quick note: if you calllightdm.authenticatewith no argument, LightDM (via PAM) will issue ashow_prompt()call to ask for the username. also, the older functionlightdm.start_authentication()has been deprecated. π«Άlightdm.authenticate_as_guest()β authenticates as the guest user. easy.lightdm.cancel_authentication()β cancels the authentication of any user currently in the process of authenticating.lightdm.cancel_autologin()β cancels the authentication of the autologin user. the older functionlightdm.cancel_timed_login()has been deprecated.lightdm.get_hint(hint_name)β returns the value of a named hint provided by LightDM.lightdm.suspend()β suspends the system, if the greeter has the authority to do so. key words: if.lightdm.hibernate()β hibernates the system, if the greeter has the authority to do so.lightdm.start_session_sync(session)β once LightDM has successfully authenticated the user, start the user's session by calling this.sessionis the authenticated user's session. if no session is passed, start the authenticated user with the system default session. the older functionlightdm.login(user, session)has been deprecated.lightdm.respond(text)β when LightDM has prompted for input, provide the response to LightDM. the deprecated function wasprovide_secret. it's still available for backwards compatibility, but greeter authors should move to usinglightdm.respond(). π§lightdm.restart()β restarts the system, if the greeter has the authority to do so.lightdm.set_language(lang)β will set the language for the current LightDM session.lightdm.shutdown()β shuts down the system, if the greeter has the authority to do so.
π variables available inside the greeter
lightdm.authentication_userβ String. the username of the authentication user being authenticated, ornullif no authentication is in progress.lightdm.autologin_guestβ Boolean. indicates the guest user should be used for autologin.lightdm.autologin_timeoutβ Number. the number of seconds to wait before automatically logging in. the older variablelightdm.timed_user_delayhas been deprecated.lightdm.autologin_userβ String. the name of the user account that should be logged into automatically after the timed login delay has passed. the older variablelightdm.timed_login_userhas been deprecated.lightdm.can_hibernateβ Boolean. whether or not the system can be made to hibernate by the greeter.lightdm.can_restartβ Boolean. whether or not the system can be restarted by the greeter.lightdm.can_shutdownβ Boolean. whether or not the system can be shutdown by the greeter.lightdm.can_suspendβ Boolean. whether or not the system can be suspended by the greeter.lightdm.default_sessionβ String. the name of the default session (as configured inlightdm.conf).lightdm.has_guest_accountβ Boolean. a guest account is available for login.lightdm.hide_usersβ Boolean. the whole list of users should not be displayed.lightdm.hostnameβ String. the hostname of the system.lightdm.is_authenticatedβ Boolean. indicates if the user has successfully authenticated.lightdm.in_authenticationβ Boolean. indicates if lightdm is currently in the authentication phase.lightdm.languageβ String. the currently selected language. the older variable namelightdm.default_languageis deprecated.lightdm.layoutβ String. the name of the currently active keyboard layout. to change the layout, assign a valid layout name to this variable. the older variable namelightdm.default_layoutis deprecated.lightdm.layoutsβ Array. the keyboard layouts that are available on the system. returns an Array ofLightDMLayoutobjects.lightdm.num_usersβ Number. the number of users able to log in.lightdm.select_guestβ Boolean. the guest user should be selected by default for login.lightdm.select_userβ String. the username that should be selected by default for login.lightdm.sessionsβ Array. the sessions that are available on the system. returns an Array ofLightDMSessionobjects.lightdm.usersβ Array. the users that are able to log in. returns an Array ofLightDMUserobjects.
π config object β reading stuff out of the config file
the following calls can be made to read configuration keys out of the lightdm-webkit2-greeter configuration file. yup, that file. π
config.get_str(section, key)β returns the string value associated withkeyundersectionin the configuration file.config.get_num(section, key)β returns the numeric value associated withkeyundersectionin the configuration file.config.get_bool(section, key)β returns the boolean value associated withkeyundersectionin the configuration file.
π§ greeterutil β little helpers that make your life easier
the greeterutil object has some utility functions associated with it which are intended to make a theme author's work easier. obsessed. π
greeterutil.dirlist(path)β returns an array of strings of filenames present atpath, orNullif the path does not exist.greeterutil.txt2html(txt)β returns a simple HTML conversion of the passed text. newlines are replaced with<br>, and the characters&,<,>and"are replaced with their HTML equivalents. escaping queen π
one more thing! please see the LightDM API documentation for the complete list of calls available. lightdm-webkit2-greeter implements all of the LightDM API. all of it. no crumbs.
π CONFIGURATION π
/etc/lightdm/lightdm-webkit2-greeter.confβ a Keyfile that contains one key:webkit-theme. this should point to which theme the greeter should use. that's the whole config. one (1) key. she's low maintenance π
β FILES β
/usr/share/lightdm-webkit/themesβ directory where themes should be stored. put 'em here bestie.
π₯ EXAMPLES π₯
please see the antergos and simple themes that are shipped with lightdm-webkit2-greeter. they're right there, go look π
π¦ SEE ALSO π¦
http://people.ubuntu.com/~robert-ancell/lightdm/reference/core.html β the link, in all its unclickable terminal glory β¨
π AUTHOR π
the legacy lightdm-webkit-greeter was written by Robert Ancell <robert.ancell@canonical.com>. it was ported to webkit2 by the Antergos Developers <dev@antergos.com>. also includes code improvements contributed by Scott Balneaves <sbalneav@ltsp.org>. give them their flowers π
and that's the whole page, bestie π«Ά this was lightdm-webkit2-greeter(1) from the General Commands Manual, version/date 2016.01.10 β yes she's a little vintage, she's still slaying. mwah π
π¦ where this page comes from
- arch rolling: lightdm-webkit2-greeter 2.2.5-9 Β· GPL3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms