Pular para o conteúdo
nandomoreira.dev

CLI, automação e desktop Linux

Gistbar

Plugin para o Noctalia Shell que traz os meus gists do GitHub para a barra: busca por descrição, nome de arquivo, linguagem e conteúdo, cópia pelo teclado, gist novo a partir da área de transferência, prévia e edição, tudo pelo gh CLI.

O problema

São 95 gists acumulados, e achar um trecho exigia abrir o GitHub, lembrar em qual gist ele estava e copiar à mão. Criar um gist novo com o que estava na área de transferência também passava pelo navegador.

Decisões técnicas

Plugin do próprio shell, na mesma arquitetura e no mesmo kit visual do Daybar: a lógica em funções JavaScript puras testadas com Vitest, o QML só como tela. Todo acesso ao GitHub passa pelo gh CLI, então o plugin nunca toca num token, e o conteúdo vai por stdin, nunca pela linha de comando. A busca ignora acento e cobre o conteúdo, que é o motivo de um gist existir, mas descrição e nome de arquivo pesam mais. O conteúdo fica em cache local com permissão 0600 e só é baixado de novo quando o gist muda. Gist novo nasce secreto, porque publicar por engano é a pior falha possível aqui.

Resultado

Uso próprio no meu desktop com CachyOS, publicado em licença MIT, com 151 testes. Testado no Noctalia 4.7.7; o port para o Noctalia v5 está planejado.

Atalhos

Mod + G
abre a busca de gists
Mod + Ctrl + G
cria um gist a partir da área de transferência
↑/↓
navega pela lista
Enter
copia o primeiro arquivo do gist
Shift + Enter
copia o link do gist
Esc
limpa a busca
Ctrl + E
edita a descrição e o arquivo aberto na prévia
Ctrl + S
salva a edição no GitHub

Imagens