1d3e62c67f
The wl_buffers for the background surface only need to be updated when the output dimensions change. Using the fixed pool of two buffers to cache these buffers does not help, since if a new buffer is needed, it will have a different size than whatever buffers were cached. Furthermore, because the pool has fixed size, it is possible to run out of buffers if configure events arrive faster than pool buffers are marked not busy, which can lead to protocol errors when the background surface is committed after acknowledging a new size, but without attaching a buffer that matches that size. |
||
---|---|---|
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.