Réglage d'un type de presse-papiers sans définir "style de text Clipboard"

Je développe un outil pour append une version HTML d'un text au presse-papiers. Actuellement, j'utilise applescript pour manipuler le presse-papiers.

Malheureusement, je me suis rendu count qu'en plus des inputs que je lui request d'append, il ajoute également le styled Clipboard text input. Cela, je crois, fait que des applications comme Pages ne parviennent pas à coller la version HTML.

Pour voir l'état actuel du presse-papiers j'utilise (avec le mot "while" dans le presse-papiers).

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

J'ajoute la variante HTML comme suit (le code HTML est codé comme une string hexadécimale):

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

Après avoir ajouté la variante HTML, le presse-papiers contient:

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

Le coller dans Pages (-09) entraîne l'insertion de la version en text brut du text.

Toutefois, lorsque vous copyz le même à partir de l'éditeur Gmail dans Chrome, il peut être collé avec des informations sur les surlignées dans Pages. Dans ce cas, le presse-papiers contient:

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

Ma conclusion est que la différence est l'input de styled Clipboard text .

Donc, à la vraie question. Comment puis-je définir l'input HTML sans définir l'input de styled Clipboard text .

J'ai essayé plusieurs approches. Par exemple, j'ai essayé de définir le presse-papiers pour contenir uniquement une string et une input HTML, mais l'input supplémentaire est toujours incluse. J'ai également essayé de définir l'input de styled Clipboard text dans la string vide, mais aussi de définir également toutes les inputs de text brut à la string vide.

Je ne pense pas que l'outil de command line de pbcopy est assez puissant pour faire ceci, car il place le presse-papier à une nouvelle valeur.

Bien que j'utilise actuellement applescript pour ce faire, je suis ouvert à l'utilisation de tout outil disponible, de preference scriptable (afin que je n'ai pas à requestr aux users d'effectuer une compilation).

Après quelques searchs, j'ai constaté que vous pouvez manipuler le Pasteboard à partir de Python, sans avoir introduit l'input de styled Clipboard text Style styled Clipboard text . J'ai réimplémenté le module ruby ​​/ applescript en Python, maintenant je peux copyr le text en surbrillance de la syntaxe d'Emacs et le coller dans des applications muettes comme la window du terminal ou les applications qui peuvent gérer du text formaté, comme Pages.