---
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
