The canonical written reference for every keyboard shortcut Atrium binds. The in-app Keyboard Shortcuts dialog (Ctrl+? / F1) renders the same map; both stay manually aligned with atrium/src/main.rs::install_accels.
| Shortcut | Action | Status |
|---|---|---|
Ctrl+N |
New task in active list | ✓ Phase 4 |
Ctrl+L |
Focus the sidebar filter (find-as-you-type) | ✓ Phase 7e |
Ctrl+Z |
Undo last toggle / delete (matches the active toast) | ✓ Phase 7f |
Ctrl+? / F1 |
Show this dialog | ✓ Phase 4 |
Ctrl+Q |
Quit | ✓ Phase 3 |
| Shortcut | List |
|---|---|
Ctrl+1 |
Inbox |
Ctrl+2 |
Today |
Ctrl+3 |
Upcoming |
Ctrl+4 |
Anytime |
Ctrl+5 |
Someday |
Ctrl+6 |
Logbook |
All six canonical lists shipped at v0.1.0; the v0.6.x sidebar reorder (v0.6.7 / v0.6.16) joined Agenda + Review to the top tier alongside them but those derived pages don't have their own number accels — reach them via the sidebar. (v0.39.0 merged the former separate Forecast entry into the Agenda view's Builder-only Bands/Strip layout toggle.)
These act on the focused row in the current list. From Phase 7h, the three input-conflicting chords (Space, Delete, Ctrl+A) are bound at the list-view level (gtk::ShortcutController with ShortcutScope::Managed) so they only fire when the task list itself or one of its rows has keyboard focus. Type-into-an-entry behaviour (Space inserts a space, Delete forward-deletes a character, Ctrl+A selects entry text) works everywhere else.
| Shortcut | Action |
|---|---|
Space |
Toggle completion |
Delete |
Delete focused task |
F2 |
Start inline editing on the focused row's title. Same surface as double-click. |
Double-click |
Start inline editing on the row's title (v0.1.10). Single click selects + holds focus. |
Ctrl+T |
Open the tag editor for the focused / first-selected task (Phase 7g). Right-click on a task row also surfaces Edit Tags… |
Ctrl+I |
Open the Inspector (full task editor — title, notes, schedule, deadline, project, tags) for the focused / first-selected task (Phase 7i). Right-click → Edit Details… is the menu equivalent. |
Alt+Up / Alt+Down |
Move the focused task up / down — a keyboard alternative to drag-reorder. Position-ordered lists only (Inbox, Anytime, Someday, project and area pages); on a date-sorted list it declines with the same toast a drag would (v0.40.x, Tier D). |
Alt+Left / Alt+Right |
Board views: move the focused card into the previous / next column — the keyboard alternative to a cross-column drag, through the same move path (tag or status change + persisted order). Cards are Tab-focusable; edge moves are silent no-ops. Contextual to the focused card (a key controller on the row, not an install_accels entry). (v0.68.0, A16.) |
Ctrl+Click |
Toggle row in the multi-selection (Phase 7c) |
Shift+Click |
Extend the multi-selection range (Phase 7c) |
Ctrl+A |
Select all in the active list (Phase 7c) |
Esc |
Clear multi-selection (Phase 7c) |
Mix freeform text and filter clauses inside the search bar. The grammar landed at v0.4.0 (Phase 15.5) and grew through v0.5.0; the canonical reference is spec.md §4.3. Press ? while the search entry is focused to open the in-app operator-reference popover.
Highlights — boolean operators (AND / OR / NOT, with NOT > AND > OR precedence + parens for grouping); comparison + range operators on date and numeric fields; date keywords (today, tomorrow, thisweek, 5daysago, etc.); state predicates (is:open, is:done, is:overdue, is:scheduled, is:repeating, is:deferred, is:someday, is:inbox); Calibre-style match modifiers on textual fields (tag:x substring, tag:=x exact, tag:~regex, tag:true / tag:false); fuzzy match (title:?term); the sort: modifier.
Examples: Q3 tag:work · tag:errand AND is:open · is:overdue · (tag:home OR tag:family) AND is:open · deadline:<thisweek · is:repeating sort:scheduled_for.
These manage the area / project hierarchy in the sidebar.
| Shortcut | Action |
|---|---|
Ctrl+Shift+N |
New Project (lands inside the active area when one is selected) |
Ctrl+Shift+A |
New Area |
F2 |
Rename the active project or area |
Ctrl+Shift+Delete |
Delete the active project or area (with confirmation) |
Builder Mode shipped at v0.2.0 — Inspector pane, Forecast, Review queue, Perspectives, defer dates and repeating tasks all reachable via the sidebar / Inspector. The chords below are still aspirational slots: shipped today via the sidebar / mode toggle, not via these accelerators. Listed here so they stay reserved for the binding pass.
| Shortcut | Action | Status |
|---|---|---|
Ctrl+Shift+F |
Open Forecast | Shipped via sidebar (Phase 12) — chord pending |
Ctrl+Shift+M |
Open Calendar Month View | Phase 12.5 |
Ctrl+Shift+R |
Open Review queue | Shipped via sidebar (Phase 13) — chord pending |
Ctrl+P |
Perspective picker | Shipped via sidebar Perspectives section (Phase 14) — chord pending |
Ctrl+D |
Defer-date editor | Shipped via Inspector (Phase 11) — chord pending |
Not all interactions are keyboard accels. The mouse gestures worth knowing (a keyboard-first alternative for each is tracked in the Tier D / D5 work):
| Gesture | Effect |
|---|---|
| Drag a task up/down | Reorder, on position-ordered lists only (Inbox, Anytime, Someday, project and area pages). On date-sorted lists (Today, Upcoming, Logbook) order follows the date, so a reorder drag is declined with a toast. |
| Shift-drag a task onto another task | Nest it as a subtask of the target (same project only; cycles are rejected with a toast). A plain drop still reorders. |
| Drag a task onto another day | Reschedule it — in the Forecast "Strip" layout and the Calendar Month View. |
| Drag a task onto a sidebar project / area | Move it there. |
| Drag a card between kanban columns | Tag-axis boards rewrite the task's tags; status-axis boards change the task's real state (and complete it on a "done" column). Keyboard equivalent: Alt+Left / Alt+Right on a focused card (v0.68.0). |
| Drop files / URLs / text onto the window | Opens Quick Entry pre-filled, so the capture is reviewable before it lands. |
These are wired in install_accels so muscle memory works once the feature lands; activating them today is a no-op or shows a "coming in Phase X" toast.
| Shortcut | Action | Lands in |
|---|---|---|
Ctrl+Shift+Z |
Redo | Phase 11+ (Builder Mode work history) |
Ctrl+, |
Preferences | Phase 8 |
- Every visible action carries its accel in the menu —
Ctrl+Qnext to "Quit", etc. - The Shortcuts dialog is always one keypress away —
Ctrl+?from anywhere. - No silent overrides of OS conventions — no rebinding
Ctrl+C,Ctrl+V, etc.; if an action conflicts with what the user expects in a text field, the text field wins.
- Add the action in
install_actions(or a window-scoped action viainstall_window_actions). - Bind the accel in
install_accels. - Add a row to the matching section above.
- Add a
<GtkShortcutsShortcut>entry toatrium/src/ui/shortcuts.rs::SHORTCUTS_XML.
The four edits land in the same change so docs / dialog / source stay in step.