Jag byter hela tiden mellan svenska, engelska och tyska och tycker det är ytterst segt att byta språk, det kräver ju minst fyra klick, vilket blir rätt jobbigt efter 20-30 gånger på en dag. Jag hittade ett script här, men får det inte att funka.
Den lyckas öppna stavningsdialogen, men hittar den inte sen. Det verkar inte som jag har fel namn på fönstret. I vilket fall känns det inte som någon särskilt snygg lösning att gå genom menyerna i scriptet. Är det någon AppleScript-trollkarl här som vet hur man får det att funka, alternativt vet någon annan lösning?
Min variant:
property lang_one : "Swedish" --change to option given in menu
property lang_two : "British English" --change to option given in menu
property lang_three : "Deutsch"
-- #### på nästa rad ligger nog problemet ####
property name_of_spelling_window : "Stavning" --change to be as given in your language
property name_of_menu : "OtherViews" --change to be as given in your language
property error_message : "Nix, här kan man inte stava rätt minsann!"
--error message displayed when an application has no spelling option for the current window
set app_name to my get_front_app()
tell application app_name to activate
tell application "System Events"
tell process app_name
keystroke ":" using {command down, shift down}
delay 0.5 --need to adjust for your machine
if exists (window name_of_spelling_window) then
tell window name_of_spelling_window
tell group 1
tell pop up button 1
set current_lang to value as string
click
tell menu name_of_menu
if current_lang = lang_one then
click menu item lang_two
else if current_lang = lang_two then
click menu item lang_three
else
click menu item lang_one
end if
end tell
end tell
end tell
click (the first button whose subrole is "AXCloseButton")
end tell
else
display dialog error_message with icon stop
end if
end tell
end tell
on get_front_app()
tell application "System Events"
keystroke "h" using command down
delay 0.5 --need to adjust for your machine
set appname to name of (first process whose frontmost is true) as string
end tell
return appname
end get_front_app