Files
Lucas RayanandClaude Sonnet 5.5 e9d43f6e79
CI / Trivy (dependências, segredos e configuração) (push) Successful in 7s
CI / Código e scripts (push) Successful in 14s
CI / Pacote .deb (push) Successful in 3s
Release / Plano (este commit já foi validado?) (push) Successful in 3s
Release / ci (push) Skipped
Release / Publica a release (push) Successful in 4s
feat: repositório público; instalador sem token
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-01 22:30:09 -03:00

83 lines
3.2 KiB
Markdown

# 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
```bash
curl -fsSL https://git.lucasrguerra.dev.br/lucasrguerra/copiado/raw/branch/main/instalar.sh | bash
```
Baixa o pacote `.deb` mais recente das [Releases](https://git.lucasrguerra.dev.br/lucasrguerra/copiado/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](https://trivy.dev) (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](CHANGELOG.md). 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
```bash
curl -fsSL 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
```bash
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/`).