Gostaria de observar a área de transferência de maneira semelhante à forma como inotify
assiste 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 make
no diretório clonado. Um novo arquivo executável será criado no diretório que será executado para executar o programa.