'AppleScript: Toggle Between Safari Windows?
If I have two safari windows open, just one tab in each, how do I get applescript to switch to either of the windows at will? Or in other words, toggle between them.
I tried, activate window 1 (or, the first window), and activate window 2 (or the second window), only ever activates the first window.
I tried open window 1 etc, open doesn't exist.
I tried using the system events, click menu bar 1 option, thinking maybe menu bar 2 was for window 2, didn't work.
I tried making do javascript on a specific tab show that page, couldn't get that to work.
Ultimately I did figure out I could use a keyboard shortcut, but I wanted to see if there was a more 'vanilla' applescript way.
Solution 1:[1]
When I do just this
tell application "Safari"
set index of window 2 to 1
end tell
The new window that shows up is frozen. I fixed this by doing this
tell application "Safari"
set theWindows to windows
set win2 to item 2 of theWindows
tell win2
set visible to false
set visible to true
set index to 1
end tell
activate
end tell
Solution 2:[2]
If the windows are not full screen (in different spaces) just change the
indexof the windowtell application "Safari" set index of window 2 to 1 end tellIf the windows are in different spaces you have to switch the spaces by executing the keystrokes with
System Events. The default values on the US keyboard are ??tell application "System Events" key code 123 using (control down) end telland ??
tell application "System Events" key code 124 using (control down) end tell
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | djbritt |
| Solution 2 | vadian |
