Releases: labdev2025-cmd/jclipper
JClipper v1.1 — Seleção inicial na lista + digitação redirecionada para a busca
✨ Destaques
- Abre com a 1ª linha já selecionada no popup.
- Foco inicial na lista: setas/Enter funcionam imediatamente.
- Digitação automática na busca: qualquer caractere (e Backspace/Delete) redireciona o foco para a caixa de pesquisa e insere/edita o texto lá.
🛠️ Alterações
PopupUI#showAtMouse():- Seleciona o primeiro item (
setSelectedIndex(0)) e dá foco na lista ao abrir.
- Seleciona o primeiro item (
- Listener de teclado na
JList:Entercopia e fecha.Escfecha.Backspace/Deletesão encaminhados para oJTextFieldde busca.- Qualquer caractere imprimível move o foco para a busca e é inserido no caret atual.
- Mantidos:
- Busca reativa com
DocumentListener. - Botões “Limpar busca” e “Limpar histórico”.
- Renderização em linha única + timestamp humano (ex.: “hoje 14:22”).
- Persistência: histórico salvo em arquivo por SO, até
MAX_HISTORY=1000. - IPC local:
--toggle/--showpara controlar o popup de outra instância. - Monitor de clipboard por polling (
POLL_MS=200 ms) com de-duplicação por último valor visto. - UI: FlatDarkLaf, janela leve/sem decoração e sempre no topo.
- Busca reativa com
🚀 Como usar
mvn clean package
java -jar target/jclipper.jar # inicia a instância principal
java -jar target/jclipper.jar --toggle # alterna o popup
java -jar target/jclipper.jar --show # força mostrarJClipper 1.0.0 — primeira release
Release title
JClipper 1.0.0 — primeira release
Release notes
🔰 Visão geral
Primeira release estável do JClipper, um gerenciador leve de histórico do clipboard (Java + Swing com FlatLaf). Ele monitora continuamente o que você copia, guarda um histórico e abre um popup pesquisável perto do cursor para recolar qualquer item recente em um clique.
✨ Destaques
- Monitoramento contínuo do clipboard (texto) com prevenção de duplicatas por polling.
- Popup leve e sempre no topo, aparece próximo ao mouse; filtro em tempo real enquanto digita.
- Navegação por ↑/↓ e ENTER para copiar; ESC ou clique fora para fechar.
- Tooltips monoespaçados preservando quebras/indentação do texto original.
- IPC local (127.0.0.1:51515) para alternar/mostrar/ocultar via segunda invocação do app.
- JAR único (fat JAR via Maven Shade) com dependências embutidas.
🧰 Requisitos
- Java 25+ (ou ajuste o
pom.xmlpara 21 caso prefira um LTS). - Ambiente gráfico com acesso ao clipboard do sistema.
⬇️ Download & execução rápida
- Baixe os assets da release.
- Execute:
# Instância principal:
java -jar jclipper.jar
# Alternar popup por uma segunda invocação (IPC):
java -jar jclipper.jar --toggle
# Forçar mostrar (IPC):
java -jar jclipper.jar --showComandos IPC aceitos: TOGGLE, SHOW, HIDE.
⌨️ Atalho global recomendado (SUPER/Windows + V)
Atalho recomendado: SUPER (tecla Windows) + V em qualquer sistema.
Comando recomendado do atalho (exemplo Linux):
sh -c '/opt/java/jdk-25/bin/java -jar /home/daniel/desenvolvimento/ferramentas/jclipper.jar --toggle'
⚠️ Ajuste caminhos e usuário conforme o seu ambiente (local do JDK e dojclipper.jar).
Linux (KDE Plasma e GNOME)
- KDE Plasma: Configurações do Sistema → Atalhos → Atalhos personalizados → Adicionar → Comando/URL.
Use o comando acima exatamente comsh -c '...'. Defina a tecla como Meta/Super + V. - GNOME: Configurações → Teclado → Atalhos → Adicionar atalho personalizado.
Nome livre, Comando =sh -c '...', e defina Super + V.
Windows
O Windows não atribui atalhos nativos usando a tecla Win para executar comandos, e Win + V é reservado pelo próprio sistema (Histórico de Área de Transferência). Para usar Win + V mesmo assim, utilize uma ferramenta de hotkeys como AutoHotkey:
- Instale AutoHotkey.
- Crie um arquivo
JClipper.ahkcom:
#v::
Run, "C:\Program Files\Eclipse Adoptium\jdk-25\bin\java.exe" -jar "C:\Users\SEU_USUARIO\desenvolvimento\ferramentas\jclipper.jar" --toggle
return- Ajuste os caminhos do JDK e do JAR e execute o script.
Dica: se preferir WSL ou Git Bash, você pode chamar:
wsl.exe sh -lc '/opt/java/jdk-25/bin/java -jar /home/SEU_USUARIO/desenvolvimento/ferramentas/jclipper.jar --toggle'
macOS
No macOS, Super corresponde ao Command (⌘). Como ⌘+V é o atalho padrão de “Colar”, recomenda-se usar ⌘+⇧+V (ou outra combinação) para evitar conflito.
-
Via Atalhos (Shortcuts) ou Automator: crie um atalho que execute um Shell Script com:
/usr/bin/env sh -c '/Library/Java/JavaVirtualMachines/jdk-25.jdk/Contents/Home/bin/java -jar /Users/SEU_USUARIO/desenvolvimento/ferramentas/jclipper.jar --toggle' -
Vincule o atalho a um atalho de teclado do sistema (por exemplo ⌘⇧V).
✅ Resumo dos conflitos
- Windows:
Win+Vé reservado. Use AutoHotkey para forçar.- macOS:
⌘+Vconflita com “Colar”; prefira⌘⇧Vou similar.- Linux: geralmente permite usar Super+V diretamente.
⚙️ Configurações rápidas (no código)
POLL_MS— frequência do polling do clipboard.MAX_VISIBLE— quantidade de itens exibidos no popup.- Tamanhos de janela e fontes (UI base e monoespaçada).
⚠️ Limitações conhecidas
- Detecção baseada em polling (pequeno atraso conforme
POLL_MS). - Histórico somente em memória (não persiste em disco).
- Uma única instância principal (porta 51515); altere no código se houver conflito.
📦 Assets desta release
jclipper.jar(executável)jclipper.jar.sha256(opcional, verificação de integridade)
Dica: use um verificador de hash para confirmar integridade antes de executar.
Pronto! Com o atalho SUPER + V apontando para o comando acima (ajustando os caminhos), você alterna o popup do JClipper de qualquer lugar do sistema em milissegundos.