Changing preferences in System Preferences has gotten trickier over recent versions of OS X, so I try to avoid it whenever possible.
I have two suggestions, both of which should be easily do-able in Keyboard Maestro, and neither of which involves touching System Preferences.
Time Machine
1/
My first idea for Time Machine is a simple one: unmount the Time Machine drive/partition when 'Ableton Live 10 Suite' launches, and re-mount it when the app quits.
That will obviously prevent Time Machine from running, but it will only work if Time Machine backs up to a drive/partition which is not used by anything else.
A simple shell command should do it, something like
diskutil unmount MyTMdrive
should unmount the drive. (Replace MyTMdrive
with the actual name that appears in /Volumes/
, of course.)
Then something like
diskutil mount MyTMdrive
should bring it back.
(Be sure not to use diskutil eject
which I believe means that you will need to physically disconnect/reconnect the drive to use it again.)
2/
If you can't use the mount/unmount idea, then the next easiest way is to tell Time Machine to disable automatic backups using the tmutil
command:
From man tmutil
:
disable
Turn off automatic backups. Requires root privileges.
The 'root privileges' thing is a bit tricky. There are two ways around that:
Option A) The easiest way to get around it is to run an AppleScript which invokes a shell script:
do shell script "tmutil disable" with administrator privileges
and then you'll be prompted to enter your password each time you run the command.
Option B) I would find entering my password every time I had to do this annoying, so I would add tmutil
to /etc/sudoers :
%admin ALL=NOPASSWD:/usr/bin/tmutil
that way I could run a shell script (not an AppleScript) in Keyboard Maestro) which did this:
sudo tmutil disable
without having to enter my administrator password.
Be careful editing /etc/sudoers. Use sudo visudo
to make your changes.
Disable the Screen Saver
Disabling the screen saver is actually quite easy.
The trick is that you don't need to disable the screen saver… you just need to tell the computer not to let it start, which sounds like the same thing, but it’s slightly different.
The way to do that is with the caffeinate
command. From man caffeinate
:
caffeinate creates assertions to alter system sleep behavior. If no assertion flags are specified, caffeinate creates an assertion to prevent idle
sleep. If a utility is specified, caffeinate creates the assertions on the utility's behalf, and those assertions will persist for the duration of
the utility's execution. Otherwise, caffeinate creates the assertions directly, and those assertions will persist until caffeinate exits.
Available options:
-d Create an assertion to prevent the display from sleeping.
Preventing the display from sleeping also prevents the screen saver from being triggered (at least in my testing).
The key here is that in order for this to work with an app, you have to give it the full path to the app executable, not just the '.app' bundle.
For example, if I wanted to keep my Mac awake while I was using TextEdit, this would be wrong:
caffeinate -d "/Applications/TextEdit.app"
but this would be right:
caffeinate -d "/Applications/TextEdit.app/Contents/MacOS/TextEdit"
(normally the app executable for "Foo.app" is "Foo.app/Contents/MacOS/Foo" so you can adapt that for your app.)
Note that you don't technically need the "quotation marks" around the path, unless there are spaces or some other punctuation that might trip-up the shell, so I just used them to be safe.
Apps That Do This Too:
There was an app called "Caffeine" which people used for this, but it hasn't been updated in a long time.
Fortunately there are two free alternatives which are currently maintained:
-
"Keeping You Awake" (https://github.com/newmarcel/KeepingYouAwake)
-
"Amphetamine" (https://itunes.apple.com/us/app/amphetamine/id937984704?mt=12).
"Amphetamine" has a specific feature to keep the Mac awake while an app is running. It also comes from the Mac App Store, so it has the advantage of being easily updated when new versions are released.
I hope this helps! Let me know if you run into trouble.