diff --git a/README.md b/README.md index 065fcff..38d6b6f 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1557 TILs and counting..._ +_1558 TILs and counting..._ See some of the other learning resources I work on: - [Ruby Operator Lookup](https://www.visualmode.dev/ruby-operators) @@ -661,6 +661,7 @@ See some of the other learning resources I work on: - [Run AppleScript Commands Inline In The Terminal](mac/run-applescript-commands-inline-in-the-terminal.md) - [Set A Window To Its Default Zoom Level](mac/set-a-window-to-its-default-zoom-level.md) - [Specify App When Opening From Command Line](mac/specify-app-when-opening-from-command-line.md) +- [Start Amphetamine Session With AppleScript](mac/start-amphetamine-session-with-applescript.md) - [Use Default Screenshot Shortcuts With CleanShot X](mac/use-default-screenshot-shortcuts-with-cleanshot-x.md) - [View All Windows Of The Current App](mac/view-all-windows-of-the-current-app.md) - [Write System Clipboard To A File](mac/write-system-clipboard-to-a-file.md) diff --git a/mac/start-amphetamine-session-with-applescript.md b/mac/start-amphetamine-session-with-applescript.md new file mode 100644 index 0000000..82802ef --- /dev/null +++ b/mac/start-amphetamine-session-with-applescript.md @@ -0,0 +1,37 @@ +# Start Amphetamine Session With AppleScript + +I use the _Amphetamine_ app on Mac to keep my computer from going to sleep +during the day. It is a menu bar app that can be used to start a _Session_ of +time where it will keep your computer from going to sleep. At the start of my +day, I'll typically start an 8 hour _Session_. This is useful if I have to step +away fo 10 minutes or if I'm doing some writing in my notebook, my computer +won't go to sleep on me. + +Though these sessions can be controlled from the menu bar app, I was excited to +learn that I can also programatically start a session with AppleScript. + +Here is how to start a _Session_ (overriding an existing session) with options +that specify it is 8 hours long and the display should not be allowed to sleep. + +```bash +$ osascript -e 'tell application "Amphetamine" to start new session with options {duration:8, interval:hours, displaySleepAllowed:false}' +``` + +The `interval` could also be `minutes` and then I could change the duration to +an amount of time that makes sense in minutes, e.g. `90` for 1.5 hours. + +Note: the `with options {...}` segement is all or nothing. All three need to be included or don't include the clause at all. + +Additionally, a session of indefinite duration can be started by including no options: + +```bash +$ osascript -e 'tell application "Amphetamine" to start new session' +``` + +And any existing session can be ended with: + +```bash +$ osascript -e 'tell application "Amphetamine" to end session' +``` + +[source](https://iffy.freshdesk.com/support/solutions/articles/48000078223-applescript-documentation)