You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.8 KiB
AppleScript
50 lines
1.8 KiB
AppleScript
#!/usr/bin/env osascript
|
|
# vim:ts=4:sts=4:sw=4:et
|
|
#
|
|
# Author: Hari Sekhon
|
|
# Date: 2022-02-28 13:05:26 +0000 (Mon, 28 Feb 2022)
|
|
#
|
|
# https://github.com/HariSekhon/DevOps-Bash-tools
|
|
#
|
|
# License: see accompanying Hari Sekhon LICENSE file
|
|
#
|
|
# If you're using my code you're welcome to connect with me on LinkedIn and optionally send me feedback to help steer this or other code I publish
|
|
#
|
|
# https://www.linkedin.com/in/HariSekhon
|
|
#
|
|
|
|
set defaultBrowser to do shell script "defaults read \\
|
|
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure \\
|
|
| awk -F'\"' '/http;/{print window[(NR)-1]}{window[NR]=$2}'"
|
|
|
|
if defaultBrowser is "" or defaultBrowser contains "safari" then
|
|
set defaultBrowser to "Safari"
|
|
else if defaultBrowser contains "chrome" then
|
|
set defaultBrowser to "Google Chrome"
|
|
else if defaultBrowser contains "firefox" then
|
|
set defaultBrowser to "Firefox"
|
|
else
|
|
set defaultBrowser to "Unknown"
|
|
end if
|
|
|
|
-- doesn't work because tell application is needed at compile time, so best we can do is create a script to launch in a separate process
|
|
--tell application defaultBrowser
|
|
-- keystroke "w" using command down
|
|
--end tell
|
|
|
|
-- doesn't work either
|
|
--set theScript to "tell application \"" & defaultBrowser & "\" to keystroke \"w\" using command down"
|
|
--do shell script "echo '" & theScript & "'"
|
|
--run script theScript
|
|
|
|
tell application "System Events"
|
|
set frontmostProcess to first process where it is frontmost
|
|
tell process defaultBrowser
|
|
set frontmost to true
|
|
keystroke "w" using command down
|
|
-- capture the original process and switch it back afterwards instead, just in case we're already in the browser we don't want to Cmd-Tab away
|
|
--keystroke tab using command down
|
|
end tell
|
|
set frontmost of frontmostProcess to true
|
|
end tell
|