Impostazione di un tipo di Appunti senza impostare "testo in stile Appunti"

1

Sto sviluppando uno strumento per aggiungere una versione HTML di un testo negli Appunti. Attualmente sto usando il applescript per manipolare gli appunti.

Purtroppo, ho capito che oltre alle voci che chiedo di aggiungere, aggiunge anche la voce styled Clipboard text . Questo, credo, fa sì che applicazioni come Pages non riescano a incollare la versione in HTML.

Per vedere lo stato attuale degli appunti che uso (con la parola "while" negli appunti).

$ osascript -e "the clipboard as record"
«class utf8»:while, «class ut16»:while, string:while, Unicode text:while

Aggiungo la variante HTML come segue (l'HTML è codificato come una stringa esadecimale):

$ osascript -e "set the clipboard to ((the clipboard as record) & {«class HTML»:«data HTML3c6d65746120636861727365743d277574662d38273e3c7072653e3c7370616e207374796c653d22636f6c6f723a20236364303063643b223e7768696c653c2f7370616e3e3c2f7072653e0a»})"

Dopo aver aggiunto la variante HTML, gli appunti contengono:

Unicode text:while,
string:while,
styled Clipboard text:«data styl01000000000010000E00030000000C00000000000000»,
«class utf8»:while,
«class HTML»:«data HTML3C6D65746120636861727365743D277574662D38273E3C7072653E3C7370616E207374796C653D22636F6C6F723A20236364303063643B223E7768696C653C2F7370616E3E3C2F7072653E0A»,
«class ut16»:while

Incollare questo in Pages (-09) causa la versione in testo normale del testo da inserire.

Tuttavia, quando si copia lo stesso dall'editor di Gmail in Chrome, può essere incollato con le informazioni di evidenziazione in Pages. In questo caso gli appunti contengono:

«class utf8»:while,
«class HTML»:«data HTML3C6D65746120636861727365743D277574662D38273E3C707265207374796C653D22636F6C6F723A207267622833342C2033342C203334293B20666F6E742D73697A653A20736D616C6C3B20666F6E742D7374796C653A206E6F726D616C3B20666F6E742D76617269616E743A206E6F726D616C3B20666F6E742D7765696768743A206E6F726D616C3B206C65747465722D73706163696E673A206E6F726D616C3B206C696E652D6865696768743A206E6F726D616C3B206F727068616E733A206175746F3B20746578742D616C69676E3A2073746172743B20746578742D696E64656E743A203070783B20746578742D7472616E73666F726D3A206E6F6E653B207769646F77733A20313B20776F72642D73706163696E673A203070783B202D7765626B69742D746578742D7374726F6B652D77696474683A203070783B206261636B67726F756E642D636F6C6F723A20726762283235352C203235352C20323535293B223E3C7370616E207374796C653D22636F6C6F723A20726762283230352C20302C20323035293B223E7768696C653C2F7370616E3E3C2F7072653E»,
«class ut16»:while,
string:while,
Unicode text:while

La mia conclusione è che la differenza è la voce styled Clipboard text .

Quindi, oltre alla vera domanda. Come posso impostare la voce HTML senza impostare la voce styled Clipboard text .

Ho provato diversi approcci. Ad esempio, ho provato a impostare gli appunti solo per contenere una stringa e una voce HTML, ma la voce aggiuntiva è ancora inclusa. Ho anche provato a impostare la voce styled Clipboard text sulla stringa vuota ma anche a impostare anche tutte le voci di testo normale sulla stringa vuota.

Non penso che lo strumento della riga di comando pbcopy sia abbastanza potente per fare ciò, poiché imposta gli appunti su un nuovo valore.

Mentre sto usando il applescript per fare questo, sono aperto ad usare qualsiasi strumento disponibile, preferibilmente uno scriptable (in modo da non dover chiedere agli utenti di eseguire una compilation).

    
posta Lindydancer 26.06.2015 - 05:44
fonte

1 risposta

1

Dopo alcune indagini ho scoperto che puoi manipolare il Pasteboard da Python, senza averlo introdotto la voce styled Clipboard text . I reimplementato il modulo ruby / applescript in Python, quindi ora posso copiare la sintassi testo evidenziato da Emacs e incollalo in applicazioni stupide come la finestra del terminale o applicazioni in grado di gestire testo formattato, come Pages.

    
risposta data 26.06.2015 - 20:17
fonte

Leggi altre domande sui tag