Always See Today When Switching to Your Calendar

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 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.

Go to today and by week are both in View menu

Creating the Macro: Always See Today

The Trigger

Use the “This Application:” trigger and set it to your calendar app

Triggered by "This application: Calendar Activates"

Set your trigger with the “This Application” trigger

The Actions

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

Action: Select or Show a Menu Item (Interface Control)

Action: Select or Show a Menu Item (Interface Control)

By Week – 2

Action: Select or Show a Menu Item (Interface Control)

Action: Select or Show a Menu Item (Interface Control)

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.

Improve It

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

The Conditional

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 (⇪).

If all condtions met execute actions. These Modifiers are true: Caps Lock not pressed

Action: If Then Else (Control Flow)

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.

Full Macro Image: Always See Today

Your new macro in all its glory


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!

Leave a Reply