Novidade Versão 0.7.8: sincronização com o remoto do Git — indicador de commits atrás e integração por clique

Trinta terminais abertos.
E você ainda sabe onde está cada um.

O Porecatu trata organização como recurso principal, não como mero enfeite: abas em grupos nomeados, coloridos e colapsáveis. Feito em Rust, renderizado por GPU via wgpu, com persistência de sessão — agora avisando quando a branch está atrás do remoto — e consumo zero de CPU quando ocioso.

Disponível para Windows, macOS e Linux · Código aberto sob GPL-3.0
$ cargo install --git https://github.com/porecatu/terminal

O problema não é renderizar texto.
É o que acontece depois da décima aba.

Alacritty, WezTerm, Kitty e Windows Terminal resolvem conformidade VT muito bem. Mas quando seu dia a dia exige dezenas de tarefas paralelas, a experiência da maioria dos terminais desmorona.

A fileira caótica de vinte “bash”

Vinte abas com rótulos genéricos e idênticos. Achar a aba correta vira tentativa e erro exaustiva. No Porecatu, você agrupa abas por projeto com nomes como backend, infra ou docker, cada um com pílulas coloridas e colapso com 1 clique.

Abas com largura fixa que não refluem

Na maioria dos terminais, uma aba que muda de título redimensiona toda a barra, fazendo você clicar no lugar errado. No Porecatu, a largura da aba é fixa e o título segue uma precedência determinística: renomeação manual > OSC 0/2 > processo > shell.

Fechou a janela, perdeu todo o contexto

Reiniciar a máquina significa abrir 15 janelas de novo, navegar para cada pasta e subir os ambientes na mão. O Porecatu possui persistência nativa de sessão com recuperação de CWD via OSC 7 — e, se o diretório tiver um arquivo .porecatu, o comando de setup roda sozinho de novo.

0% de CPU em repouso (Damage-Driven)

Graças à arquitetura damage-driven sobre o wgpu, se o terminal não recebeu saída do PTY nem interação de mouse/teclado, zero frames são gerados. Sua bateria agradece e seus jogos ou IDEs continuam com 100% da GPU livre.

Construído para quem vive no terminal

Uma suíte de ferramentas projetada meticulosamente para o fluxo de desenvolvedores modernos, devops e administradores de sistemas.

Grupos Nomeados, Coloridos e Colapsáveis

Crie grupos a partir de seleções múltiplas com Ctrl+Shift+G. Arraste abas entre grupos, reordene o grupo inteiro de uma só vez ou colapse grupos inteiros quando não estiver olhando para eles. O processo continua rodando em segundo plano.

[backend] api-server · db-worker   |   [infra] k8s · terraform   |   [review (3)]

Renderização por GPU com wgpu

Pipeline gráfico moderno sem OpenGL legado. Texto renderizado em alta definição com suporte a ligaduras, emojis coloridos e fontes vetoriais nítidas em telas High-DPI.

GPU backend: Vulkan / Metal / DirectX 12
Taxa: 120Hz adaptativo · 0% CPU ocioso

Busca no Scrollback com Regex

Barra de busca sobreposta ao topo do terminal (Ctrl+Shift+F). Não redimensiona o PTY, não quebra programas TUI e conta com busca reversa por atalhos F3 e Shift+F3.

Match: regex (14 ocorrências)
Navegue por F3 / Shift+F3

Persistência de Sessão & Multi-Janela

Feche e reabra o terminal sabendo que suas abas estarão exatamente onde você as deixou. Por padrão a restauração é eager: todas as abas sobem junto no arranque. Prefere esperar o primeiro clique? lazy_restore = true na config volta ao modo antigo.

Restauração eager por padrão (ou lazy via config) · Envelope multi-janela e multi-monitor preservado · Integração de shell com captura de diretório (OSC 7)

Hiperlinks OSC 8 Nativos

Links emitidos por ferramentas modernas (como ls --hyperlink ou logs de build) são clicáveis com Ctrl+Clique. Links de arquivos locais (file://) são revelados no explorador de arquivos nativo.

Ctrl+Clique em URLs ou arquivos locais

Configuração em TOML com Hot Reload

Tudo é governado por um arquivo simples e elegante porecatu.toml. Salve o arquivo e o Porecatu assiste as alterações, recarregando cores, atalhos e comportamentos em menos de 200 milissegundos sem reiniciar.

[terminal] theme = "nord"
[appearance.tabs] show_close_button = "always"

Barra de Status com Branch do Git

Rodapé fixo de 26px que encolhe a grade (nunca sobrepõe o prompt): shell, diretório, branch do Git, grupo, encoding e info do sistema. O diretório fica apagado quando ainda não veio de um OSC 7 — sinal de que pode estar obsoleto. Leitura da branch é só stat em disco, sem thread, watcher ou dependência de git2.

bash · ~/projetos/porecatu ⎇ feat/status-bar · [backend] · UTF-8

Modo Tela Cheia

F11 alterna tela cheia de verdade: desmaximiza antes de entrar e remaximiza ao sair, sem deixar a taskbar do Windows num estado quebrado.

F11 → tela cheia · F11 → volta ao estado anterior

Precisão de Pixel em Qualquer Escala

Clique e seleção agora caem exatamente na célula certa em qualquer fator de escala do monitor (125%, 150%, 200%) — inclusive em hyperlinks e menu de contexto. E blocos de caracteres (, , box-drawing) se encaixam sem costura entre células, tanto na horizontal quanto entre linhas — bom pra dashboards em TUI e pixel art de terminal.

scale 125% → clique na célula certa · ████████ sem linhas entre blocos

Comando de Projeto por Diretório

Uma aba restaurada de sessão cujo diretório contém um arquivo .porecatu executa o script da seção do seu shell — visível no prompt, no histórico e interrompível com Ctrl+C, como se digitado. Só roda em diretórios listados em trusted_paths, vazio por padrão. E a restauração de sessão agora é eager por padrão: todas as abas restauradas sobem junto no arranque, .porecatu incluso, em vez de esperar o primeiro clique.

[project_file] trusted_paths = ["C:/Projetos"]
$ ./setup.sh # de .porecatu, ao reabrir

Sincronização com o Remoto do Git novo

A barra de status avisa quando a branch da aba ativa está atrás do remoto que ela segue, consultado periodicamente em segundo plano (padrão 5 min, configurável, 0 desliga o recurso inteiro). Um clique no indicador integra por pull --ff-only sem travar a interface; branch divergida mostra os dois números e não oferece um botão que já sabe que vai falhar. Nenhuma janela de console pisca no Windows, e nada é escrito na árvore de trabalho fora do clique.

bash · ~/projetos/porecatu ⎇ main ↓ 3 commits atrás · UTF-8

Controle total nas pontas dos dedos

Todos os atalhos foram pensados para não colidir com aplicações interativas (como vim, nano ou fzf) e podem ser remapeados no arquivo de configuração.

Ação Windows / Linux macOS Descrição
Nova aba Ctrl + Shift + T Cmd + T Cria uma nova aba no diretório herdado
Fechar aba Ctrl + Shift + W Cmd + W Encerra a aba ativa (com confirmação se houver processos ativos)
Criar grupo Ctrl + Shift + G Cmd + G Agrupa as abas selecionadas sob uma nova cápsula colorida
Navegar entre grupos Ctrl + Shift + PgDown / PgUp Cmd + Shift + ] / [ Pula de grupo em grupo, caindo na última aba visitada de cada um
Ciclar temas Ctrl + Shift + Y Cmd + Y Alterna em tempo real entre os 7 temas embutidos de fábrica
Buscar no scrollback Ctrl + Shift + F Cmd + F Abre a barra de busca por regex sobre o terminal
Próxima ocorrência F3 / Shift + F3 Cmd + G / Shift + Cmd + G Navega para a próxima ou anterior ocorrência de busca
Zoom de fonte Ctrl + + / - / 0 Cmd + + / - / 0 Aumenta, diminui ou reseta a escala tipográfica do terminal
Tela cheia F11 F11 Alterna tela cheia, desmaximizando/remaximizando corretamente
Recarregar config Ctrl + Shift + , Cmd + , Força recarga imediata do arquivo porecatu.toml

Baixe o Porecatu para o seu sistema

Binários e instaladores nativos construídos e testados automaticamente para a release v0.7.8.

macOS

macOS 11.0 Big Sur ou superior

Linux

x86_64 · Distribuições modernas

Rust / Cargo

Via toolchain Rust oficial

Compilar localmente via Cargo:

git clone https://github.com/porecatu/terminal && cd terminal && cargo run --release