clipmenu é um gerenciador de área de transferência simples usando dmenu (ou rofi com CM_LAUNCHER=rofi
) e xsel.
Inicie clipmenud
e execute clipmenu
para selecionar algo para colocar na área de transferência. Para usuários do systemd, um serviço de usuário chamado clipmenud
é empacotado como parte do projeto.
Para aqueles que usam uma unidade systemd e não usam um ambiente de desktop que faz isso automaticamente, você deve importar $DISPLAY
para que clipmenud
saiba qual servidor X usar. Por exemplo, em seu ~/.xinitrc
faça isso antes de iniciar o clipmenud:
systemctl --user import-environment DISPLAY
Você pode querer vincular um atalho em seu gerenciador de janelas para iniciar clipmenu
.
Todos os argumentos passados para o clipmenu são despachados de forma transparente para o dmenu. Ou seja, se você costuma chamar dmenu com argumentos para definir cores e outras propriedades, você pode invocar clipmenu exatamente da mesma maneira para obter o mesmo efeito, assim:
clipmenu -i -fn Terminus:size=8 -nb '#002b36' -nf '#839496' -sb '#073642' -sf '#93a1a1'
Para obter uma lista completa de variáveis de ambiente que o clipmenud pode usar, consulte clipmenud --help
.
O comportamento do clipmenud
pode ser customizado através de variáveis de ambiente. Apesar de ter apenas <300 linhas, o clipmenu possui muitos recursos úteis, incluindo:
clipctl disable
, reativando com clipctl enable
Verifique clipmenud --help
para visualizar todas as variáveis de ambiente possíveis e o que elas fazem. Se você gerencia clipmenud
com systemd
, poderá substituir os padrões usando systemctl --user edit clipmenud
para gerar um arquivo de substituição.
Qualquer aplicativo compatível com dmenu funcionará, mas aqui estão as configurações CM_LAUNCHER
que funcionam:
dmenu
(o padrão)fzf
rofi
rofi-script
, para o modo de script do rofi Várias distribuições, incluindo Arch e Nix, fornecem clipmenu como um pacote oficial chamado clipmenu
.
Se sua distribuição não fornece um pacote, você pode instalar manualmente usando make install
(ou melhor ainda, crie um pacote para sua distribuição!). Você precisará xsel
e clipnotify
instalados, e também dmenu
a menos que planeje usar um inicializador diferente.
clipmenud tem menos de 300 linhas e clipmenu tem menos de 100, então espero que seja bastante autoexplicativo. No entanto, no nível mais básico:
clipmenud
usa clipnotify para aguardar novos eventos da área de transferência.clipmenud
detectar alterações no conteúdo da área de transferência, ele as grava no diretório de cache e em um índice usando um hash como nome do arquivo. clipmenu
lê o índice para encontrar todos os clipes disponíveis.dmenu
é executado para permitir ao usuário selecionar um clipe.