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