1
0
Fork 0
Hyprland's GPU-accelerated screen locking utility
  • C++ 97.3%
  • CMake 1.5%
  • Nix 1.2%
Find a file
2025-12-07 10:36:30 +11:00
.github CI/Nix: add cache-nix-action 2025-06-20 01:25:18 +03:00
assets example: Add config location hint to help new users (#771) 2025-05-09 18:54:54 +02:00
nix nix: use gcc15 2025-06-06 01:26:31 +03:00
pam Adding a pam configuration file (#115) 2024-03-02 01:49:44 +02:00
protocols background: add screenshot 2024-02-21 21:39:14 +00:00
src Merge pull request #1 from hyprwm/main 2025-10-30 08:57:49 +11:00
.clang-format core: initial commit 2024-02-18 23:08:03 +00:00
.clang-tidy clang-tidy: fix some errors (#751) 2025-04-21 20:17:15 +02:00
.gitignore core: fix background screenshot on nvidia (#656) 2025-01-24 14:25:37 +01:00
CMakeLists.txt cmake: add "libpam" as an alias for "pam" (#893) 2025-10-09 15:32:29 +00:00
flake.lock flake.lock: update (#890) 2025-10-08 08:53:37 +00:00
flake.nix Core: move to hyprwayland-scanner (#624) 2024-12-29 18:36:08 +00:00
LICENSE Initial commit 2024-02-18 16:10:12 +00:00
README.md Update README with new layer feature details 2025-10-30 11:59:48 +11:00
VERSION version: bump to 0.9.2 2025-10-02 11:03:05 +01:00

Tip

This fork allows fragment shader usage.

https://github.com/user-attachments/assets/292fde01-b1ab-4218-bcf9-77f7d9e53e4a

hyprlock fragment shader

Add to hyprlock.conf

shader {
  frag_path = /path/to/shader.frag
}

This adds a new layer to hyprlock, works well with a transparent background to make some pretty neat looking overlays as your existing background config should still remain intact.

Build with:

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`

Move hyprlock to /usr/local/bin/hyprlock so it won't conflict with your system-wide hyprlock.

sudo mv ./build/hyprlock /usr/local/bin/

Example shader: https://gist.github.com/mashaal/0c352c1d92767de0e4b804451c29f5ae


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

See the wiki

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