Skip to content

Releases: labdev2025-cmd/jclipper

JClipper v1.1 — Seleção inicial na lista + digitação redirecionada para a busca

23 Oct 11:11

Choose a tag to compare

✨ 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.
  • Listener de teclado na JList:
    • Enter copia e fecha.
    • Esc fecha.
    • Backspace/Delete são encaminhados para o JTextField de 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 / --show para 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.

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

JClipper 1.0.0 — primeira release

22 Oct 14:34

Choose a tag to compare

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.xml para 21 caso prefira um LTS).
  • Ambiente gráfico com acesso ao clipboard do sistema.

⬇️ Download & execução rápida

  1. Baixe os assets da release.
  2. 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 --show

Comandos 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 do jclipper.jar).

Linux (KDE Plasma e GNOME)

  • KDE Plasma: Configurações do Sistema → Atalhos → Atalhos personalizados → Adicionar → Comando/URL.
    Use o comando acima exatamente com sh -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:

  1. Instale AutoHotkey.
  2. Crie um arquivo JClipper.ahk com:
#v::
Run, "C:\Program Files\Eclipse Adoptium\jdk-25\bin\java.exe" -jar "C:\Users\SEU_USUARIO\desenvolvimento\ferramentas\jclipper.jar" --toggle
return
  1. 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: ⌘+V conflita com “Colar”; prefira ⌘⇧V ou 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.