Read My Blog

Making a simple Menu Bar applet to replace Shortcuts’ progress meter

Yesterday on Six Colors, Jason Snell wrote a post called Create visual feedback for running Shortcuts about a method he’s using to check his progress in a long-running shortcut using a Menu Bar utility.

His post was born out of frustration with the Shortcuts menu bar applet, which we discussed on Mastodon as being somewhat unobvious as a signal for progression:

Earlier today, I was complaining to Shortcuts expert Matthew Cassinelli about how there’s no really good way to view progress of a running Shortcut on macOS. Yes, the Shortcuts menu item in the menu bar sort of tries to display progress, but… it doesn’t provide any information I find particularly valuable.

I’m frustrated because I do have some Shortcuts that take time to run, yet unless I have them beep or display a notification when they reach a certain point in the process, I have no idea what they’re doing or if they’re even working.

If you didn’t know, the Shortcuts menu bar icon changes while a shortcut is running to indicate progression.

Plus, any currently-active shortcut also appears at the bottom in the Menu Bar item’s list of shortcuts (unless the shortcut is already a Menu Bar shortcut, in which case it animates in place).

However, as I mentioned in parts of our conversation, that shortcut simply shows the total percentage of actions the shortcut has progressed through so far:

That means that any type of Repeat loops quickly make this useless as it could be repeating hundreds of times but show at 90% done because of the placement of the action.

My personal solution for my logging shortcuts that uploads hundreds of posts to Airtable/my website has a method where it uses Show Notification at certain points in the chain so I know when one of multiple files is uploaded or the item is finished publishing and is moving onto the next one.

I like this because I only need intermittent reminders for this particular task, plus the list of notifications in Notification Center lets me see a sort of visual progression over time.

In his piece, Jason found a solution in SwiftBar, a Mac utility app that lets him use Shortcuts to reload data into scripts that display different data/icons in the Menu Bar.

My alternate suggestion was One Thing, a Mac app by prolific developer Sindre Sorhus that lets you update a simple text widget in the Menu Bar using Shortcuts.

By counting the total number of items passed into a longer-running repeat process, one could use the Repeat Index to calculate a current progression through the total and have One Thing update at the end of each loop – here’s an example shortcut:

This is a quick-and-dirty solution, which doesn’t apply at scale to every type of shortcut — if you’re finding yourself with long-running repeats, however, both mine or Jason’s solution might work for you.

Plus, there’s likely many more apps to display progression in the Menu Bar — let me know if you build your own solution too!

Check out the One Thing progress bar shortcut and get One Thing on the Mac App Store for free.

Plus, check out the One Thing folder in the Shortcuts Library — I have shortcuts for setting your current One Thing for the moment, showing the Now Playing track from Music, and for putting Today’s tasks from Things’s beta in your Menu Bar.

New in the Shortcuts Library: One Thing Menu Bar shortcuts

I've just added a new folder to the Shortcuts Library — my set of One Thing Menu Bar shortcuts:

Open One Thing:

Activates the One Thing menu bar app to display any text.

Use this shortcut to activate One Thing on your Mac and have its applet display in the menu bar.

Tapping on One Thing will display its edit window, which lets you change the text and have that show up in the Menu Bar instead.

Set my One Thing:

Previews your current One Thing, then prompts you to update it.

Use this shortcut to change your active text displayed in One Thing in the Menu Bar on your Mac.

This shortcut gets the current menu bar text and shows it in the prompt, plus includes the current text as the default answer.

In effect, this is the same as tapping the menu bar item, but this flow can be used with Run Shortcut inside any other shortcut when you want to update your current status.

Add Now Playing to Menu Bar:

Displays the current song playing in Apple Music in the Menu Bar.

Use this shortcut to check Apple Music for the current song and display the track title & artist in the Menu Bar using One Thing.

If nothing is found, One Thing will display “No music playing…” for 2 seconds and then clear the applet so there’s no text.

Use this method in your own One Thing shortcuts to temporarily display text in the Menu Bar as needed.

Add preset to menu bar:

Pick from a list of pre-determined options to display in the Menu Bar.

Use this shortcut on your Mac along with One Thing as a way to pick from a pre-set list of common tasks or information you want to display in the Menu Bar.

In this simple example, I’ve included options for Breakfast, Lunch, & Dinner. Other ideas might include putting your daily reoccuring to-dos, or picking from words of motivation you might want to show throughout your day.

Plus, the shortcut includes some scripting that allows for the menu options to be listed nicely capitalized, but then your choice is changed to lowercase before being placed in front of the action verb in the final step.

Show Today's Current Thing:

Grabs a to-do from Things set for Today and displays it in the Menu Bar using One Thing.

I use this shortcut to take my current task from Things 3 and display its title in the Menu Bar so I don’t lose focus on my most-important thing to do at the moment.

As someone whose line of work is inherently cross-functional, it can be easy to get distracted with other opportunities throughout the day — this helps me realign on what I was doing before I got off-track.

Note: this requires the beta of Things 3 that supports new Shortcuts actions.

Show random Thing in Menu Bar:

Displays a random to-do that’s due today from Things in the Menu Bar.

Using One Thing for Mac and Things 3, this shortcut pulls all tasks that are scheduled with a Start Date for Today and picks a random item from the list to display in the Menu Bar.

This shortcut is particularly useful when you need to get to work but either aren’t sure what to prioritize or just want to get started on anything important.

Instead of taking on the mental load of picking what to do, let the computer decide for you based on what’s available right now.

Note: this requires the beta of Things 3 that supports new Shortcuts actions.

One Thing progress bar:

Sample shortcut showing how One Thing can be used to show progress.

This shortcut demonstrates how the app One Thing for Mac can be used to display useful information in the Menu Bar by passing data inside a repeating loop.

This shortcut was inspired by a conversation with Jason Snell over Mastodon, so I used an example idea where Jason might want to download recent blog posts as HTML and see how far along his downloader was progressing as it is running.

When the shortcut runs, the menu bar item for One Thing will update with 10% complete, 20% complete, 30%… etc.

Use this shortcut as inspiration for your own workflows that could use better visual feedback in the Menu Bar and have a similar repeating loop that takes a while to finish.

Quit One Thing:

Closes One Thing and stops showing its Menu Bar applet.

Use this shortcut to hide the One Thing app from the Menu Bar and close down your session.

When using One Thing’s actions to show progression in the Menu Bar, you could follow up by quitting the app after the process is finished.

One Thing bundle:

Mutli-tool for controlling One Thing in the Menu Bar of your Mac.

Use this bundle shortcut to access all the features of One Thing’s actions in Shortcuts from one menu.

Check out the folder of One Thing Menu Bar shortcuts on the Shortcuts Library.

How to copy meeting availability across multiple calendars using Shortcuts

Yesterday over on Six Colors, Jason Snell wrote about his difficulty helping a friend use the Calendar actions in Shortcuts to pull data from two separate calendars:

Lex wanted to use this shortcut to quickly generate a list of times where he’s available for meetings. This is a great use of automation—I wish I’d thought of it. Unfortunately, the shortcut only checks a single calendar, and Lex wanted his availability judged based on entries in two different calendars.

This thread caught my eye: both because I haven’t personally run into that issue, but also because I had actually thought of the automation.

Here’s my Copy my availability shortcut that I built all the way back when Shortcuts was Workflow, which has managed to live on in the Shortcuts Gallery today as the “Share Availability” shortcut.1

In the piece, Jason came up with a solution after Shortcuts couldn’t get all the data in one action:

Here was what worked: I duplicated the Find Calendar Events action, making two separate actions, one for each calendar. I placed the results of both actions in a variable, and used the variable for the rest of the script.

I’ve just updated my shortcut with this Add to Variable method too — which is infinitely better than the simple filter I’ve been using for “Calendar Is Not iCloud.”

Read the post on Six Colors and get the Copy my availability shortcut in the Meetings folder of the Shortcuts Library.

  1. The concept was inspired by coworkers at my marketing agency who had so many meetings that I never understood how they found free time to actually do their work (hint: they were extremely overworked and did it all after-hours). 
New beta shortcuts for members: Ivory for Mastodon

Hey members!

This morning I got access to the TestFlight for Ivory, a Mastodon client from the makers of Tweetbot, and immediately spent the whole morning putting together a set of shortcuts based on the Open Ivory action and all its possible parameters.

I've just added my folder of Ivory shortcuts—including the Ivorycuts bundle—in beta and will be releasing these in the free section of the Shortcuts Library (along with a review) when Ivory gets released!

Check out the shortcuts below – I wrote about 1,000 words across all the descriptions explaining how to use the shortcuts, why the features from Ivory in particular are interesting, plus how I'm using Mastodon compared to Twitter:

What’s New in Shortcuts – Issue #091

Welcome to Issue 91 of "What's New in Shortcuts" – I'm sneaking in one last issue on Revue!

I just got back from playing superheroes with my nephew in Portland over Christmas and I'm feeling super refreshed for next year – I hope you all had a chance to relax over the holiday break.

In this issue, we have more adventures with Mastodon, a new Stable Diffusion AI app with Shortcuts support, great Automation ideas, and some more newsletter housekeeping ahead of 2023.

Stay tuned for future newsletters on the 10th, 20th, and 31st of each month next year – details below:

New in the Shortcuts Library: Mastodon shortcuts

I've just added a new folder to the Shortcuts Library — my set of Mastodon shortcuts:


Presents a menu to open every section of Mastodon, plus convert profiles as needed.

Use this shortcut to access every section of Mastodon on your default instance.

Enter your domain, your handle, then choose from any option to pass your link and open to the corresponding page.

If a profile link is passed as input, using the Mastodon handle converter option to reformat it.

What’s New in Shortcuts – Issue #090

Welcome to Issue 90 of "What's New in Shortcuts" — this is the last issue of 2022, and, as such, I wanted to thank you all for your readership this past year.

In 2022, I sent 25 issues covering everything new in Shortcuts, plus took an extended break that allowed me to rerelease my Shortcuts Library at scale — thank you for your support during this time.

2023 brings a lot of promise for Shortcuts and particularly how much better prepared I am to share everything I know — and we'll always have this archive of what's come before to learn from.

Unfortunately, Twitter is imminently shutting down Revue and deleting all of the data — so, for now, I am exporting my list and will be importing everyone into a new service when I figure out where to move the newsletter.

I've also published every issue directly on my blog (where it can't get deleted, except by me) and will experiment with the format going forward. I may simply back to those stories in a more minimal newsletter style — I'll have to see as I test this and other newsletter services over the break.

I'm off next week for Christmas and then the next issue lands on the 2nd of the New Year, so I'll see you... next year.

Until then, here's what's new in Shortcuts:

How to export your full Revue newsletter archive using Shortcuts

With Twitter announcing the imminent shutdown of Revue, I wanted to share my method for creating a proper export of your full newsletter archive as HTML using Apple’s Shortcuts app.

Revue is currently offering an Export tool, however, it’s fairly limited for the average user — it provides a list of issues and their introductions... but all the links and tweets are shared in .JSON format.

That means all the data must be extracted in a complex manner if anyone wants to do something with the information — it’s not too practical unless you have the skills to patch it all together.

Instead, I’ve solved this problem with the Shortcuts app from Apple, which lets users automate daily tasks — one action in the app is Get Contents of URL, which lets users connect to web services like Revue that have an Application Programming Interface (API).