One lunch in the office a couple years ago, over cans of Amy’s soup and frozen Yaki Soba from Costco my colleague, Katie recounted her embarassment at having to resechedule an important meeting.
“I was on the phone with them yesterday and they’re like, ‘How’s Thursday?’ I look at my freaking calendar and it shows me having Thursday nothing so I’m like, ‘Anytime is good, pick your time.’ Then I wake up today and see I’ve got back to back meetings from ten to three. I was looking at Thursday like 4 weeks from now!”
Can you empathize?
I can. I’ve done that exact thing more than once. Telling someone you’re free because you’re looking at the wrong week leads to embarassment.
“I wish,” She said. “There was an app that just always switched you to today whenever you look at your calendar so you’re always looking at your agenda.”
Whenever I hear, “I wish this thing did this thing I want”, my ears prick up and I think, “Keyboard Masetro Macro!”
What We Want
As always, you have to abstract what you want as much as possible and attempt a narrative. So what do we want?
“I want my calendar to always focus on “Today” whenever I switch to it.“
That’s pretty clear. It tells us the action “focus on today” and what should trigger that action, “whenever I switch to [my calendar]”.
How Do We Make it Happen?
Let’s use Calendar.app for this example.
Either look through the menus until you find something like “Today” or “Go To Today”, or go to the Help menu and type “today” into the search box. That’s how I find most new menu items.
You’ll see that the command is “Go To Today” in the “View” menu with a shortcut of ⌘T (that’s command + T). Press anywhere in your calendar and you’ll move focus to today.
Also note that since Katie uses her calendar as a sort of agenda, we need to make sure it’s in week view. That’s also in the “View” menu under “By Week” with a shortcut of ⌘2.
Creating the Macro: Always See Today
Use the “This Application:” trigger and set it to your calendar app
So we need it to “Go To Today” and swith to week view. For that use the “Type a Keystroke” action for each actions. The shortcusts again are,
Go To Today – ⌘T
By Week – ⌘2
This officially does what we set out to do. Rejoice!
But it’s not good enough yet. If you try and call it a day right here, you’re going to run into problems down the road.
The problem with “Always See Today” is the “Always” part. Maybe 90% of the time this is the behavior you want, but in real life you sometimes need to switch between the calendar and other apps to reference things.
For that we can create a condition that will stop the macro from running when you don’t want it to.
We’ll use the “If Then Else” action under “Flow Control”. The “If Then Else” action allows you to do three things:
- Set a condition that will be true or false. KM gives you lots of options for this.
- Specifiy actions that will run if the condition is True
- Specify actions that will rund if the condition is False
My solution is to have the macro run if and only if the Caps Lock is not active. If it is, the macro will not run.
So the condition we need to set is “these modifiers” and on the row for “are not pressed” activate the Caps Lock symbol (⇪).
Then you can move the actions into the space for “execute the following actions”.
The second space for actions beneath “otherwise execute the following actions” can be left blank since we don’t want anything to happen when the caps lock is down.
Having to reschedule because of silly mistakes is embarassing. By giving yourslef the power to never again make this mistake, you are taking more control over your personal software and taking another step in your Empowered User Journey.
Can you think of a way to improve this? How would you solve the problem of disabling it when you needed to reference future events? Let me know!