Skip to content
This repository was archived by the owner on Oct 11, 2025. It is now read-only.

Releases: tuxx/fancylock

Release v0.0.9

03 Apr 21:41
e7f5d76

Choose a tag to compare

🛡️ v0.0.9 - Focus & Polish

✨ Features

  • Wayland Keyboard Improvements (#4)
    • Enhanced key event handling for Wayland, including support for modifier keys like Shift and Alt.
    • Removed debug log that printed password characters.

🧹 Refactoring

  • Cleaner Help Output

    • Unified flag formatting: short (-c) and long (--config) variants are clearly grouped.
    • Removed configuration examples from help text to keep it concise.
  • Configuration & Codebase Simplification

    • Removed unused features:
      • IdleTimeout, BlurBackground, BackgroundColor, and MediaPlayerCmd settings.
      • Idle monitoring implementations for both X11 and Wayland.
    • Media playback is now hardcoded to mpv, simplifying player integration.
    • New media control options (disabled by default):
      • lock_pause_media: pause media on lock.
      • unlock_unpause_media: resume on unlock.

🛠 Fixes

  • Proper handling of modifiers in Wayland input.
  • Eliminated accidental logging of sensitive password input.

Release v0.0.8

03 Apr 03:12

Choose a tag to compare

🚀 fancylock v0.0.8 – “Centralized Security, Dynamic Display”

This release brings major architectural improvements, smarter resolution handling, visual polish, and a faster, more unified approach to lockout logic. Designed to make your lockscreen smarter, leaner, and more adaptable—no matter your display setup.


🔐 Pam.d service file

  • PAM rules optimized for faster password checks.

🛡️ Lockout Logic Consolidation

  • Introduced a LockoutManager to unify lockout behavior across X11 and Wayland.
  • Lockout policies are now centrally managed, reducing duplicated logic and ensuring consistent security enforcement.
  • Cleaner codebase with lockout logic abstracted into lockout.go.

📺 Smarter Multi-Monitor & Resolution Handling

  • Wayland implementation no longer relies on hardcoded resolutions like 3840x2160.
  • New getSurfaceDimensions() helper dynamically adapts to your monitor layout.
  • Uses fallback dimensions only when necessary, improving compatibility with unusual setups.

🔐 UI & UX Improvements

  • Lock screen now appears only after the shake animation completes—no more overlapping visuals.
  • Updated intruder message:
    INTRUDER ALERT
    Security cooldown engaged
    <timer>
    
  • Improved feedback and better timed transitions during lockout events.

🎶 Multi-Monitor Audio Enhancement

  • Each monitor can now play more unique media independently, enhancing the multi-display experience.

🧼 Internal Cleanup & Packaging

  • Moved common types to internal/types.go for better modularity.
  • Removed verbose debug/info logs by default. You can now opt-in to nerdy logs.
  • Arch AUR package updated:
    • Installs the proper pam.d file.

🚧 Upcoming for future versions:

  • For sure: Improved X11 lockscreen messages. Quite ugly now.
  • For sure: Be able to set the lockout message when 3 wrong passwords are entered.
  • Maybe: Consolidate drawing logic for wayland/x11. Not sure if this has a benefit yet.
  • Maybe: Instead of running mpv commands, use a go library to display videos/images.

fancylock v0.0.8 continues our mission of secure, polished, and elegant screen locking on Wayland and X11. ✨

Release v0.0.7

02 Apr 03:57

Choose a tag to compare

🚀 FancyLock v0.0.7

This release is packed with security, usability, and visual improvements for an even fancier screen locking experience.

✨ New Features

  • Custom PAM Service
    Now uses its own PAM config to bypass faillock lockouts, preventing extended lockouts from repeated login failures.

  • Built-in Font
    No more font issues—fonts are now baked into the binary.

🖼️ UI Improvements

  • Larger Password Dots and Lockout Messages
    Clearer, more prominent visuals across all monitors.

  • Big "LOCKED" and Timer
    Makes it unmistakable that the screen is locked, and how long until retry.

🔐 Security & Stability

  • SecurePassword Handling
    Passwords are now stored in memory-safe structures with zero-wipe protection.

  • PAM Lockout Logic
    Improved lockout visuals and retry timers, complete with countdown and shaking animation.

  • Wayland & Hyprland Fixes
    Fixed crashes on authentication flow and resource leaks, especially under Hyprland.

  • Post-Unlock Delay
    Small delay after unlocking ensures all Wayland resources clean up cleanly.

🧠 Internal Improvements

  • Switched from xrandr command to native XRandR extension
    No more shelling out to detect monitors—FancyLock now uses Go-native X11 calls for speed and reliability.

  • Mutex Protection
    Thread-safe access to shared resources like media processes and lock state.

  • Better Logging & Error Handling
    Log clarity improved across authentication, monitor detection, and media handling.


Thanks for using FancyLock! ❤️
Stay secure, stay fancy.

Release v0.0.6

01 Apr 22:15

Choose a tag to compare

🎉 FancyLock v0.0.6 released! 🔒📼

This release brings no functional changes to the locker itself, but...

🚀 We now have an official Arch Linux AUR package!

You can install FancyLock on Arch and Arch-based distros via:

yay -S fancylock-bin

Or manually:

git clone https://aur.archlinux.org/fancylock-bin.git
cd fancylock-bin
makepkg -si

🧠 fancylock-bin installs the precompiled binary from GitHub releases — no Go compiler needed.


✅ Includes:

  • All recent fixes
  • Prebuilt fancylock-linux-amd64
  • AUR publishing automation 🎉

Thanks for using FancyLock!

Release v0.0.5

31 Mar 21:51
624e5a1

Choose a tag to compare

🦚 FancyLock v0.0.5 – Hyprland, Hooks & Hype

This release brings Hyprland into the fold! 🎉
We now support basic functionality under Hyprland, so your sleek Hyprland setup just got a whole lot fancier.

✨ New Features

  • 🧠 Hyprland Support (Basic)
    Fancylock now plays nicely with Hyprland, laying the groundwork for deeper integration and smooth multi-monitor setups.
  • 🔧 pre_lock_command & post_lock_command
    You can now run custom shell commands before and after locking the screen in your config.json.
    Use cases include dimming the display, muting audio, or preparing your system for lockdown in style.

Ready to give it a spin? Update to v0.0.5 and level up your lock screen game.

Release v0.0.4

28 Mar 19:31

Choose a tag to compare

More logging for x11 sessions

  • Added more logging to easier debug x11 sessions.

[auto] go fmt applied to staged files

Release v0.0.3

27 Mar 23:05

Choose a tag to compare

project structure, build system & git hooks.

Main new thing for the release

  • Added native -v flag using embedded version info

Internal code structure changes

  • Moved all non-main Go files into internal/ for cleaner separation
  • Introduced Makefile with multi-arch support (amd64, arm64, arm)
  • Embedded version metadata (git tag, commit, build date) via ldflags
  • Updated GitHub Actions to use Makefile for builds and packaging
  • Updated README.md with new build instructions and make targets
  • Added .githooks to run go fmt before commit.

This sets up FancyLock for clean CI builds, multi-platform releases (thought we still only builds amd64 for now), and future expansion 🎉

(HAPPY HAKKR NOISES)

Release v0.0.2

27 Mar 04:23

Choose a tag to compare

New Features

Improved Command-Line Interface

  • Default Help Display: Running FancyLock without any parameters now shows the help screen instead of starting in idle monitor mode
  • Enhanced Usage Instructions: Clearer documentation of all available options directly in the CLI
  • Usage Examples: Common usage patterns are now displayed in the help text

Installation

  1. Download the appropriate release for your system
  2. Extract the archive: tar -xzvf fancylock-linux.tar.gz
  3. Make the binary executable: chmod +x fancylock
  4. Run with ./fancylock

Configuration

FancyLock looks for a configuration file at ~/.config/fancylock/config.json. You can specify a different configuration file using the -c option.

Release v0.0.1

27 Mar 04:11

Choose a tag to compare

First official release of FancyLock, a fancy X11 screen locker with media playback capabilities.

Key features:

  • X11 screen locking with password authentication via PAM
  • Media playback during lock screen (videos and images)
  • Multi-monitor support
  • Configurable idle timeout for automatic locking
  • Configurable logging system with debug mode

Known limitations:

  • No Wayland support yet
  • Limited styling options

This initial release provides a stable foundation for future improvements
while delivering the core functionality of a screen locker with media playback.