mirror of
https://github.com/hyprwm/hyprlock.git
synced 2026-11-04 03:16:06 +00:00
Hyprland's GPU-accelerated screen locking utility
- C++ 97.4%
- CMake 1.5%
- Nix 1.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
Starting CAuth and spawning the PAM/fingerprint auth threads before acquiring the session lock causes secondary hyprlock instances (or instances launched while another lockscreen is active) to hang on exit joining PAM threads or holding resources. By deferring g_pAuth->start() until acquireSessionLock() succeeds, a rejected instance exits immediately without stranding background threads or pinning GPU/system memory. Also send destroy on lock object when finished is received before locked per ext-session-lock-v1 spec. Fixes #1075 Co-authored-by: Pradyumn jha <devpryan7792@users.noreply.github.com> |
||
| .github | ||
| assets | ||
| nix | ||
| pam | ||
| protocols | ||
| src | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| CMakeLists.txt | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| VERSION | ||
hyprlock
Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.
Features
- Uses the ext-session-lock protocol
- Support for fractional-scale
- Fully GPU accelerated
- Multi-threaded resource acquisition
- Blurred screenshot as the background
- Native fingerprint support (using libfprint's dbus interface)
- Some of Hyprland's eyecandy: gradient borders, blur, animations, shadows, etc.
- and more...
How it looks
Docs / Configuration
Arch install
pacman -S hyprlock # binary x86 tagged release
# or
yay -S hyprlock-git # compiles from latest source
Building
Deps
You need the following dependencies
- cairo
- hyprgraphics
- hyprlang
- hyprutils
- hyprwayland-scanner
- mesa (required is libgbm, libdrm and the opengl runtime)
- pam
- pango
- sdbus-cpp (>= 2.0.0)
- wayland-client
- wayland-protocols
- xkbcommon
Sometimes distro packages are missing required development files.
Such distros usually offer development versions of library package - commonly suffixed with -devel or -dev.
Building
Building:
cmake --no-warn-unused-cli -DCMAKE_BUILD_TYPE:STRING=Release -S . -B ./build
cmake --build ./build --config Release --target hyprlock -j`nproc 2>/dev/null || getconf _NPROCESSORS_CONF`
Installation:
sudo cmake --install build
