Glanceable Time Zones With Keyboard Maestro and Stream Deck

  • March 3, 2022

We’ve really embraced working remotely within my Studio71 Technology team, to the point that now I have people that I work with every day across seven time zones. There are challenges and benefits of being a distributed global team, but I wanted to solve a quick challenge today and that is to quickly glance and see who is available right now.

The Problem

I’m aware of the vast amount of options that exist for seeing times across various time zones, from modern desktop widgets to that office wall filled with black and white clocks set to different time zones. I wanted something even more glanceable, that didn’t involve me moving windows on my computer, picking up my phone, asking a voice assistant, or buying six clocks from Amazon.

Something is that always on and never obstructed on my desk is my Stream Deck and recently I’ve added the plugin that displays the time in the text of a button. This has mostly solved my problem in that I have a button for each of the six time zones, but I wanted less text (I don’t need to see the minutes repeated on every button) and I wanted to make them even more glanceable by making the time zones that are within working hours have a different look.

This morning, I removed the the Stream Deck timezone plugin and got to work making my own solution based on the Keyboard Maestro Plugin for Stream Deck. Usually I use the other Keyboard Maestro plugin for Stream Deck, KMLink, as it’s a bit easier to configure, but KMLink can’t update the button text or image, which is essential functionality for this task.

The Solution

I dragged the Keyboard Maestro Plugin to each of my six buttons I have allocated for tracking time zones (I have the big Stream Deck setup for Studio71 so I have plenty of space) and gave each button a custom button ID. (I used the name of the profile with the row and column number, example: default2R6C).

I then setup a Keyboard Maestro plugin that is configured with text with a row for each of my time zones. On each row, there is a label, timezone, and the Stream Deck button ID, separated by commas. The macro then loops though that list, looks up the current time by running the date command , and includes basic logic to switch the background to black or blue and format the date slightly before sending that data to the button. The macro runs at the top of the hour automatically, giving me an hour-by-hour visualization of which team members are generally available and which of them are (or should be) sleeping.

I’m not breaking new ground in the field of Computer Science with this one, but damn if it’s not super helpful and saves me a minute multiple times a day!

If you’re interested, you can download my macro here: Time Zone to Stream Deck

To configure it, you just need to edit those first lines with whatever time zones and buttons you want to use.

Related Posts

Thoughts on Apple Bloggers and Vision Pro Coverage

I posted this on Mastodon, but I figured I would cross-post it here as well. I wonder if we’re headed for a weird place with the #Apple Blogosphere (AKA the Apple Blog Mafia). All of the main players are talking about Vision Pro all the time and saying things like “I lose track of time in here!

Read more

The Simple Pleasures of a Mobile Office Whiteboard

I’ve built a lot of stuff for my home office over the last few years of working from home, but my current favorite is something so simple: A custom rolling whiteboard A couple of weeks ago I gave myself a Saturday challenge to take my existing old whiteboard and build a rolling stand for it only with materials I had in my workshop.

Read more

I Made Myself a JARVIS Over the Weekend

With some spare parts, a USB speakerphone, and my Home Assistant server, I was able to make a competent JARVIS for my home office over the weekend…and the exciting part is that it’s only going to keep getting better! Last year was the “Year of Voice” for Home Assistant, the open source home automation platform, and the team accomplished a ton of work that enables Home Assistant users to make their own voice assistants.

Read more