xclip é uma interface de linha de comando para a área de transferência do X. Quando eu estava tentando configurar uma função de segurança com essa ferramenta, observei alguns efeitos que não entendo.
O que eu fiz é canalizar strings para o xclip com a opção loops definida como 1 (xclip sai depois de um único evento paste com loops definido como 1), assim:
echo test | xclip -loops 1 -display :0 -selection c -verbose
Então, quando tentei colar na área de trabalho do Linux Mate, observei o seguinte: Colocar em um formulário da Web ou na barra de pesquisa do Firefox funcionava como um charme com loops definidos como 1, mas colando na barra de endereços do Firefox não é possível assim.
Para colar na barra de endereços do Firefox, foi necessário aumentar os loops para 2, ou seja, dois eventos de colar foram "consumidos". Colando na barra de endereços do Google Chrome consumiu 4 eventos de colar. Mesmo colando em um editor de texto simples como o Pluma exigiu 2 eventos de colar.
Mas por que isso acontece? Por que às vezes é necessário fornecer o conteúdo da área de transferência várias vezes para colar com êxito em um aplicativo e por que os aplicativos se comportam de maneira tão diferente?
Tags clipboard mate linux copy-paste