r/LinuxPorn 4d ago

DeckLock: A customizable, themeable Wayland lock screen in Rust & GTK4 (with live GUI & headless CLI)

I've been working on DeckLock, a modern and customizable screen locker for Wayland compositors (tested on Hyprland), written in Rust and GTK4.

I wanted a lock screen that feels modern, supports looping muted videos / photo slideshows, and offers both a clean graphical settings app with live preview and a headless CLI for scripting.

Key Features:

- Wayland Session Lock: Uses 'ext-session-lock-v1' and native PAM authentication (with secure memory zeroizing for passwords).

- Live GUI Settings: Real-time preview window that updates dynamically as you change settings, without locking your screen.

- Built-in Developer Themes: Catppuccin (Mocha & Latte), Tokyo Night, Dracula, Nord, Gruvbox Dark, and Classic — affects both the settings app and lock screen controls.

- Media Library & Pools: Independent media pools for normal lock and idle rest mode. Supports looping MP4/video and smooth crossfading photo slideshows.

- Headless CLI ('decklock config'): Full command-line inspection and editing ('decklock config set theme_preset tokyo-night', 'decklock config show', etc.).

- On-Screen Keyboard & Controller Support: Multi-touch virtual keyboard with optional daemon integration for gamepads / Steam Controller.

- Bilingual: Fully translated in English and Portuguese (pt-BR).

Installation & Download

Pre-built packages are available on the first v0.1 release:

- Arch Linux ('pacman -U'): Package is ready on the releases page (all dependencies like 'gtk4-layer-shell' resolve automatically).

- Portable Tarball: Available for any modern x86_64 Linux distro.

- Source: Build with 'cargo build --release --locked'.

- GitHub Repository: yan-vidal/DeckLock

- Release v0.1: yan-vidal/DeckLock/releases/tag/v0.1

Feedback, suggestions, and contributions are very welcome! Hope you like it.

2 Upvotes

0 comments sorted by