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
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
89 lines
3.5 KiB
Markdown
89 lines
3.5 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
|
|
|
|
O repositório é **privado**, então o instalador precisa de um token do Gitea
|
|
(Configurações → Aplicações, escopo `read:repository`):
|
|
|
|
```bash
|
|
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](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 -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
|
|
|
|
```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/`).
|