Tag: applescript

Reminder to Charge Apple Watch

Wrote up a handy little Keyboard Maestro macro that will remind me to charge my Apple Watch.

The special sauce here is that it runs any and every time I wake up my Mac between 5AM and 10:30AM.

You can download the Keyboard Maestro macro here.

[update: So, Keyboard Maestro doesn’t have a trigger for “password unlocks screensaver” And that is really when this thing needs to run. Enter the amazing EventScripts. Had no idea this tool existed but it kicks off AppleScripts for various system events (unlock screensaver, song change in iTunes, etc.). So worth the $6. Hope it continues to work once I upgrade to Big Sur!)


AppleScript for Day One braindump to Things

Highlighting the truly first-world problem of Mac automation being totally different from iOS automation, I wrote up a simple AppleScript that mirrors the functionality of my iOS shortcut that takes my brain dump list out of Day One and “intelligently” transfers it to Things.

When I write my morning entry in my Day One journal I sometimes brainstorm a little todo list, and this allows me to copy it and load the todo list into Things. Moreover, it looks for the string “today” in the brain dump and puts those items in the Today list in things.

set TodayStr to "today"
set Total to 0
set listContents to get the clipboard
set delimitedList to paragraphs of listContents

tell application "Things3"
	repeat with currentTodo in delimitedList
		if currentTodo as string is not equal to "" then
			set Total to Total + 1
			if currentTodo contains TodayStr then
				set newToDo to make new to do ¬
					with properties {name:currentTodo, due date:current date} ¬
					at beginning of list "Today"
				set newToDo to make new to do ¬
					with properties {name:currentTodo} ¬
												end if
		end if
			end repeat
		end tell

set theDialogText to "Added " & Total & " Todo Items to Things"
display dialog theDialogText

I mapped this in Alfred to ⌘T so that when I’m in Day One and finish brainstorming what I need to tackle, I can just highlight the list and hit ⌘T and the list is moved to Things. Not brain surgery but really useful for me.

Still though it does feel weird to have to automate using AppleScript on the Mac and Shortcuts on iOS.

Especially now that the automating functionality offered by apps like Day One differs depending on whether you are on a Mac or on iOS. Looking at you Append function that’s available on iOS.

Adding todos to Today list in Things using AppleScript

Really pulled my hair out for a while on this issue so hoping to help someone out here.

set newToDo to make new to do ¬
		with properties {name:CurrentTodo} at beginning of list "Today"

This, despite the Cultured Code documentation using Today as an example list in the AppleScript guide.

So, if you use that code and replace “Today” with “Someday” it works like a champ but if you pass it the list “Today” the todo item is created in the Inbox and not the Today area of Things. Weird and it was making me crazy.

Anyway, the easy solution is:

set newToDo to make new to do ¬
		with properties {name:CurrentTodo, due date:current date}