Aqui está um pequeno script do Python 3 que captura as alterações da área de transferência e as imprime no terminal:
#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
def callback(*args):
print(clip.wait_for_text(), flush=True)
clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect('owner-change', callback)
Gtk.main()
Você pode salvar este arquivo, por exemplo ...
- como
~/bin/cliplog
(qualquer nome dentro do diretóriobin/
no diretório inicial do usuário - talvez seja necessário criar esse diretório e executarsource .profile
primeiro, se ainda não existir), se desejar para seu usuário apenas, -
ou como
/usr/local/bin/cliplog
(qualquer nome dentro de/usr/local/bin/
- você precisa de privilégiossudo
/ root para salvar um arquivo lá) se todos os usuários em sua máquina tiverem acesso a ele.
Não se esqueça de torná-lo executável usando chmod +x /path/to/wherever/you/saved/cliplog
.
Agora você pode simplesmente digitar o comando cliplog
(ou como você o nomeou) no seu terminal e o script acima irá capturar todas as alterações em sua área de transferência e imprimir o conteúdo alterado.
Por favor note que este comando é executado para sempre até que você o interrompa pressionando Ctrl + C no terminal. (Sim, é o mesmo atalho para copiar coisas na área de trabalho como para enviar o sinal de interrupção SIGINT no terminal.)
Para armazenar automaticamente esse log em um arquivo, basta usar o redirecionamento do Bash:
cliplog > mylogfile.txt
Ou se você quiser ver a saída e salvá-la em um arquivo de log, use tee
:
cliplog | tee mylogfile.txt
Se você deseja anexar ao arquivo de log em vez de sobrescrevê-lo, use >>
ou tee -a
.