31ebd85fe0
This commit establishes separate state machines for auth state (whether the password submitted is being verified or is wrong) and input state (typing indicators and clear message -- things relevant to the state of the password being typed in, before it is submitted.) This makes it possible to display the auth state while updating the input state (for example, show that the previously submitted password is 'verifying' or 'wrong' while typing another.) The two state machines interact only when submitting a password. There is some interference with the rendering code -- a 'cleared' message from the input state machine supersedes verifying/wrong messages from the auth state machine; although since the 'clear' state has a shorter timeout than the auth 'invalid' state, this is unlikely to hide the 'wrong' message. |
||
---|---|---|
completions | ||
include | ||
pam | ||
.build.yml | ||
.editorconfig | ||
.gitignore | ||
background-image.c | ||
cairo.c | ||
comm.c | ||
LICENSE | ||
log.c | ||
loop.c | ||
main.c | ||
meson_options.txt | ||
meson.build | ||
pam.c | ||
password-buffer.c | ||
password.c | ||
pool-buffer.c | ||
README.md | ||
render.c | ||
seat.c | ||
shadow.c | ||
swaylock.1.scd | ||
unicode.c |
swaylock
swaylock is a screen locking utility for Wayland compositors. It is compatible with any Wayland compositor which implements the ext-session-lock-v1 Wayland protocol.
See the man page, swaylock(1)
, for instructions on using swaylock.
Release Signatures
Releases are signed with E88F5E48 and published on GitHub. swaylock releases are managed independently of sway releases.
Installation
From Packages
Swaylock is available in many distributions. Try installing the "swaylock" package for yours.
Compiling from Source
Install dependencies:
- meson *
- wayland
- wayland-protocols *
- libxkbcommon
- cairo
- gdk-pixbuf2 **
- pam (optional)
- scdoc (optional: man pages) *
- git *
* Compile-time dep
** Optional: required for background images other than PNG
Run these commands:
meson build
ninja -C build
sudo ninja -C build install
On systems without PAM, you need to suid the swaylock binary:
sudo chmod a+s /usr/local/bin/swaylock
Swaylock will drop root permissions shortly after startup.