Files
copiado/README.md
T
Lucas RayanandClaude Sonnet 5.5 d14df4e32c
Release / Plano (este commit já foi validado?) (push) Successful in 4s
CI / Trivy (dependências, segredos e configuração) (push) Successful in 9s
CI / Código e scripts (push) Successful in 14s
CI / Pacote .deb (push) Failing after 3s
Release / ci (push) Failing after 18s
Release / Publica a release (push) Skipped
ci: esteira para os runners do Gitea, changelog e instalador pelo Gitea
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 21:29:53 -03:00

3.5 KiB

Copiado

O histórico da área de transferência do Windows, no Linux Mint. Aperte Win+V e ele aparece, no visual do Windows 11. Clique em um item e ele é colado na hora.

Instalar

O repositório é privado, então o instalador precisa de um token do Gitea (Configurações → Aplicações, escopo read:repository):

export GITEA_TOKEN=...   # seu token
curl -fsSL -H "Authorization: token $GITEA_TOKEN" \
  https://git.lucasrguerra.dev.br/lucasrguerra/copiado/raw/branch/main/instalar.sh | bash

Baixa o pacote .deb mais recente das Releases, instala, cria o atalho Win+V e já deixa rodando. Pede sua senha (sudo). Para atualizar, rode o mesmo comando de novo.

Usar

Ação Como
Abrir / fechar Win+V
Colar um item clique, ou setas + Enter
Fixar (não some ao limpar) ícone de alfinete
Apagar um item ícone da lixeira ou tecla Delete
Apagar tudo (menos os fixados) Limpar tudo
Fechar sem colar Esc ou clicar fora

Guarda os 25 últimos itens (texto e imagens). Como no Windows, ao reiniciar o PC só os itens fixados continuam; o resto existe apenas na memória.

Privacidade e segurança

A área de transferência pode ter senhas, tokens e dados pessoais, então o Copiado:

  • Só grava no disco os itens fixados, em ~/.local/share/copiado/, com permissão só para você (pasta 700, arquivos 600).
  • Não guarda textos acima de 1 MB nem imagens acima de 20 MB.
  • Valida o arquivo de histórico ao abrir: entradas estranhas ou imagens fora da pasta do Copiado são descartadas.
  • Não usa rede e não executa nada do que foi copiado.

O instalador confere o checksum SHA-256 do pacote antes de instalar, e a esteira de CI/CD roda o Trivy (vulnerabilidades, segredos e configurações) em todo push de branch, em toda release e toda segunda-feira. Um HIGH ou CRITICAL barra a esteira.

Desenvolvimento

  • copiado.py: o aplicativo inteiro (GTK 3 + xdotool).
  • empacotamento/gerar-deb.sh <versão>: gera dist/copiado_all.deb.
  • .gitea/workflows/: ci.yml (sintaxe, shellcheck, Trivy, pacote) roda nas branches e toda segunda; release.yml valida a main e, numa tag vX.Y.Z, publica a release com o .deb, o SHA256SUMS e as notas do CHANGELOG. Uma tag num commit que já passou na main não repete a suíte.
  • Para lançar: mova o que está em "Não lançado" do CHANGELOG para a versão nova, faça o commit e envie a tag (git tag vX.Y.Z && git push gitea vX.Y.Z).

Desinstalar

curl -fsSL -H "Authorization: token $GITEA_TOKEN" \
  https://git.lucasrguerra.dev.br/lucasrguerra/copiado/raw/branch/main/desinstalar.sh | bash

Comandos

Comando Para quê
copiado consertar Win+V não abre ou o histórico está vazio? Recria o atalho, faz o Cinnamon recarregá-lo e inicia o app se estiver parado.
copiado esquecer Apaga todo o histórico, inclusive os fixados.
copiado ajuda Lista os comandos.

Se mesmo depois do copiado consertar o Win+V não abrir, veja se outro atalho usa Win+V em Configurações do Sistema → Teclado → Atalhos.

Publicar uma versão nova

git tag v1.0.1 && git push origin v1.0.1

O GitHub Actions gera o copiado_all.deb, testa a instalação e publica a release. Para gerar o pacote localmente: empacotamento/gerar-deb.sh 1.0.1 (sai em dist/).