Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/SKaplanOfficial/macOS-Automation-Resources

Resources for MacOS automation languages
https://github.com/SKaplanOfficial/macOS-Automation-Resources

Last synced: about 2 months ago
JSON representation

Resources for MacOS automation languages

Awesome Lists containing this project

README

        

# macOS Automation Resources

This is a collection of resources for macOS automation technologies. The resources have been organized by type, but there is otherwise no specific order to them. I recommend using Command+F to find materials relevant to your needs.

For each resource, links are provided for both the live website, where possible, and a [Wayback Machine](https://web.archive.org) archive, where reasonable.

## Contents

- [🍎 AppleScript Resources](#applescript-resources)
- [βš™οΈ AppScript Resources](#appscript-resources)
- [πŸ€– Automator Resources](#automator-resources)
- [πŸ”¨ Hammerspoon Resources](#hammerspoon-resources)
- [β˜•οΈ JXA Resources](#jxa-resources)
- [🐍 PyObjC Resources](#pyobjc-resources)
- [β¬’ Raycast Resources](#raycast-resources)
- [πŸ“² Shortcuts Resources](#shortcuts-resources)
- [πŸ¦… SwiftAutomation Resources](#swiftautomation-resources)
- [πŸ”— URL Scheme Resources](#url-scheme-resources)
- [Other Resources](#other-resources)

## Alfred Resources

| Resource | Author/Owner | Type | Topics | Live Link | Archive Link |
| -------- | ------ | ---- | ----------- | --------- | ------------ |
| Getting Started with Alfred Workflows | [Alfred App](https://www.alfredapp.com) | Official Document | Tutorials, Examples | [https://www.alfredapp.com/help/workflows/getting-started/](https://www.alfredapp.com/help/workflows/getting-started/) | [Archive](https://web.archive.org/web/20230927161744/https://www.alfredapp.com/help/workflows/getting-started/) |
| Alfred Forum | N/A | Forum | General Discussion, Tutorials, Examples, Bug Reports | [https://www.alfredforum.com](https://www.alfredforum.com) | [Archive](https://web.archive.org/web/2/https://www.alfredforum.com/) |
| Alfred Workflows for Beginners | [Richard Guay](https://tutsplus.com/authors/richard-guay?_ga=2.238012288.1622482833.1704684048-1825643917.1652742227) | Blog Post | Tutorial | [https://computers.tutsplus.com/alfred-workflows-for-beginners--mac-55446t](https://computers.tutsplus.com/alfred-workflows-for-beginners--mac-55446t) | [Archive](https://web.archive.org/web/20240108032300/https://computers.tutsplus.com/alfred-workflows-for-beginners--mac-55446t) |
| Alfred-Workflow for Python | [deanishe](https://github.com/deanishe) | Developer Tool | N/A | [https://www.deanishe.net/alfred-workflow/](https://www.deanishe.net/alfred-workflow/) | [Archive](https://web.archive.org/web/20231127221737/https://www.deanishe.net/alfred-workflow/) |

### πŸ§‘β€πŸ’» Developer Tools

- [Alfred-Workflow for Python (Live Link)](https://alfred-workflow.readthedocs.io/en/latest/)

### πŸ“‚ Workflow Directories

- [Alfred Gallery (Live Link)](https://alfred.app)
- [Awesome Alfred Workflows (Live Link)](https://github.com/alfred-workflows/awesome-alfred-workflows#text-manipulation)
- [AlfredWorkflows.store](https://www.alfredworkflows.store)
- [Pacmax (Live Link)](https://pacmax.org)
- [Packal (Live Link)](http://www.packal.org)
- [vitorgalvao's Alfred Workflows (Live Link)](https://github.com/vitorgalvao/alfred-workflows/)
- [ctwise's Alfred Workflows (Live Link)](https://github.com/ctwise/alfred-workflows)
- [zenorocha's Alfred Workflows (Live Link)](https://github.com/zenorocha/alfred-workflows)
- [Alfred Workflows - learn-anything (Live Link)](https://github.com/learn-anything/alfred-workflows)
- [willfarrell's Alfred Workflows for Developers (Live Link)](https://github.com/willfarrell/alfred-workflows)
- [msoedov's Collection of Alfred3 Workflows](https://github.com/msoedov/Alfred-collection)

## AppleScript Resources

### πŸ“‘ Apple Documents

- [AppleScript Overview - 2006](https://web.archive.org/web/20220630161718/https://mirror.macintosharchive.org/developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/AppleScriptX.pdf)
- [AppleScript Language Guide Website](https://web.archive.org/web/20220627082327/https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html#//apple_ref/doc/uid/TP40000983-CH208-SW1)
- [AppleScript Language Guide PDF](https://web.archive.org/web/20220630161504/https://nathangrigg.com/images/2012/AppleScriptLanguageGuide.pdf)
- [Mac Automation Scripting Guide](https://web.archive.org/web/20220611122702/https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html)
- [AppleScript Release Notes](https://web.archive.org/web/20211207020852/https://developer.apple.com/library/archive/releasenotes/AppleScript/RN-AppleScript/Introduction/Introduction.html)

### πŸ“– Books

- [AppleScript for Absolute Starters - Bert Altenburg (Borrow)](https://archive.org/details/ost-computer-science-as4as_e/mode/2up?q=AppleScript)
- [AppleScript Programming - Wikibooks (Live Link)](https://en.wikibooks.org/wiki/AppleScript_Programming)
- [AppleScript: The Definitive Guide (Live Link)](https://learning.oreilly.com/library/view/applescript-the-definitive/0596102119/)
- [AppleScript Programming for the Absolute Beginner - Jerry Lee Ford Jr. (Paid, Live Link)](https://www.amazon.com/AppleScript-Programming-Absolute-Beginner-Jerry/dp/1598633848)
- [AppleScript: The Comprehensive Guide to Scripting and Automation on Mac OS X - Hanaan Rosenthal (Paid, Live Link)](https://www.amazon.com/exec/obidos/ASIN/1590596536/bbsapplescrine0e)
- [Everyday AppleScriptObjC, Third Edition - Shane Stanley (Paid, Live Link)](https://macosxautomation.com/applescript/apps/everyday_book.html)
- [Sams teach yourself Applescript in 24 hours - Jesse Feiler (Borrow)](https://archive.org/details/samsteachyoursel00feil_0/mode/2up?q=AppleScript)
- [AppleScript for the Internet - Ethan Wilde (Borrow)](https://archive.org/details/applescriptforin00wild/page/n1/mode/2up?q=AppleScript)
- [AppleScript : the missing manual - Adam Goldstein (Borrow)](https://archive.org/details/applescriptmissi0000gold/page/n1/mode/2up?q=AppleScript)
- [Danny Goodman's AppleScript Handbook (Borrow)](https://archive.org/details/dannygoodmansapp00good/mode/2up?q=AppleScript)
- [Learn AppleScript - The Most Comprehensive Guide to Scripting and Automation on Mac OS X - Hamish Sanderson & Hanaan Rosenthal](https://web.archive.org/web/20220701035229/https://usermanual.wiki/Document/AppleScriptComprehensiveGuide.1300254404.pdf)
- [Basics of AppleScript - Nayan Seth](https://web.archive.org/web/20200515233239/http://downloads.techbarrack.com/books/programming/AppleScript/AppleScript.pdf)
- [APPLESCRIPT BASICS - Jerry Stratton](https://web.archive.org/web/20201029074742/https://www.hoboes.com/NetLife/AppleScript/AppleScript_HTML/)
- [A Beginner's Guide to AppleScript - Guy Hart-Davis](https://web.archive.org/web/20220831000434/https://usermanual.wiki/Document/HartDavisApplescriptBeginnersGuide.282001507/view)
- [The Tao of AppleScript - Derrick Schneider](https://web.archive.org/web/20220906015626/https://vintageapple.org/macbooks/pdf/The_Tao_of_AppleScript_1993.pdf)

### πŸ“Ί Videos

- [An introduction to Apple Script for Noobs - Tim Sullivan (Live Link)](https://www.youtube.com/watch?v=EAZlFptgEPQ)
- [Complete overview of AppleScript - JoshsAppleTechHelper (Live Link)](https://www.youtube.com/watch?v=qpnB2rZNnQE)
- [Apple WWDC 2001 Session 133 - AppleScript Overview](https://www.youtube.com/watch?v=lgQoGvZeD54)
- [Apple WWDC 2004 Session 723 - A Powerful Combination: AppleScript and QuickTime](https://www.youtube.com/watch?v=HoWy9Tj_ggM)
- [Mac OS X Automation Workshop (2 of 2) - Ben Waldie (Live Link)](https://www.youtube.com/watch?v=Z6FA3gsN6sA)
- [Giving your AppleScripts a Face Lift with AppleScriptObjC - Ben Waldie](https://www.youtube.com/watch?v=HE5jFCfkD0w)

### πŸ§‘β€πŸŽ“ Courses

- [Tutorials for AppleScript - Nikolay Smorgun (Paid, Live Link)](https://www.udemy.com/share/1021As/)

### πŸ“¬ Forums/Blogs/Mailing Lists

- [AppleScript Users Mailing List (Live Link)](https://lists.apple.com/mailman/listinfo/applescript-users)
- [[email protected] (Live Link)](https://listserv.dartmouth.edu/scripts/wa.exe?A0=MACSCRPT)
- [Doug's AppleScripts (Live Link)](https://dougscripts.com/itunes/index.php)
- [The Robservatory (Live Link)](https://robservatory.com/tag/applescript/)

### πŸ“§ Forum/Blog/Mailing List Posts

- [iTunes AppleScript examples (command examples) - Alvin Alexander](https://web.archive.org/web/20210430224417/https://alvinalexander.com/apple/itunes-applescript-examples-scripts-mac-reference/)
- [An AppleScript β€œcurrent time” example - Alvin Alexander](https://web.archive.org/web/20211022183009/https://alvinalexander.com/apple/applescript-current-time-example-script-format/)
- [Script a program that isn't scriptable - Alvin Alexander](https://web.archive.org/web/20210224235411/https://alvinalexander.com/blog/post/mac-os-x/applescript-script-program-that-isn-t-scriptable/)
- [How to open a MacOS Terminal in the current Finder folder - Alvin Alexander](https://web.archive.org/web/20210301135636/https://alvinalexander.com/blog/post/mac-os-x/open-terminal-window-in-same-directory-as-current-finder-folder/)
- [How to customize AppleScript dialogs (dialog boxes buttons and icons) - Alvin Alexander](https://web.archive.org/web/20220525035838/https://alvinalexander.com/blog/post/mac-os-x/applescript-customizing-dialog-boxes/)
- [Get the title of the current active Window/Document in Mac OS X - StackOverflow](https://web.archive.org/web/20170122130800/http://stackoverflow.com/questions/480866/get-the-title-of-the-current-active-window-document-in-mac-os-x)
- [Resize frontmost two windows to fill screen - Mac OS X Hints](https://web.archive.org/web/20220315045724/http://hints.macworld.com/article.php?story=20060105082728937) - Window bounds, tiling, etc.
- [Scripting the International preference pane - Mac OS X Hints](https://web.archive.org/web/20171125095935/http://hints.macworld.com/article.php?story=2004070922035163)
- [Posting to a Discourse forum from AppleScript - alldritt](https://web.archive.org/web/20220619174909/https://forum.latenightsw.com/t/posting-to-a-discourse-forum-from-applescript/1606)
- [Example of passing parameters from AppleScript to a Shortcut and getting the return - Dirk](https://web.archive.org/web/20220619180819/https://forum.latenightsw.com/t/example-of-passing-parameters-to-a-shortcut-and-getting-the-return/3395)
- [How can I copy the text displayed in a web page (not the HTML code)?](https://web.archive.org/web/20170707073705/http://macscripter.net/viewtopic.php?id=24412)
- [How can I search for specific items in a folder?](https://web.archive.org/web/20210227182535/https://macscripter.net/viewtopic.php?id=24403)
- [How do I change permissions of a file/folder?](https://web.archive.org/web/20210227192026/https://macscripter.net/viewtopic.php?id=24401)
- [How can I check if a particular application is installed in the system?](https://web.archive.org/web/20210227194354/https://macscripter.net/viewtopic.php?id=24400)
- [How can I check if a particular application is running?](https://web.archive.org/web/20210227183216/https://macscripter.net/viewtopic.php?id=24399)
- [How can I tell the Finder to arrange all items in a folder by name?](https://web.archive.org/web/20210227185559/https://macscripter.net/viewtopic.php?id=24398)
- [How do I rename a file, or a group of files?](https://web.archive.org/web/20220524225201/https://macscripter.net/viewtopic.php?id=24364)
- [How can I move files in Folder A to the trash, except for Folder B?](https://web.archive.org/web/20210227190716/https://macscripter.net/viewtopic.php?id=24394)
- [How can I use a command, but not wait for it to be finished?](https://web.archive.org/web/20210225020305/https://macscripter.net/viewtopic.php?id=24486)
- [How can I configure a script to launch at startup?](https://web.archive.org/web/20210418034618/https://www.macscripter.net/viewtopic.php?id=24457)
- [Introduction to AppleScript - Stephen Swift](https://web.archive.org/web/20200929010101/https://www.macobserver.com/tips/applescript/2001/20010618.shtml)
- [What is a folder action and how do I use one?](https://web.archive.org/web/20210227194634/https://macscripter.net/viewtopic.php?id=24363)
- [How to automate your keyboard in Mac OS X with AppleScript - Christopher Kielty](https://web.archive.org/web/20220623174039/https://eastmanreference.com/how-to-automate-your-keyboard-in-mac-os-x-with-applescript)
- [A simple Numbers workflow - Dr. Dang](https://web.archive.org/web/20220627031837/http://www.leancrew.com/all-this/2014/06/a-simple-numbers-workflow/)
- [Cleaning out old Reminders - Dr. Dang](https://web.archive.org/web/20180624144228/http://leancrew.com/all-this/2017/04/cleaning-out-old-reminders/)
- [How to duplicate an iTerm tab using AppleScript - Genba's Tech Thoughts](https://web.archive.org/web/20220625195036/https://genbastechthoughts.wordpress.com/)
- [APPLESCRIPT CONTROL OF LOGIN ITEMS - sepdek](https://web.archive.org/web/20210823044558/http://georgepavlides.info/applescript-control-login-items/)
- [Adding and deleting login items using AppleScript - Mac Stuff](https://web.archive.org/web/20170223134729/http://macstuff.beachdogs.org/blog/?p=30)
- [Viewing or hiding hidden files in the Finder using AppleScript - Mac Stuff](https://web.archive.org/web/20180813233850/http://macstuff.beachdogs.org/blog/?p=293)
- [Automation for OS X: the JavaScript way - HackMag](https://web.archive.org/web/20220624234058/https://hackmag.com/coding/getting-to-grips-with-javascript-automation-for-os-x/)
- [Get Started With AppleScript – Basics - Ben Liddle](https://web.archive.org/web/20210729022843/https://shootmachine.co/2021/01/07/get-started-with-applescript/)
- [Get Started With AppleScript – Scripting Selections - Ben Liddle](https://web.archive.org/web/20210729022753/https://shootmachine.co/2021/01/07/scripting-selections-variants-and-images/)
- [Get Started With AppleScript – Conditional Processing pt1 - Ben Liddle](https://web.archive.org/web/20220204165902/https://shootmachine.co/2021/01/09/get-started-with-applescript-conditional-processing-pt1/)
- [How to display the size of an app’s frontmost window - Rob Griffiths](https://web.archive.org/web/20220630060230/https://robservatory.com/how-to-display-the-size-of-an-apps-frontmost-window/)
- [Show albums a given Photos’ photo has been added to - Rob Griffiths](https://web.archive.org/web/20210507004617/https://robservatory.com/show-albums-a-given-photos-photo-has-been-added-to/)
- [Assign a photo’s Title field based on its filename in Photos - Rob Griffiths](https://web.archive.org/web/20210124114127/https://robservatory.com/assign-a-photos-title-field-based-on-its-filename-in-photos/)
- [Search the iTunes Store from anywhere - Rob Griffiths](https://web.archive.org/web/20211017053645/https://robservatory.com/search-the-itunes-store-from-anywhere/)
- [Doing Business With Transactions - Bill Cheeseman](https://web.archive.org/web/20210227130044/https://macscripter.net/viewtopic.php?id=24572)
- [Scripting iTerm with AppleScript - Rob Peck](https://web.archive.org/web/20211022121419/https://www.robpeck.com/2010/05/scripting-iterm-with-applescript/)
- [Use AppleScript to Automate with iTerm - TJ Fogarty](https://web.archive.org/web/20201027232828/https://tj.ie/use-applescript-to-automate-with-iterm/)
- [If and If Else: AppleScript Conditional Statements - Josh Johnson](https://web.archive.org/web/20220516164807/https://computers.tutsplus.com/tutorials/if-and-if-else-applescript-conditional-statements--mac-45590)
- [Save Time and Effort with AppleScript Repeat Loops - Josh Johnson](https://web.archive.org/web/2/https://computers.tutsplus.com/tutorials/save-time-and-effort-with-applescript-repeat-loops--mac-45805?_ga=2.163823610.459543265.1662244739-1825643917.1652742227)
- [Schedule a Weekly Reminder Email with AppleScript - Josh Johnson](https://web.archive.org/web/20220903224350/https://computers.tutsplus.com/tutorials/schedule-a-weekly-reminder-email-with-applescript--mac-46228?_ga=2.163823610.459543265.1662244739-1825643917.1652742227)
- [AppleScript Essentials - Introduction to Database Events - Benjamin S. Waldie](https://web.archive.org/web/20221230012439/http://preserve.mactech.com/articles/mactech/Vol.22/22.02/IntrotoDatabaseEvents/index.html)
- [AppleScript Snippets - wik](https://web.archive.org/web/2/http://natural-innovations.com/as/snippets.html)
- [Whose in AppleScript - Dr. Dang](https://web.archive.org/web/20181009130500/http://leancrew.com/all-this/2013/10/whose-in-applescript/#:~:text=The%20arguments%20can%20be%20any%20part%20of%20any,whose%20name%20contains%20%22kern%22%20and%20name%20contains%20%22brian%22)
- [A Strategy for UI Scripting in AppleScript - n8henrie](https://web.archive.org/web/2/https://n8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescript/)

### πŸ§‘β€πŸ’» Code Samples

- [Make DMGs from folders - pudquick](https://web.archive.org/web/20220616060835/https://gist.github.com/pudquick/470bcd976b104942c9cfd7234a9814fa)
- [OSX Window Sizing - Tim Sullivan](https://web.archive.org/web/20220616231731/https://github.com/timsully/osx-window-sizing)
- [Apple-Scripting Repo - Tim Sullivan (Live Link)](https://github.com/timsully/Apple-Scripting)
- [AppleScript Libraries - Mark Alldritt (Live Link)](https://github.com/alldritt/AppleScriptLibraries)
- [Set Evernote Mac Font and Text Size using AppleScript.AppleScript - JMichaelTX](https://web.archive.org/web/20220628233422/https://gist.github.com/JMichaelTX/47e869626e9391c6238690aafae27a7b)
- [Convert a Pages document into Keynote - Alex Hokanson](https://web.archive.org/web/20220705200855mp_/https://github.com/ingshtrom/mac-automation/blob/master/pages-to-keynote.applescript)
- [Set sound output device - alphabt](https://web.archive.org/web/20220705201053/https://github.com/alphabt/macos-automations/blob/master/Set%20Sound%20Output/Set%20Sound%20Output.applescript)
- [macOS Automation Scripts - temochka (Live Link)](https://github.com/temochka/macos-automation)
- [AppleScript Repository - Alvin Charity](https://github.com/unforswearing/applescript)

### Libraries

- [gianzellweger's Math Library (Live Link)](https://github.com/gianzellweger/Math)
- [hhas' AppleScript stdlib (Live Link)](https://github.com/hhas/applescript-stdlib)
- [Jon Pugh's SmartString Library](https://web.archive.org/web/20230406011051/https://www.seanet.com/~jonpugh/software/SmartString.applescript)
- [Script factory Libraries (Live Link)](https://www.script-factory.net/en/index.html)

### ❓ Other Resource

- [Resources for AppleScriptObjC - Shane Stanley (Live Link)](https://macosxautomation.com/applescript/apps/index.html)
- [Complete list of AppleScript key codes - Christopher Kielty](https://web.archive.org/web/20220623174000/https://eastmanreference.com/complete-list-of-applescript-key-codes)
- [AppleScript Error Codes](https://web.archive.org/web/20220813014942/https://whitefiles.org/mac/pgs/v02_aserr.pdf)
- [AppleScriptObjC: Good News for Objective-C Coders, too - Shane Stanley](https://web.archive.org/web/20220323215921/https://auc.edu.au/media/dw10/dw10-slides-stanley.pdf)
- [iTerm2 AppleScript Documentation](https://web.archive.org/web/20220725071659/https://iterm2.com/documentation-scripting.html)
- [NotePlan AppleScript Documentation](https://web.archive.org/web/20220830230542/https://help.noteplan.co/article/120-apple-script)
- [Fantastical Integration With Other Apps Help](https://web.archive.org/web/20220822220536/https://flexibits.com/fantastical/help/integration-with-other-apps)
- [CardHop Integration With Other Apps Help](https://web.archive.org/web/20211019085932/https://flexibits.com/cardhop/help/integration-with-other-apps)
- [Scripting with Tyme](https://web.archive.org/web/20211028200942/https://tyme-app.com/en/scripting/)
- [Controlling Tunnelblick with AppleScript](https://web.archive.org/web/20220328070546/https://tunnelblick.net/cAppleScriptSupport.html)
- [Creating Scripts for Bike](https://web.archive.org/web/20220517182525/https://bikeguide.hogbaysoftware.com/customizing-bike/creating-scripts)
- [AppleScript Support in Skim](https://web.archive.org/web/20220822122109/https://sourceforge.net/p/skim-app/wiki/AppleScript/#:~:text=%20AppleScript%20Support%20in%20Skim%20%201%20Saving.,can%20either%20be%20the%20selection%20shown...%20More%20)
- [AppleScript - Scripting Merlin Project](https://web.archive.org/web/20210115180302/https://www.projectwizards.net/documentation/merlin-project/guides/en/99-MerlinProjectApplescript.pdf)
- [Things AppleScript Guide](https://web.archive.org/web/20230314175809/https://culturedcode.com/things/download/Things3AppleScriptGuide.pdf)

## AppScript Resources

### πŸ“‘ Official Documents

- [AppScript Manual](https://web.archive.org/web/20220705222450/https://appscript.sourceforge.io/py-appscript/doc_3x/appscript-manual/index.html)

### πŸ“– Books

### πŸ“Ί Videos

### 🎧 Podcasts

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

### πŸ§‘β€πŸ’» GitHub Code Samples

- [A small script to update the currently selected iTunes tracks with various criteria - arkarkark](https://web.archive.org/web/20220816153353/https://gist.github.com/arkarkark/3ccc9697650c6e97778de128e5a73b30)
- [Sort a given iTunes playlist according to the least played tracks in each album - scoffey](https://web.archive.org/web/20220816153736/https://gist.github.com/scoffey/714923 )
- [A simple Python script to find and start playing a track on a connected iPod - uniquelogin](https://web.archive.org/web/20220816151103/https://gist.github.com/uniquelogin/4328363)
- [Make a FaceTime call using Python - shreyansb](https://web.archive.org/web/2/https://gist.github.com/shreyansb/1238027)
- [Set the desktop wallpaper for each desktop - ghballiet](https://web.archive.org/web/2/https://gist.github.com/ghballiet/2961368)
- [Extracting polygons from an Illustrator sketch - ptone](https://web.archive.org/web/20220816153014/https://gist.github.com/ptone/3725666)

### ❓ Other Resources

- [AppScriptModule - MacPython Wiki](https://web.archive.org/web/20130820013103/http://wiki.python.org/moin/MacPython/AppscriptModule)
- [Raw AppleScript Event Codes - ccstone](https://web.archive.org/web/20230406021134/https://gist.github.com/ccstone/955a0461d0ba02289b0cef469862ec84)

## Automator Resources

### πŸ“‘ Apple Documents

- [Automator User Guide for macoS Monterey](https://web.archive.org/web/20220630154812/https://support.apple.com/guide/automator/welcome/mac)
- [Automator Programming Guide - 2006](https://web.archive.org/web/20220630160456/https://mirror.macintosharchive.org/developer.apple.com/documentation/AppleApplications/Conceptual/AutomatorConcepts/AutomatorConcepts.pdf)
- [Automator Programming Guide - 2007 (Live Link)](https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.693.6773&rep=rep1&type=pdf)

### πŸ“– Books

- [The Awesome Automation Guide for Mac Users](https://web.archive.org/web/20220525123138/https://www.makeuseof.com/tag/download-the-awesome-automation-guide-for-mac-users/)

### πŸ“Ί Videos

- [Mac OS X Automation Workshop (1 of 2) - Ben Waldie (Live Link)](https://www.youtube.com/watch?v=yzE1UxVl6U4)
- [Automator and Mac Scripting Tutorials (Playlist) (Live Link)](https://www.youtube.com/playlist?list=PL1bsBsPtN-9TP2MLPDFQ7VN9ycpsj3Y5s)

### πŸ“¬ Forums/Blogs/Mailing Lists

- [Automator Users Mailing List (Live Link)](https://lists.apple.com/mailman/listinfo/automator-users)
- [Run Automator workflows from AppleScript - tedw](https://web.archive.org/web/20150918234425/http://hints.macworld.com/article.php?story=20081109152027513&mode=print)

### πŸ“§ Forum/Blog/Mailing List Posts

- [Building an Automator Script To Snap Windows Into Position - macmost](https://web.archive.org/web/20210724192210/https://macmost.com/building-an-automator-script-to-snap-windows-into-position.html)

### πŸ§‘β€πŸ’» GitHub Code Samples / Workflow Repositories

- [Automats Workflows Files](http://chiselapp.com/user/sti/repository/automats/dir?ci=tip)
- [automator-workflows - Frances Coronel](https://github.com/FrancesCoronel/automator-workflows)

### ❓ Other Resources

- [A Collection of 70+ Automator Actions, Workflows and Tutorials - MacStories (Live Link)](https://www.macstories.net/roundups/a-collection-of-70-automator-actions-workflows-and-tuts-for-designers-and-bloggers/)

## Hammerspoon Resources

### πŸ“‘ Official Documents

- [Getting Started with Hammerspoon (Live Link)](https://www.hammerspoon.org/go/)
- [Hammerspoon API Documentation (Live Link)](https://www.hammerspoon.org/docs/index.html)

### πŸ“– Books

- [Learning Hammerspoon - Diego Zamboni (Paid, Live Link)](https://leanpub.com/learning-hammerspoon/)
- [Hammerspoon - How to Automate Routine-Tasks - Alfred Schilken](https://web.archive.org/web/20191015125159/http://hammerspoon.tutorial-and-example.com/assets/files/hammerspoon_lua_v5-en-chapter-one.pdf)

### πŸ“Ί Videos

- [Learning Hammerspoon: Getting Started - Diego Zamboni (Live Link)](https://www.youtube.com/watch?v=G8FtNAK9Re0)
- [Hands on - macOS Automation with Hammerspoon - Chris Chinchilla (Link Link)](https://www.youtube.com/watch?v=OY26phKZvZI)

### 🎧 Podcasts

### πŸ“¬ Forums/Blogs/Mailing Lists

- [Official Hammerspoon IRC (Live Link)](irc://irc.libera.chat/#hammerspoon)
- [Official Hammerspoon Mailing List (Live Link)](https://groups.google.com/forum/#!forum/hammerspoon/)

### πŸ“§ Forum/Blog/Mailing List Posts

- [Hammerspoon: Handling Windows and Layouts - Evan Travers](https://web.archive.org/web/2/https://evantravers.com/articles/2020/06/12/hammerspoon-handling-windows-and-layouts/)
- [Automate everything: Getting started with Hammerspoon and Lua - Jessica Thornsby](https://web.archive.org/web/20210925213710/https://www.chriswrites.com/automate-everything-getting-started-with-hammerspoon-and-lua/)
- [Getting Started With Hammerspoon - Diego Zamboni](https://web.archive.org/web/20211020105441/https://zzamboni.org/post/getting-started-with-hammerspoon/)
- [Just Enough Lua to Be Productive in Hammerspoon, Part 1 - Diego Zamboni](https://web.archive.org/web/20211020094547/https://zzamboni.org/post/just-enough-lua-to-be-productive-in-hammerspoon-part-1/)
- [Just Enough Lua to Be Productive in Hammerspoon, Part 2 - Diego Zamboni](https://web.archive.org/web/20211020092725/https://zzamboni.org/post/just-enough-lua-to-be-productive-in-hammerspoon-part-2/)
- [Using Spoons in Hammerspoon - Diego Zamboni](https://web.archive.org/web/20220802164148/https://zzamboni.org/post/using-spoons-in-hammerspoon/)
- [Useful Hammerspoon Tips - Nikhil Marathe](https://web.archive.org/web/20210801031521/https://nikhilism.com/post/2021/useful-hammerspoon-tips/)
- [Making the Runtime, Funtime with Hammerspoon - Braden Marshall](https://web.archive.org/web/20220801234708/https://blog.theodo.com/2018/03/making-runtime-funtime-hammerspoon/)
- [Configuring your mac to display the wifi name on the menu bar - Matt Crowder](https://web.archive.org/web/20210614092552/https://dev.to/mcrowder65/configuring-your-mac-to-display-the-wifi-name-on-the-menu-bar-3p8b)
- [MacOS Power Management with Hammerspoon - Michael Heap](https://web.archive.org/web/20220802160927/https://michaelheap.com/caffiene-and-hammerspoon/)
- [Powerful Hammerspoon - Teddy Ma](https://web.archive.org/web/20220322003808/https://www.songofcode.com/posts/powerful-hammerspoon/)
- [Creating A Productive Osx Environment - Hammerspoon - Alexander Reelsen](https://web.archive.org/web/20211021000424/https://spinscale.de/posts/2016-11-08-creating-a-productive-osx-environment-hammerspoon.html)
- [Bear Notes and Hammerspoon - dcreemer](https://web.archive.org/web/20220324141422/https://www.zachary.com/posts/hammerspoon-and-bear/)
- [Automatic notes backup on macOS with hammerspoon - Shantanu Goel](https://web.archive.org/web/20220611154234/https://shantanugoel.com/2020/03/20/hammerspoon-backup-joplin-notes-dotfiles-git-macos/)
- [Create custom macOS menu bar apps using Hammerspoon - Chris Zarate](https://web.archive.org/web/20210415155518/https://chris.zarate.org/create-custom-macos-menu-bar-apps-using-hammerspoon)
- [MacOS automation and shortcuts with Hammerspoon - Hao Liu](https://web.archive.org/web/20210723163824/https://liuhao.im/english/2017/06/02/macos-automation-and-shortcuts-with-hammerspoon.html#id-create-a-keyboard-macro)
- [Setup a Mute Indicator Light for Zoom with Hammerspoon - JoΓ«l Franusic](https://web.archive.org/web/20220512145642/https://developer.okta.com/blog/2020/10/22/set-up-a-mute-indicator-light-for-zoom-with-hammerspoon)

### πŸ§‘β€πŸ’» GitHub Code Samples

- [Hammerspoon Window Management - Dennis Ploeger (Live Link)](https://github.com/dploeger/hammerspoon-window-manager)

### ❓ Other Resources

- [Hammerspoon - Staggeringly powerful desktop automation - Peter van Dijk (Live Link)](https://archive.fosdem.org/2016/schedule/event/hammerspoon_os_x_automation_with_lua/attachments/slides/1178/export/events/attachments/hammerspoon_os_x_automation_with_lua/slides/1178/van_Dijk_Hammerspoon.pdf)

## JXA Resources

### πŸ§‘β€πŸ« Tutorials

- [Automating macOS with Javascript for Automation - Josh Parnham (Live Link)](https://github.com/josh-/automating-macOS-with-JXA-presentation)

### πŸ“‘ Apple Documents

- [Mac Scripting Essentials](https://web.archive.org/web/20220611122702/https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/index.html#//apple_ref/doc/uid/TP40016239-CH56-SW1)
- [JXA Release Notes](https://web.archive.org/web/20220609213837/https://developer.apple.com/library/archive/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/Articles/Introduction.html)

### πŸ“– Books

### πŸ“Ί Videos

- [Automating Complicated Text Inserts - macmost (Live Link)](https://www.youtube.com/watch?v=Hnf1MPc7eSg)
- [JXA Introduction - Sal Soghoian](https://web.archive.org/web/20220407020151/https://macosxautomation.com/yosemite/mov/JXA-Overview-720P.m4v)
- [JavaScript for Automation WWDC2014 - Sal Soghoian](https://web.archive.org/web/20220628232836/http://devstreaming-cdn.apple.com/videos/wwdc/2014/306xxjtg7uz13v0/306/306_hd_javascript_for_automation.mov?dl=0)

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

- [How I Navigate Hundreds of Tabs on Chrome with JXA and Alfred - Renan Cakirerk](https://web.archive.org/web/20190512164554/https://medium.com/@bit2pixel/how-i-navigate-hundreds-of-tabs-on-chrome-with-jxa-and-alfred-9bbf971af02b)
- [macOS JavaScript for Automation (JXA) Notes - galvanist](https://web.archive.org/web/20220222143509/https://www.galvanist.com/posts/2020-03-28-jxa_notes/)
- [Automating iTerm with JXA (JavaScript Application Scripting) - Steve Barbera](https://web.archive.org/web/20220628231738/https://stevebarbera.medium.com/automating-iterm-with-jxa-javascript-application-scripting-a62ef3f11283)
- [Automating Chrome with JXA (Javascript Application Scripting) - Steve Barbera](https://web.archive.org/save/https://stevebarbera.medium.com/automating-chrome-with-jxa-javascript-application-scripting-6f9bc433216a)
- [How I Navigate Hundreds of Tabs on Chrome with JXA and Alfred - Renan Cakirerk (Live Link)](https://medium.com/@bit2pixel/how-i-navigate-hundreds-of-tabs-on-chrome-with-jxa-and-alfred-9bbf971af02b)
- [Scripting macOS with Javascript Automation - Mike Bianco](https://web.archive.org/web/20220210112120/http://mikebian.co/scripting-macos-with-javascript-automation/)

### πŸ§‘β€πŸ’» Code Samples

- [chrome-control/chrome.js](https://web.archive.org/web/20220620120256/https://github.com/bit2pixel/chrome-control/blob/master/chrome.js)
- [JXA Examples (Live Link)](https://github.com/akjems/JXA-Examples)
- [Copy & Get Selection to Clipboard JXA.js - JMichaelTX](https://web.archive.org/web/20220628233219/https://gist.github.com/JMichaelTX/807c87319ec5efa2f9970be9e4317288)
- [Transform String on Clipboard to Title Case JXA.js - JMichaelTX](https://web.archive.org/web/20220628233525/https://gist.github.com/JMichaelTX/08a38accadbec4da2736)
- [Toggle dock position - Carlos Daniel](https://web.archive.org/web/20220705201437/https://github.com/carlosdnba/mac-automations/blob/master/toggle-dock-position.scpt)
- [macOS Automation Scripts - temochka (Live Link)](https://github.com/temochka/macos-automation)
- [JXA - Apple Photos script for organising photos into albums - companje](https://web.archive.org/web/20220805155639/https://gist.github.com/companje/889e0acae02304d944813cff5569b97b)
- [JXA script for updating the 'date' of mediaItems in Photos - companje](https://web.archive.org/web/20220805160726/https://gist.github.com/companje/f7c15b7bd9fe6f381ccb6a80de59cf45)
- [JXA DoShellScript - uchcode](https://web.archive.org/web/20220805161616/https://gist.github.com/uchcode/5f5b4190426d72f4dfa46fd26d363d97)
- [Statusbar App in JXA - uchcode](https://web.archive.org/web/20220805161740/https://gist.github.com/uchcode/96fa4febe6a0386a6348)
- [Japanese Examples of JXA](https://web.archive.org/web/20220811215039/http://www.openspc2.org/reibun/JXA/Yosemite/#google_vignette)

### ❓ Other Resources

- [JavaScript for Automation Cookbook (Live Link)](https://github.com/JXA-Cookbook/JXA-Cookbook)
- [Scripting with JXA - Christian Kirsch](https://web.archive.org/web/20220628232157/https://bru6.de/jxa/)
- [JXA Examples - akjems](https://web.archive.org/web/20220628234634/https://jxa-examples.akjems.com/#apple-ref-add-attendee-to-event)

## PyObjC Resources

- [PyObjC Site (Live Link)](https://pyobjc.readthedocs.io/en/latest/)
- [PyObjC Dev Mailing List (Live Link)](https://sourceforge.net/p/pyobjc/mailman/pyobjc-dev/)

### πŸ“‘ Apple Documents

- [Apple Developer Documentation (Live Link)](https://developer.apple.com/documentation/technologies)
- [Using Scripting Bridge in PyObjC and RubyCocoa Code](https://web.archive.org/web/20210429161400/https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/RubyPythonCocoa/Articles/UsingScriptingBridge.html)
- [Cocoa Fundamentals Guide - Apple Archive](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html)
- [Cocoa Fundamentals Guide - PDF](http://class.ece.iastate.edu/cpre388/Fall2011/lecture/CocoaFundamentals.pdf)

### πŸ“– Books

- [Learn Objective-C on the Mac (Live Link)](https://link.springer.com/book/10.1007/978-1-4302-1816-6)

### πŸ“Ί Videos

- [Working with System Frameworks in Python and Objective-C - James Barclay (Live Link)](https://www.youtube.com/watch?v=6CY-DCfhAzw)
- [Turbocharge your Scripting with PyObjC - Greg Neagle (Live Link)](https://www.youtube.com/watch?v=gHz_eXQvh-w&t=26s)
- [An Introduction to PyObjC - Greg Neagle (Live Link)](https://www.youtube.com/watch?v=lMKG721WTec)
- [MTC2017 pyobjc the frogor - Michael Lynn (Live Link)](https://www.youtube.com/watch?v=MjY9chs9c6o)

### πŸ“¬ Forums/Blogs/Mailing Lists

- [Mac OS X Hints](https://web.archive.org/web/20220611054304/http://hints.macworld.com/)
- [bbum's blog-o-mat](https://web.archive.org/web/20210507212045/http://www.pycs.net/bbum/contents.html)

### πŸ“§ Forum/Blog/Mailing List Posts

- [GeekTools - Nikolai Obedin](https://web.archive.org/web/20220615210834/https://www.nkly.me/blog/2012/geek-tools/) - AppHelper, NSDistributedNotificationCenter
- [Play mp3 from python on Mac - Kyle Crawford](https://web.archive.org/web/20140608032525/https://patternbuffer.wordpress.com/2008/03/15/play-mp3-from-python-on-mac/) - NSSound
- [Check iTunes library for inexistent files and broken links with Python and PyObjC - STEFAAN LIPPENS](https://web.archive.org/web/20210518164820/https://www.stefaanlippens.net/check-itunes-library-for-inexistent-files-and-broken-links-with-python-and-pyobjc.html) - NSDictionary, NSURL
- [Writing to Application Support in PyObjC - Will Larson](https://web.archive.org/web/20210814110049/https://lethain.com/writing-to-application-support-in-pyobjc/) - NSSearchPathForDirectoriesInDomains
- [Native Restart and Logout Dialogs with PyObjC - Nathaniel Strauss](https://web.archive.org/web/20210412162541/https://nwstrauss.com/posts/2020-12-05-native-logout-dialog-pyobjc/) - NSAppleEventDescriptor, AESendMessage
- [HOW TO SET THE ICON FOR A FOLDER OR FILE WITH A LITTLE BIT OF PYOBJC - babodee](https://web.archive.org/web/20201128102140/https://babodee.wordpress.com/2019/03/30/how-to-set-the-icon-for-a-folder-or-file-with-a-little-bit-of-pyobjc/) - NSWorkSpace
- [COMMAND-LINE TOOLS VIA PYTHON AND COCOA - Greg Neagle](https://web.archive.org/web/20180928070348/https://managingosx.wordpress.com/2015/02/02/command-line-tools-via-python-and-cocoa/) - CFPreferences, CGDisplay, Quartz
- [NSSpeechSynthesizer from AppKit](https://web.archive.org/web/20180716083127/https://mail.python.org/pipermail/pythonmac-sig/2013-May/023888.html)
- [macOS Wifi Scanning - Clayton Burlison](https://web.archive.org/web/20220616235615/https://clburlison.com/macos-wifi-scanning/%23converting-to-pyojbc) - CoreWLAN, CWInterface, CWNetwork
- [The fastest way to resize images with Panther - Andrew Shearer](https://web.archive.org/web/20210507033010/http://ashearer.com/personal/weblog/2003/11/08/the-fastest-way-to-resize-images-with-panther/) - CoreGraphics, CGImageCreateWithJPEGDataProvider, CGDataProviderCreateWithFilename, CGColorSpaceCreateDeviceRGB, CGBitmapContextCreateWithColor, CGRectMake
- [Reading URLs from OS X clipboard with PyObjC](https://web.archive.org/web/20200807102115/https://genbastechthoughts.wordpress.com/2012/05/20/reading-urls-from-os-x-clipboard-with-pyobjc/) - NSPasteboard
- [Screenshot in Cocoa (Python)](https://web.archive.org/web/20201109041204/http://livingcode.blogspot.com/2006/03/screenshot-in-cocoa-python.html) - NSScreen, NSImage, NSWindow, NSView
- [How to use CGEventCreateKeyboardEvent - StackOverflow](https://web.archive.org/web/20220617003843/https://stackoverflow.com/questions/21396985/how-to-use-cgeventcreatekeyboardevent-in-python-on-mac/21397453) - Quartz
- [PYOBJC NSSTATUSBAR SAMPLE - Rui Carmo](https://web.archive.org/web/20160801052534/http://taoofmac.com/space/blog/2007/04/22/1745)
- How to Use Apple Vision Framework via PyObjC for Text Recognition - Yasoob Khalid [Live Link](https://yasoob.me/posts/how-to-use-vision-framework-via-pyobjc/) [Archive](https://web.archive.org/web/20240103001942/https://yasoob.me/posts/how-to-use-vision-framework-via-pyobjc/)

### πŸ§‘β€πŸ’» Code Samples

- [keynote-export.py by jomkz](https://web.archive.org/web/20220615214032/https://github.com/jomkz/keynote-export/blob/master/keynote-export.py) - ScriptingBridge, Keynote
- [computer_icon.py by pudquick](https://web.archive.org/web/20200810225412/https://gist.github.com/pudquick/1edd0d5e6c1ca5a1486bf727d071664e) - NSImage, ![Alt text](https://web.archive.org/web/20240103001942im_/https%253A//d33wubrfki0l68.cloudfront.net/6eee25a40e2bcf4c968105630dfa5064868b68be/dbb84/images/vision-framework/header.png)NSGraphicsContext, NSMakeRect, NSMakeSize, NSBitmapImageRep
- [imagefromurl.py by WardsParadox](https://web.archive.org/web/20220615222153/https://github.com/macadmins/nibbler/blob/master/examples/imagefromurl.py) - NSData, NSImage, NSBundle
- [define.py by lambdamusic](https://web.archive.org/web/20220615222832/https://gist.github.com/lambdamusic/bdd56b25a5f547599f7f) - DictionaryServices, DCSCopyTextDefinition
- [Using PyObjC and NSWorkspace to set the desktop picture - Greg Neagle](https://web.archive.org/web/20220409071104/https://gist.github.com/gregneagle/6957826) - NSWorkspace, NSScreen, NSUR
- [mount_shares_better.py - pudquick](https://web.archive.org/web/20220616061913/https://gist.github.com/pudquick/aa8713d4334036bcb0060ff73dba54c4) - CFURLCreateWithString, NetFS - [Live Link](https://gist.github.com/pudquick/1362a8908be01e23041d)
- [Getting the list of visible apps - pudquick](https://web.archive.org/web/20220616062204/https://gist.github.com/pudquick/eebc4d569100c8e3039bf3eae56bee4c) - NSBundle, CoreServices
- [python/pyobjc method for accessing location on an OS X device - pudquick](https://web.archive.org/web/20220616072137/https://gist.github.com/pudquick/329142c1740500bd3797) - CLLocationManager, NSRunLoop, NSDate
- [mkdir with ScriptingBridge - tgck](https://web.archive.org/web/20220617003019/https://gist.github.com/tgck/5487715) - SBApplication, Make/push new folder
- [Walk through mailbox and tally message sizes, flagged and unread status - rcarmo](https://web.archive.org/web/20220617003316/https://gist.github.com/rcarmo/767786) - ScriptingBridge, SBApplication, Mail
- [Run Spotlight queries from console - jdp](https://web.archive.org/web/20220617002534/https://gist.github.com/jdp/72944e01e3b1aa0a3b7c) - NSMetaDataQuery, NSNotificationCenter, NSPredicate
- [Get Mac's serial number, hardware UUID, and board-id - pudquick](https://web.archive.org/web/20210506152838/https://gist.github.com/pudquick/c7dd1262bd81a32663f0) - IOKit, IOService, NSBundle
- [PyObjC sample code for 2015 PSU MacAdmins Conference - James Barclay](https://web.archive.org/web/20220616222116/https://github.com/futureimperfect/psu-pyobjc-demo/blob/master/psu_demo.py) - CFPreferences, NSApplication, NSWorkspace, Quartz
- [Routines for manipulating the Dock - Greg Neagle](https://web.archive.org/web/20220617000115/https://gist.github.com/gregneagle/5c422d709c93615341a21009f800222e) - NSURL, CFPreferencesAppSynchronize, CFPreferencesCopyAppValue, CFPreferencesSetAppValue
- [move_mouse.py - jquast](https://web.archive.org/web/20220617001558/https://gist.github.com/jquast/f336a8d331ff0ab0053d) - Quartz, CoreGraphics, CGEventCreateMouseEvent, CGEventPost, NSScreen
- [Check status of display mirroring and Do Not Disturb settings - Greg Neagle](https://web.archive.org/web/20220617000227/https://gist.github.com/gregneagle/7625a35f1f2f985525096ec7a59d64ff) - Quartz, CGGetActiveDisplayList, CGGetOnlineDisplayList, CFPreferencesCopyAppValue
- [Accessing battery details - pudquick](https://web.archive.org/web/20220617000509/https://gist.github.com/pudquick/134acb5f7423312effcc98ec56679136) - NSBundle, IOKit, IOService
- [Speak text - moriyoshi](https://web.archive.org/web/20220617002126/https://gist.github.com/moriyoshi/2922103) - NSSpeechSynthesizer
- [Find the frontmost/active window - ljos](https://web.archive.org/web/20220617002351/https://gist.github.com/ljos/3040846) - NSWorkspace, CGWindowListCopyWindowInfo, NSApp, AppHelper
- [Enumerate and inspect input sources (keyboard layouts, input modes) - pudquick](https://web.archive.org/web/20220617000632/https://gist.github.com/pudquick/cff1ecdc02b4cabe5aa0dc6919d97c6d) - NSBundle, HIToolbox, TISCreateInputSourceList, TISGetInputSourceProperty
- [PyObjC Examples - michielkauwatjoe](https://web.archive.org/web/20220620161940/https://github.com/michielkauwatjoe/PyObjC) -
- [PDFsuite - benwiggy (Live Link)](https://github.com/benwiggy/PDFsuite)
- [Access images from Apple Photos and associated metadata. Uses PyObjC to call native PhotoKit framekwork to access the user's Photos library](https://web.archive.org/web/20200612132339/https://gist.github.com/RhetTbull/41cc85e5bdeb30f761147ce32fba5c94) - PHPhotoLibrary, PHAsset, PHFetchOptions, PHAssetResource
- [Example Python Alert Dialogs using PyObjC - corbinbs](https://web.archive.org/web/20220629163226/https://gist.github.com/corbinbs/1083908) - NSAlert, NSTimer
- [Resize an image using appkit/pyobjc - atr000](https://web.archive.org/web/20220805162848/https://gist.github.com/atr000/211956) - NSImage, NSBitmapImageRep
- [Ejecting USB disks using PyObjC & DiskArbitration - danchr](https://web.archive.org/web/20220815025743/https://gist.github.com/danchr/4d3d9ea7c1470b7313335141b9b7e6e2) - AppHelper, DisArbitration
- [NSRunLoop in python - Apple Developer Forums](https://web.archive.org/web/20220720194740/https://developer.apple.com/forums/thread/97059) - NSRunLoop, NSSpeechRecognizer

### ❓ Other Resources

- [www.nodebox.net](https://web.archive.org/web/20210306043704/https://www.nodebox.net/code/index.php/PyObjC) - NSSound, NSSpeechSynthesizer, & more
- [Introduction to PyObjC - Bob Ippolito, PyCon 2005](https://web.archive.org/web/20220619171228/https://github.com/etrepum/pyobjc_pycon_2005/blob/master/dist/PyObjC-Intro.pdf)

## Raycast Resources

### πŸ“‘ Official Documents

- [Raycast Manual (Live Link)](https://manual.raycast.com)
- [Raycast API Documentation (Live Link)](https://developers.raycast.com)

### πŸ“– Books

### πŸ“Ί Videos

- [Building Raycast extensions with Thomas Paul Mann (CEO & Co-Founder) - Lee Robinson (Live Link)](https://www.youtube.com/watch?v=dgyuttjX1oo)
- [Build a Raycast Extension with TypeScript & React - Darin Doria (Live Link)](https://www.youtube.com/watch?v=Hmk1c6jIUGY)
- [Raycast Dev Tip #1 - New Grid API - Raycast (Live Link)](https://www.youtube.com/watch?v=oSZ4ovsWxmU)
- [Hands on - Creating a Trello extension for Raycast - Chris Chinchilla (Live Link)](https://www.youtube.com/watch?v=zbDJ--w4En8)

### 🎧 Podcasts

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

- [How to build a simple Raycast extension - Patrick GΓΆler von Ravensburg](https://web.archive.org/web/20220915101344/https://www.pgvr.dev/articles/raycast-extension)
- [Build an Apple Music to Spotify Converter for Raycast - Jonathan Chaffer](https://web.archive.org/web/20220703100731/https://spin.atomicobject.com/2022/06/29/apple-spotify-converter-raycast/)

### πŸ—„ Command Repositories

- [Unofficial Marketplace for Raycast Script Commands](https://scriptcommands.com)

### ❓ Other Resources

## Shortcuts Resources

### πŸ“‘ Apple Documents

- [Shortcuts Users Guide (Live Link)](https://support.apple.com/guide/shortcuts-mac/welcome/mac)
- [Import Automator workflows into Shortcuts (Live Link)](https://support.apple.com/en-ca/guide/shortcuts-mac/apd02bffbaac/5.0/mac/12.0)
- [Run a shortcut using a URL scheme on Mac](https://web.archive.org/web/20220402165714/https://support.apple.com/guide/shortcuts-mac/run-a-shortcut-from-a-url-apd624386f42/mac)
- [Use another app’s URL scheme in Shortcuts on Mac](https://web.archive.org/web/20220603133007/https://support.apple.com/guide/shortcuts-mac/use-another-apps-url-scheme-apd68802640c/mac)

### πŸ“– Books

- [Take Control of Shortcuts, Second Edition - Rosemary Orchard (Paid, Live Link)](https://books.apple.com/us/book/take-control-of-shortcuts-second-edition/id6443235605)

### πŸ“Ί Videos

- [Hey Siri, Drive My Tesla (How To Use iPhone's New Shortcuts)! - Snazzy Labs (Live Link)](https://www.youtube.com/watch?v=jZc8qMNiONo)
- [Capture Text From Your Screen - macmostvideo (Live Link)](https://www.youtube.com/playlist?list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb)
- [Add a watermark to an image - macmostvideo (Live Link)](https://www.youtube.com/watch?v=VyEGoKNiFkk&list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb&index=5)
- [Setting Reminders Using Shortcuts On a Mac - macmostvideo (Link Link)](https://www.youtube.com/watch?v=SS9gkjZVSeI&list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb&index=7)
- [Inserting and Replacing Text With Shortcuts - macmostvideo (Link Link)](https://www.youtube.com/watch?v=eKe_Uu6tdIg&list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb&index=10)
- [Using Shortcuts To Add Data To a Numbers Spreadsheet - macmostvideo (Link Link)](https://www.youtube.com/watch?v=EJedH7pZLg0&list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb&index=12)
- [Creating Shortcuts That Accept Voice Input - macmostvideo (Link Link)](https://www.youtube.com/watch?v=33fwHmQclDI&list=PL1bsBsPtN-9QzsuW41NdqHHQ4Tuu3Lvrb&index=13)
- [Building a Mac Shortcut To Add a Border And Caption To a Photo - macmostvideo (Live Link)](https://www.youtube.com/watch?v=4eKmKLDQsAo)
- [Intro to Siri Shortcuts Part 1: The New Workflow App - Christopher Lawley](https://www.youtube.com/watch?v=P50x9b7lR5g)
- [Learn Siri Shortcuts Part 2: See Your Day in One Tap + Alexa Support - Christopher Lawley](https://www.youtube.com/watch?v=kitp6ePnJtg)
- [Learn Siri Shortcuts Part 3: Magic Variables, Menu Action, and More! - Christopher Lawley](https://www.youtube.com/watch?v=ocrR6Z_B_74)
- [Siri Shortcuts Tutorial: Good Morning! - HeyTechi](https://www.youtube.com/watch?v=eR9cB7KIx7I)

### 🎧 Podcasts

- [How to Use Siri Shortcuts in iOS, Part 1: The Basics - AppleVis (Live Link)](https://www.applevis.com/podcasts/how-use-siri-shortcuts-ios-part-1-basics)
- [How to Use Siri Shortcuts Part 2: The Gallery - AppleVis (Live Link)](https://www.applevis.com/podcasts/how-use-siri-shortcuts-part-2-gallery)
- [How to Use Siri Shortcuts Part 3: The Library - AppleVis (Live Link)](https://www.applevis.com/comment/90831#comment-90831)

### πŸ“¬ Forums/Blogs/Mailing Lists

- [The Psalms - David Blue](https://bilge.world)

### πŸ“§ Forum/Blog/Mailing List Posts

- [Posting to a Discourse forum from iOS Shortcuts - alldritt](https://web.archive.org/web/20220619174806/https://forum.latenightsw.com/t/posting-to-a-discourse-forum-from-ios-shortcuts/1593)
- [[Tutorial] Using Dictionaries and Lists - JoeReally](https://web.archive.org/web/20220701092027/https://www.reddit.com/r/shortcuts/comments/9tbyrz/tutorial_using_dictionaries_and_lists/)
- [Automating iOS: A Comprehensive Guide to URL Schemes and Drafts Actions - Alex Guyot](https://web.archive.org/web/20220607150745/https://www.macstories.net/tutorials/guide-url-scheme-ios-drafts/#thedraftsurlscheme)
- [Shortcuts and Focus Modes - Evan Travers](https://web.archive.org/web/20220709024353/https://evantravers.com/articles/2022/01/26/shortcuts-and-focus-modes/)
- [Running Other Apps' Siri Shortcuts](https://web.archive.org/web/20220727221728/https://swiftrocks.com/running-other-apps-siri-shortcuts-through-deep-links-in-swift)
- [Creating visually appealing menus - u/keveridge](https://web.archive.org/web/20220805030436/https://www.reddit.com/r/shortcuts/comments/aibvkg/creating_visually_appealing_menus/)
- [AUTOMATE TASKS ON A SCHEDULE IN IOS WITH THE SHORTCUTS APP - EDTECHCHRIS](https://web.archive.org/web/20220123125646/http://edtechchris.com/2019/11/17/automate-tasks-on-a-schedule-in-ios-with-the-shortcuts-app/)
- [Regex Cookbook for Shortcuts - Reusable Regex to use in your Shortcuts- u/enteeMcr](https://web.archive.org/web/20220805154027/https://www.reddit.com/r/shortcuts/comments/9zo24n/regex_cookbook_for_shortcuts_reusable_regex_to/)
- [How to add rows to Google Sheets from a Shortcut - u/senatorforlife](https://web.archive.org/web/20220122014808/https://www.reddit.com/r/shortcuts/comments/bp735g/how_to_add_rows_to_google_sheets_from_a_shortcut/)
- [iOS 12 Shortcuts for the Beginner - Deborah Armstrong](https://web.archive.org/web/20210802060231/https://www.applevis.com/guides/ios-12-shortcuts-beginner)

### πŸ—„ Shortcut Repositories

- [Sharecuts (Live Link)](https://sharecuts.app)
- [ShareShortcuts (Live Link)](https://shareshortcuts.com)
- [ShortcutsGallery (Live Link)](https://shortcutsgallery.com/?_sort=popular)
- [Shortcut Directory (Live Link)](https://shortcuts.directory/?ref=producthunt)
- [Showcuts Gallery (Live Link)](https://showcuts.app/share/gallery/)
- [MacStories Shortcuts Archive (Live Link)](https://www.macstories.net/shortcuts/)
- [Shortcuts Gallery (Live Link)](https://shortcutsgallery.com)
- [The Siri Shortcuts Collection- ITE (Live Link)](https://www.itecheverything.com/shortcuts)
- [Matthew Cassinelli's Shortcuts Library (Live Link)](https://www.matthewcassinelli.com/siri-shortcuts/shortcuts-library/)
- [Shortcuts for Tesla - Jordan Merrick (Live Link)](https://jordanmerrick.com/shortcuts/shortcuts-for-tesla/)
- [50+ Coolest Siri Shortcuts for your Mac running macOS Monterey - the8-bit (Live Link)](https://the8-bit.com/top-50-mac-siri-shortcuts/)
- [Bruce's iOS Shortcut Catalog - Bruce Bentley (Live Link)](https://gist.github.com/brucebentley/19d744dc7371309a9ec8028a880a2692)
- [Siri Shortcuts Collection - Jens Brehmen (Live Link)](https://github.com/jensbrehmen/sirishortcuts)
- [iOS Shortcuts - Daniel Demby (Live Link)](https://github.com/heliomass/iOSShortcuts)
- [Siri Shortcut Collection - hanstzou (Live Link)](https://github.com/hanstzou/siri-shortcuts)
- [ThoughtAsylum Shortcuts Library](https://www.thoughtasylum.com/shortcuts/library/)

### ❓ Other Resources

- [Shortcuts File Format Reference - sebj (Live Link)](https://github.com/sebj/iOS-Shortcuts-Reference)
- [Running list of apps supporting Siri Shortcuts - Airtable - (Live Link)](https://airtable.com/shrNcsx3n8uUajpsW/tblv8ai4KM1YZ4LgH/viwWKTrvv9iQoPCCa?blocks=hide)
- [Fantastical App Shortcuts Help](https://web.archive.org/web/20220822220935/https://flexibits.com/fantastical/help/app-shortcuts)

## SwiftAutomation Resources

### πŸ“‘ Official Documents

- [SwiftAutomation Documentation](https://hhas.bitbucket.io)

### πŸ“– Books

### πŸ“Ί Videos

### 🎧 Podcasts

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

### πŸ§‘β€πŸ’» GitHub Code Samples

### ❓ Other Resources

## URL Scheme Resources

### πŸ“‘ Official Documents

- [About Apple URL Schemes](https://web.archive.org/web/20220613153922/https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html)
- [Anybox URL Schemes](https://web.archive.org/web/20230323011116/https://anybox.app/url-schemes)
- [Day One URL Scheme](https://web.archive.org/web/20230617050148/https://dayoneapp.com/guides/tips-and-tutorials/day-one-url-scheme/#:~:text=Day%20One%20iOS%20and%20Mac%20apps%20support%20URLs,the%20URL%20Scheme%20will%20route%20to%20Day%20One.)
- [Things URL Scheme (Live Link)](https://culturedcode.com/things/support/articles/2803573/)

### πŸ“– Books

### πŸ“Ί Videos

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

### ❓ Other Resources

- [BBEdit 12.1.4 Release Notes - x-bbedit URL scheme](https://web.archive.org/web/20230129103512/https://www.barebones.com/support/bbedit/notes-12.1.4.html)

## Other Resources

### πŸ“‘ Official Documents

- [PyAutoGui Documentation (Live Link)](https://pyautogui.readthedocs.io/en/latest/)

### πŸ“– Books

- [Take Control of Automating Your Mac - Joe Kissell (Paid, Live Link)](https://www.takecontrolbooks.com/automating/)

### πŸ“Ί Videos

- [Automating Your Mac - Sarah Reichelt (Live Link)](https://www.youtube.com/watch?v=uXjGAn3Y91Y)
- [MDOYVR22 - Armin Briegel - Encyclopedia of macOS Automation Tools (Live Link)](https://www.youtube.com/watch?v=HlozUyt4GjA)

### πŸ“¬ Forums/Blogs/Mailing Lists

### πŸ“§ Forum/Blog/Mailing List Posts

### ❓ Other Resources

### πŸ—£ Other Languages and Tools

- [Python for Automation (Live Link)](https://github.com/SKaplanOfficial/PyXA)