2013-05-01 14 views
6

Diversi gestori di Appunti OSX dall'AppStore mostrano la capacità di determinare l'applicazione di origine del contenuto che è stato copiato negli Appunti.Determinare l'applicazione di origine del contenuto di pasteboard corrente

Sto scrivendo un semplice osservatore di appunti e vorrei mostrare l'icona di applicazione sorgente vicino al contenuto, memorizzato in NSPasteboard generale. E mi piacerebbe sapere come questo possa essere raggiunto.

Per quanto posso vedere, NSPasteboard non fornisce informazioni aggiuntive tranne tipi di dati e dati.

Forse ci sono alcuni eventi o notifiche per sapere che è stato attivato un comando 'copia'? O altri modi?

+1

Diversi manager OSX clipboard = CopyLess. Questa è l'unica app che fa il trucco per quanto posso vedere. – UJey

+0

Forse usano AppleScript in qualche modo? – UJey

risposta

6

Credo che il modo in cui CopyLess e Alfred 2 (che supporta anche questo) funzioni è che hanno un timer che controlla gli appunti per le modifiche. Quando vedono una modifica negli Appunti ottengono l'applicazione attiva e associano l'app alla modifica. Probabilmente non è un metodo infallibile, ma dovrebbe funzionare nella maggior parte dei casi.

+1

Grazie a @Dustin. Ho finito con la stessa conclusione. – UJey

2

C'è un nuovo quasi-standard per questo ora (al dicembre 2016), vedi http://nspasteboard.org

Funziona come segue:

  • Per impostazione predefinita, un programma che registra il contenuto degli appunti assumono che l'applicazione più in primo piano è quella che ha riempito gli appunti (che, certamente, funziona solo se il programma è già in esecuzione quando il contenuto degli appunti è impostato).

  • Ma se è presente un tipo di nota (tipo) negli appunti del tipo org.nspasteboard.source, il contenuto di questo sapore deve essere l'ID del pacchetto dell'applicazione che ha riempito la clipbard.

(Si tratta di un quasi-standard in quanto è stato discusso e concordato dai membri interessati di una mailing list gestita da nspasteboard.org)

+0

Qualcuno, mostralo agli sviluppatori 1Password :) Voglio dire "org.nspasteboard.source" per il loro agente della barra dei menu. – UJey

+1

Gli sviluppatori 1pw si trovano sulla suddetta mailing list. Qualcuno deve solo convincerli a implementare il nuovo protocollo. –

Problemi correlati