- Título:
- FlipClock ASCII Screensaver
FlipClock ASCII Screensaver
Protetor de tela para Hyprland que desenha a hora em ASCII grande dentro de um terminal em tela cheia, um por monitor, com transições do Terminal Text Effects a cada minuto. Entra pelo hypridle quando a máquina fica ociosa e sai no primeiro movimento.
Problema
O Hyprland não tem protetor de tela, só bloqueio. Eu queria algo que aparecesse quando a máquina fica ociosa, combinasse com o terminal e não exigisse um app gráfico a mais rodando.
Decisões técnicas
Um terminal em tela cheia por monitor, em vez de uma janela gráfica: o relógio é texto renderizado com pyfiglet, e as transições vêm do Terminal Text Effects, opcional. Três scripts pequenos separam as responsabilidades: detectar monitores e terminal, abrir uma janela em cada um, desenhar o quadro. A integração é pelo hypridle, e um arquivo de estado desliga o protetor sem desinstalar nada.
Resultado
Uso próprio no desktop, com testes em pytest para o renderizador e em bats para os scripts de shell. Suporta ghostty, alacritty e kitty.
Links
---
title: FlipClock ASCII Screensaver
url: https://nandomoreira.dev/lab/flipclock-screensaver-ascii
collection: lab
tech:
- Python
- Shell
- Hyprland
date: 2026-04-01
---
# FlipClock ASCII Screensaver
Protetor de tela para Hyprland que desenha a hora em ASCII grande dentro de um terminal em tela cheia, um por monitor, com transições do Terminal Text Effects a cada minuto. Entra pelo hypridle quando a máquina fica ociosa e sai no primeiro movimento.
## Problema
O Hyprland não tem protetor de tela, só bloqueio. Eu queria algo que
aparecesse quando a máquina fica ociosa, combinasse com o terminal e não
exigisse um app gráfico a mais rodando.
## Decisões técnicas
Um terminal em tela cheia por monitor, em vez de uma janela gráfica: o
relógio é texto renderizado com pyfiglet, e as transições vêm do Terminal
Text Effects, opcional. Três scripts pequenos separam as responsabilidades:
detectar monitores e terminal, abrir uma janela em cada um, desenhar o
quadro. A integração é pelo hypridle, e um arquivo de estado desliga o
protetor sem desinstalar nada.
## Resultado
Uso próprio no desktop, com testes em pytest para o renderizador e em bats
para os scripts de shell. Suporta ghostty, alacritty e kitty.
## Links
- Repo: https://github.com/nandomoreirame/flipclock-screensaver-ascii