Esto es para un archivo .scpt, activado por un combo de teclado en FastScripts, titulado "Type As Single Line Plain Text."
El código AppleScript toma el texto del portapapeles, elimina todo el formato de texto enriquecido y luego elimina todos los saltos de línea y sangrías, configurando esta nueva cadena a una nueva variable, theClipboardTextWithoutAnyLineBreaksOrFormatting
. Finalmente, quiero que AppleScript inserte este nuevo texto en el cursor parpadeante.
Pero, no quiero sobrescribir el portapapeles original con esta nueva cadena de texto sin formato. Simplemente quiero que la nueva cadena se escriba en el cursor parpadeante, en todo el sistema y en cualquier aplicación. keystroke
logra exactamente lo que quiero. Es solo lento.
Aquí está el script completo:
set theClipboardTextWithoutAnyFormatting to (the clipboard as text)
set AppleScript's text item delimiters to {return & linefeed, return, linefeed, character id 8233, character id 8232}
set theClipboardTextWithoutAnyLineBreaksOrFormatting to text items of (theClipboardTextWithoutAnyFormatting as text)
set AppleScript's text item delimiters to {" "}
tell application "System Events" to keystroke theClipboardTextWithoutAnyLineBreaksOrFormatting
El problema con este método es que si theClipboardTextWithoutAnyLineBreaksOrFormatting
contiene una cadena muy larga, por ejemplo, 2000 caracteres, tomará un tiempo para que todo el texto se escriba, ya que se realiza manualmente en tiempo real .
¿Hay una mejor manera?