Hotkey Zen #1 — Toggling WIP, DONE, and PENDING Like a Productivity Monk
How to toggle note states and save 12+ hours—with one satisfying keystroke
I usually don’t share efficiency tricks as they rarely move the big levers. But today I was short on time and needed to write something quick. So here’s a small but genuinely useful PKM tip you might enjoy.
Before we start: do you (or did you ever) use Obsidian as your note-taking tool or even as a Personal Knowledge Companion?
Note Metadata in Obsidian
Obsidian is a markdown-based tool that supports YAML frontmatter for metadata. Here’s what that looks like in one of my effort notes—for my Scale-Smart book writing program:
title: 💥 FPS Book
aliases: [My Book]
tags: []
created on: 2023-11-06
intent: Write and release my first every book.
last modified on: 2025-06-10
status: wip🔥 // <--- The interesting bit for us
isa: ["[[Personal Program (PP)|Personal Program]]"]
You can define these fields however you like. I use a field called status
to track a note’s current state:
wip🔥
— active effortdone✅
— completed effortpending💤
— effort paused or waitingblank — undefined (neither wip, nor done, nor pending)
The Problem
Changing the status usually involves editing the front matter manually or navigating through a side panel. That only takes about 5 seconds, but I do it several times a day.
As the classic XKCD “Is It Worth It?” chart shows (scientifically, of course), yes, that adds up. If I can automate this, I should theoretically save 12 hours over 5 years.
The solution
I set up templated hotkeys that instantly toggle note states. No YAML fiddling. No side panels. Just one keystroke.
Setup took me 30 minutes (≤12 hours ✅). With this guide, you could do it in even less.
Step-by-step Setup
Define your statuses.
Mine are
wip🔥
,done✅
,pending💤
, or none.Create a template note for each status.
These act as hotkey triggers. I named mine like:
Note Status - Xxxxx
and placed them in my templates folder.FYI: I wanted
wip🔥
anddone✅
to toggle via the same key, so I only made one note.Install the Templater Plugin.
Under Settings → Templater → Template Hotkeys, assign each of your status notes a hotkey.
I use:
F8
(⏯️ ) to togglewip🔥
↔done✅
F6
(🌙 ) to togglepending💤
F2 (☀️ ) to toggle voide (no status)
Add the following scripts to your new status template notes:
For toggling wip🔥
↔ done✅
<%*
const file = tp.file.find_tfile(tp.file.path(true));
await app.fileManager.processFrontMatter(file, (frontmatter) => {
if (frontmatter["status"] === "wip🔥") {
frontmatter["status"] = "done✅";
} else {
frontmatter["status"] = "wip🔥";
}
});
-%>
For setting to pending💤
<%*
const file = tp.file.find_tfile(tp.file.path(true));
await app.fileManager.processFrontMatter(file, (frontmatter) => {
frontmatter["status"] = "pending💤";
});
-%>
For clearing the status (∅)
<%*
const file = tp.file.find_tfile(tp.file.path(true));
await app.fileManager.processFrontMatter(file, (frontmatter) => {
frontmatter["status"] = "";
});
-%>
That’s it!
With one keystroke, I can now update my note’s status in an instant.
Small thing. Big feel-good. Surprisingly useful.
Hope this helps someone out there who lives inside Obsidian all day like I do.
Did you like this kind of quick tip post? Should I do more of them?
Let me know in the comments 👇
It only took me 6 minutes to implement this valuable tip! After getting this to work, I finally understood how you applied the Mac Function row key icons and used it to according to your templates. The play/pause ⏯️ works really well with the idea behind that toggle too. That would be fun to use the Void hotkey with the "mute volume" key (F10 for me).
I have also been starting to integrate advanced Templater templates this week after I understood it more. This last week, I asked my GPT agent if it could create a template that took any line I was in, cut it out from where it was originally positioned in the note, and append it to the end of the note. It was pretty cool getting code delivered from an Agent that worked so fast.
It worked so well, I prompted for similar tricks, creating another version that started off the same, but moved the line I was on to the beginning of the note. However, I'm not sure if and when I would use these new utility templates I came up with.