Esiste un modo più rapido per inserire del testo in un cursore in AppleScript rispetto alla "battitura"?

3

Questo è per un file .scpt, attivato da una combinazione di tasti in FastScripts, intitolato "Tipo come testo normale a riga singola."

Il codice AppleScript prende il testo degli appunti, rimuove tutta la formattazione del rich text e quindi rimuove tutte le interruzioni di riga e le rientranze, impostando questa nuova stringa su una nuova variabile, theClipboardTextWithoutAnyLineBreaksOrFormatting . Infine, voglio che l'AppleScript inserisca questo nuovo testo nel cursore lampeggiante.

Ma non voglio sovrascrivere gli appunti originali con questa nuova stringa di testo semplice. Voglio semplicemente che la nuova stringa venga digitata al cursore lampeggiante, a livello di sistema e in qualsiasi applicazione. keystroke realizza esattamente ciò che voglio. È solo lento.

Ecco lo 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

Il problema con questo metodo è che se theClipboardTextWithoutAnyLineBreaksOrFormatting contiene una stringa molto lunga, ad esempio 2000 caratteri, ci vorrà un po 'di tempo prima che tutto il testo venga digitato, poiché viene eseguito manualmente in tempo reale .

C'è un modo migliore?

    
posta rubik's sphere 11.02.2017 - 13:35
fonte

1 risposta

1

Sì.

L'utente @ jackjr300 ha escogitato una soluzione ideale per questa domanda qui:

Questa soluzione funziona a livello di sistema e non influisce sugli appunti.

Il file Objective-C TypeCharacters fornito è significativamente (cioè esponenzialmente) più veloce alla digitazione del testo rispetto al comando nativo keystroke di AppleScript.

    
risposta data 26.09.2017 - 13:26
fonte

Leggi altre domande sui tag