Skip to content
ndm.devnandomoreira.devAvailablePT

CLI, automation and Linux desktop

FlipClock ASCII Screensaver

Screensaver for Hyprland that draws the time in large ASCII inside a fullscreen terminal, one per monitor, with Terminal Text Effects transitions every minute. It comes in through hypridle when the machine goes idle and leaves on the first movement.

The problem

Hyprland has no screensaver, only a lock. I wanted something that showed up when the machine went idle, matched the terminal and did not require another graphical app running.

Technical decisions

A fullscreen terminal per monitor, instead of a graphical window: the clock is text rendered with pyfiglet, and the transitions come from Terminal Text Effects, optional. Three small scripts split the responsibilities: detect monitors and terminal, open a window on each, draw the frame. Integration is through hypridle, and a state file turns the screensaver off without uninstalling anything.

Outcome

Personal use on the desktop, with pytest tests for the renderer and bats tests for the shell scripts. Supports ghostty, alacritty and kitty.

Images

Ready to share.