Ser notificado sobre alterações no conteúdo da área de transferência

Ser notificado sobre alterações no conteúdo da área de transferência

Gostaria de observar a área de transferência de maneira semelhante à forma como inotifyassiste os arquivos, para poder exibir o conteúdo real da área de transferência na linha de status do tmux ou em qualquer outra GUI personalizada em meu sistema. Não gosto de pesquisas porque carrega o sistema e não responde muito bem. Estou no GNOME/X11. Quais maneiras existem?

Responder1

Como isso passou tanto tempo sem resposta, vou tentar.

Primeiro, a votação seria fácil, mas você disse que não queria fazer isso.

Descubra qual programa fornece sua área de transferência real, elimine-o e execute-o com strace e execute algumas ações simples na área de transferência e veja o que ele faz. Esperançosamente, isso lhe dará algumas pistas sobre como e onde os novos dados estão sendo armazenados. Depois de saber isso, você saberá especificamente o que está tentando detectar.

Responder2

Clipnotificaré um programa simples que responde quando qualquer alteração na área de transferência é detectada.

PS. Ele também monitora eventos PRIMÁRIOS da área de transferência (seleções de texto) que podem não ser desejados. Isso é facilmente contornado simplesmente comentando uma linha: -

XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);

no arquivo de código-fonte clipnotify.c(todos os créditos a um comentário emoutra resposta stackexchangefeito por um usuário chamadoAkhilpor sugerir esta solução alternativa. Isso me poupou muitos problemas)

PS. para instalar o clipnotify, basta clonar o repositório github e executar o comando makeno diretório clonado. Um novo arquivo executável será criado no diretório que será executado para executar o programa.

informação relacionada