Voltar para Lista
BLOG / ivan.psg / / 2 min leitura

tomatty: Pomodoro TUI (Bun/TS) que usa rtcwake para pausas reais

tomatty: Pomodoro TUI (Bun/TS) que usa rtcwake para pausas reais — Capa do Artigo

Fala, pessoal!

Desenvolvi o tomatty para resolver um problema pessoal: entro em hiperfoco estudando/codando e não consigo parar só com uma simples notificação. Então criei um Pomodoro minimalista em TUI que leva a pausa a sério.

O tomatty é uma interface de terminal feita em TypeScript (rodando em Bun) que, ao fim de uma sessão, chama o rtcwake para suspender o sistema. Resultado: a tela apaga, o PC entra em sleep e você é obrigado a levantar. No final do intervalo, o hardware acorda a máquina automaticamente — sem daemon extra, sem gambiarras.

Principais pontos:

  • Suspensão real via rtcwake: pausa “forçada” para tirar você da tela.
  • Minimalista: TUI única, sem serviços de background.
  • Persiste contadores em ~/.config/tomatty/data.json (diário/total).
  • Gera arquivo de status para integrar com o painel (barra de tarefas) da sua distro.

Requisitos e configuração:

  • Linux (x86_64 ou arm64), Bun ≥ 1.0, util-linux (rtcwake).
  • É necessário permitir rtcwake via sudoers sem senha (apenas rtcwake). Exemplo:
    echo "$USER ALL=(ALL) NOPASSWD: /usr/sbin/rtcwake" | sudo tee /etc/sudoers.d/tomatty
    

    Teste com cuidado e leia o README no repo antes de usar.

Por que pode interessar você:

  • Se você perde a noção do tempo em hiperfoco, é uma forma simples de delegar a disciplina ao hardware.
  • Ideal pra quem curte ferramentas minimalistas e controláveis via terminal.
  • Projeto open source — feedback, contribuições e sugestões são bem-vindas.

Link: https://github.com/IvanPSG-BR/tomatty

Quero ouvir: quem já tentou alguma “pausa forçada”? Sugestões, bugs ou ideias de integração são bem-vindos.

Fim da Transmissão