|
|
Automatically zoom new pages in Safari
The best way to write recurring actions in AppleScript is to use "idle" block. Not actually tested fully, this hint written as an idle app follows.
Also two test handlers are separated for readability. Save as an application, "Stay open" chosen in save dialog. When run, it tests and functions every 1 second. Can someone using English as UI language test it? Cheers, Tuomas Rosberg
global appPath, previousURL on run set appPath to (path to application "Safari") end run ---------- on idle if SafariRunningTest() is true then set p to (path to frontmost application) if p is not appPath then -- Safari is not the frontmost application -- idle on! else -- Safari is the frontmost app tell application "Safari" set currentURL to URL of current tab of window 1 -- window 1 is apparently always the active window in Safari end tell if currentURL is not "" then -- this will ignore new tabs where a page is not yet loaded if currentURL is not previousURL then -- check, if we have already zoomed in this tab if ActualSizeChecked() is false then -- here we fire off the key shortcuts -- these may differ according to the OS X language tell application "System Events" keystroke "+" using command down keystroke "+" using command down end tell set previousURL to currentURL end if end if end if end if end if return 1 -- to repeat every 1 second end idle ------ on SafariRunningTest() tell application "System Events" return exists of process "Safari" end tell end SafariRunningTest ------ on ActualSizeChecked() tell application "System Events" tell process "Safari" -- these differ according to language chosen in System Prefs return enabled of menu item "Actual Size" of menu "View" of menu bar item "View" of menu bar 1 end tell end tell end ActualSizeChecked
Automatically zoom new pages in Safari
Very nice!
It complains about previousURL not being defined, but inserting
in the run-handler fixes this.
Automatically zoom new pages in Safari
Another thing, we have to wrap the
in a try-statement, since currentURL won't be defined, if we just opened a new tab and haven't typed a URL yet. This wasn't obvious from my original script.
I'll post the corrected script in the root of the comments. |
SearchFrom our Sponsor...Latest Mountain Lion HintsWhat's New:HintsNo new hintsComments last 2 daysLinks last 2 weeksNo recent new linksWhat's New in the Forums?
Hints by TopicNews from Macworld
From Our Sponsors |
|
Copyright © 2014 IDG Consumer & SMB (Privacy Policy) Contact Us All trademarks and copyrights on this page are owned by their respective owners. |
Visit other IDG sites: |
|
|
|
Created this page in 0.05 seconds |
|