Skip to content

Instantly share code, notes, and snippets.

@brooksduncan
Forked from redsweater/SwitchProfile
Created February 10, 2014 16:48
Show Gist options
  • Save brooksduncan/8919579 to your computer and use it in GitHub Desktop.
Save brooksduncan/8919579 to your computer and use it in GitHub Desktop.
-- Launches ScanSnap Manager, if necessary. Opens the ScanSnap Manager settings window,
-- changes to named profile, applies changes, and closes the window
-- Example:
SwitchToProfile("Standard")
on SaveActiveApplication()
return application
end SaveActiveApplication
on OpenOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
activate
set isWindowOpen to false
repeat while isWindowOpen is false
try
window 1
set isWindowOpen to true
on error
tell menu 1 of menu bar item "ScanSnap Manager" of menu bar 1
click menu item "Settings..."
end tell
delay 0.5
end try
end repeat
end tell
end tell
end OpenOptionsWindow
on ApplyChangesAndCloseOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
-- Apply
click button "Apply" of window 1
-- Close
click button 1 of group 2 of window 1
end tell
end tell
end ApplyChangesAndCloseOptionsWindow
-- Our definition of "Is Running" is that it has the menu item available for opening the settings window … we wait for that
-- because if we just wait for it to be "launched" it may still be setting up ...
on EnsureScanSnapRunning()
tell application "System Events"
launch application "ScanSnap Manager"
set isLaunched to false
repeat while isLaunched is false
try
menu 1 of menu bar item "ScanSnap Manager" of menu bar 1 of application process "ScanSnap Manager"
set isLaunched to true
end try
end repeat
end tell
end EnsureScanSnapRunning
on SwitchToProfile(profileName)
EnsureScanSnapRunning()
OpenOptionsWindow()
tell application "System Events"
tell application process "ScanSnap Manager"
tell (pop up button 1 of group 2 of window 1)
click
tell menu 1
try
click menu item profileName
on error
cancel
display dialog "Can't find the target menu item \"" & profileName & "\", please make sure you have a profile set up with this name, or modify the script to match the desired name"
end try
end tell
end tell
end tell
end tell
ApplyChangesAndCloseOptionsWindow()
end SwitchToProfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment