- Título:
- Gistbar
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.
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 gistsMod+Ctrl+G: cria um gist a partir da área de transferência↑/↓: navega pela listaEnter: copia o primeiro arquivo do gistShift+Enter: copia o link do gistEsc: limpa a buscaCtrl+E: edita a descrição e o arquivo aberto na préviaCtrl+S: salva a edição no GitHub
Links
---
title: Gistbar
url: https://nandomoreira.dev/lab/noctalia-gistbar
collection: lab
tech:
- QML
- JavaScript
- Noctalia Shell
- GitHub CLI
- Vitest
date: 2026-10-10
---
# 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.
## 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
## Links
- Repo: https://github.com/nandomoreirame/noctalia-gistbar