A read-only mirror of https://github.com/hyprwm/hyprlock
Find a file
mcgi5sr2 0345d4ccf8 background: add video playback support via FFmpeg
Extend the background widget to natively decode and display video
files (mp4, mkv, webm, avi, mov, gif, and more) using FFmpeg, with
no external tools required.

- Detection is extension-based; existing image paths are unaffected
- A background decode thread paces frames to their PTS timestamps
  and publishes them to the render thread via an O(1) mutex-swap,
  avoiding any memcpy per frame
- sws_getCachedContext handles codecs that only report their pixel
  format after the first decoded frame
- Videos loop seamlessly via av_seek_frame at EOF
- blur_passes works on video frames the same as on images
- No new config keys: path = /path/to/video.mp4 is sufficient
2026-03-02 16:37:41 +00: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: remove sdbus-cpp overlay 2025-12-20 13:31:21 +02: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 background: add video playback support via FFmpeg 2026-03-02 16:37:41 +00: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 FFmpeg dependencies for video background support 2026-03-02 16:37:11 +00:00
flake.lock nix: remove sdbus-cpp overlay 2025-12-20 13:31:21 +02: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 misc: remove hyprland-protocols from README (#887) 2025-10-04 10:07:28 +00:00
VERSION version: bump to 0.9.2 2025-10-02 11:03:05 +01:00

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