Sto tentando di creare un "Servizio" in Automator che modifica il carattere del testo selezionato nell'app in primo piano.
Potresti assegnare una scorciatoia a uno script come questo:
tell application "System Events" to tell (process 1 where frontmost is true)
set {c1, c2} to value of attribute "AXSelectedTextRange" of text area 1 of scroll area 1 of window 1
end tell
tell application (path to frontmost application as text) to tell document 1
tell characters c1 thru c2
set font to "Menlo"
set size to 18
end tell
end tell
Funziona con TextEdit e WriteRoom, ma probabilmente deve essere modificato per altre applicazioni.
Un'altra opzione davvero terribile:
try
set old to the clipboard as record
end try
do shell script "textutil -stdin -stdout -format html -convert rtf <<< '<span style=\"font: 18px Menlo\">a</span>' | pbcopy"
tell application "System Events"
keystroke "v" using command down
keystroke "c" using {option down, command down}
keystroke "z" using command down
keystroke "v" using {option down, command down}
end tell
delay 0.05
try
set the clipboard to old
end try
Dopo molte ricerche, il flusso di lavoro qui sotto funziona per me in TextEdit, Mail, Notes, Stickies. Dove non funziona è quando l'app utilizza Stili (Microsoft Word, Pages, Keynote), perché lo stile sostituisce il carattere che hai inserito. L'unico modo in cui posso pensare di sovrascrivere lo stile è quello di creare direttamente uno script per ogni app per creare uno stile personalizzato.
CodiceapplesScript:
onrun{input,parameters}doshellscript"pbpaste | textutil -stdin -stdout -convert rtf -font Arial -fontsize 12 | pbcopy"
tell application "System Events" to keystroke "v" using command down
return input
end run
Leggi altre domande sui tag services applescript automator