Help & Guide
Everything you need to know
Keyboard Shortcuts
| ^⌘/ | Global — Toggle todoglow (works anywhere)Default shortcut · customizable in Settings. QWERTZ: ⌃⌘- · AZERTY: ⌃⌘! |
| ^⌘. | Global — Focus mode (works anywhere)Default shortcut · customizable in Settings |
| ? | Show all keyboard shortcuts in the appQWERTZ: ⇧- · AZERTY: ⇧! · or F1 |
| Focus Bar | |
| ↑↓←→ | Move focus bar |
| ⇧+↑↓←→ | Move focus bar (fast) |
| R | Reset focus bar to center |
Press ? or F1 in the app to see the full list of shortcuts.
Non-US Keyboard Layouts
todoglow shortcuts are based on physical key positions, not the characters printed on your keycaps. This means shortcuts work the same way regardless of your keyboard layout (QWERTZ, AZERTY, etc.).
For example, / refers to the key directly left of your right Shift key — even if that key types a different character on your layout.
Similarly, ? is Shift + that same key. You can also press F1 as a universal alternative for help.
How Time Tracking Works
todoglow tracks active time, not just elapsed time. Here's how we designed it:
The Problem
Most todo apps just count wall-clock time. Start a todo at 2:00 PM, finish at 4:00 PM = 2 hours. But what if you took a coffee break? Or stepped away for a meeting? The timer keeps running, giving you inflated numbers.
Our Solution
We use macOS's CGEventSource API to detect system-wide idle time. If you're not touching keyboard or mouse for 5+ minutes, that time is excluded from your active work time.
Technical Details
System-wide detection
We check entire system activity, not just todoglow. Working in VSCode? Browsing docs? All counts as active time.
5-minute grace period
Reading docs? Thinking through a problem? We give you 5 minutes before marking you idle. Short pauses are normal and count as work time.
Sleep & suspend handling
Closed your laptop? We detect the gap when you return. If elapsed time is much larger than current idle time, we know you were away and exclude that period.
Battery friendly
Lightweight periodic checks with minimal CPU and memory usage. Idle tracking only runs while a todo is in progress.
// Simplified formula
active_time = elapsed_time - idle_accumulated
// Idle is accumulated when:
system_idle >= 5 minutes
OR
app was suspended (laptop closed, etc.)
Why this matters: Accurate time tracking helps you understand how long todos actually take. Over time, you'll get better at estimating work — not because of better guessing, but because of better data.
We're listening: Should the idle threshold be 3 minutes? 5 minutes? 10? We're still tuning this based on real usage.Let us know what works for you.
More
Contact
Found a bug? Have a feature request? Just want to say hi?
hello@devglow.appWe read every email and try to respond within a day.