Script copia il contenuto degli appunti in un file

2

Voglio scrivere uno script di shell che copia il contenuto degli appunti (solo testo in chiaro) quando il contenuto precedente cambia. Quando lancio lo script ogni volta che copio qualcosa (quindi il contenuto degli appunti cambia) lo script copia i nuovi valori in un file.

Ho scritto uno script che funziona correttamente:

#!/bin/bash
prev=" "
while true
do
curr=$(pbpaste)
if [ "$curr" != "$prev" ]
then
   echo -n " " >> /Users/davide/desktop/file   
echo -n $curr >> /Users/davide/desktop/file     
fi
done

Non mi piace molto questa soluzione. Ci devono essere diversi modi per risolvere questo problema.

1) Ottieni il contenuto degli appunti, archivia in una variabile e confronta questo valore con il valore corrente degli appunti (la mia soluzione).

2) Rileva tasto premuto CMD + C . Quando l'utente preme CMD + C (collegamento per copiare qualcosa negli appunti) quasi certamente il contenuto degli appunti cambia, ma non so se è possibile rilevare la sequenza di tasti senza installare ulteriori librerie.

3) Vedi il processo.

È possibile monitorare l'utilizzo della cpu o mem del processo pboard (quando si copia qualcosa negli appunti il valore di questa variazione percentuale)?

Oppure (non so se è possibile) posso vedere per affrontare lo spazio del processo?

Quindi la mia domanda è questa:

Secondo te, esiste un'alternativa migliore alla sceneggiatura che ho scritto, considerando le alternative 2 e 3?

    
posta growing 04.06.2018 - 19:26
fonte

1 risposta

1

Un prodotto come questo esiste già ed è disponibile gratuitamente su App Store - Flycut.

Dalla loro pagina del progetto Github :

Save the clipboard history item currently displayed to a file, closing the Bezel. Delete the item from the clipboard history if capital S was pressed. Clipping is saved to a file on the Desktop, akin to how Screen Shots are saved by OS X. e.g. "Desktop/Clipping 2015-07-15 at 08.35.10.txt

    
risposta data 04.06.2018 - 19:57
fonte

Leggi altre domande sui tag