Keyboard shortcuts
Eight keys cover almost everything you'll ever do. They're inactive while you're typing in an input or note, so you can use them anywhere else.
butter is built around the keyboard. The dashboard's most-used moves — edit, add, settings, help — each get a single key. Edit mode adds a second layer for moving widgets around without ever reaching for the mouse.
Shortcuts are disabled while you're typing in an input, textarea, select, or contenteditable. So you can hammer E inside a Todo input without accidentally entering edit mode mid-task.
Global
| Shortcut | Action |
|---|---|
| E | Toggle edit mode Enter or leave edit mode. The fastest way in and out — drag handles, settings gears, and the X-to-remove icons appear when on. Press Esc to leave too. |
| A | Add a widget Open the widget picker. Has its own search field and tab-friendly grid; pick a widget and it lands at the bottom of your dashboard. |
| , | Open settings Opens the global Settings modal — account, theme, background, integration connections, export / import. |
| ? | Show the shortcuts overlay A tiny modal listing the live shortcut set. Useful when you forget one. |
| Esc | Close the topmost overlay; otherwise exit edit mode Closes whatever modal is open first (Settings, Add widget, Shortcuts overlay). If nothing's open and you're in edit mode, leaves edit mode. So Esc reads as "back out of the current thing." |
In edit mode
These only fire while edit mode is on and you've focused a widget with Tab . The focus ring is the visual cue that the widget will respond to arrow keys.
| Shortcut | Action |
|---|---|
| Tab | Focus a widget Cycle focus through widgets on the dashboard. Only fires inside edit mode — outside, Tab moves through browser chrome as usual. |
| ↑ ↓ ← → | Nudge focused widget Move the focused widget one grid cell in that direction. The card pulses briefly to confirm the move. |
| Shift + ↑ ↓ ← → | Resize focused widget Grow or shrink the focused widget by one grid cell. Width snaps to 4 / 8 / 12 — Shift+→ on a 4-col widget jumps it to 8. |
Inside specific widgets
A few widgets respond to their own keys when you're working in them directly:
- Todo. Enter in the input adds the task. Tab walks through the list checkboxes if you want a keyboard pass.
- Add widget. Type in the search field and Enter adds the first matching widget — no need to arrow-down + click.
- Weather. Enter in the location search submits the geocoding lookup — no need to reach for the Search button.
- Reddit. Enter in the subreddit field commits the change; Tab blurs and commits too. Invalid names refuse to save with an inline message.
- Settings forms. Esc closes the modal first; if you have unsaved-looking-changes mid-typing, the autosave catches everything on field blur.
Heads up
- Modals layer their own Escape. Settings, Add widget, and the Shortcuts overlay each handle Esc internally — Esc closes the top one first, then exits edit mode, then no-ops. So you never have to think "is this Esc closing the modal or leaving edit mode?" — it always closes the modal.
- No platform-specific modifiers. The shortcut set is bare keys (no Ctrl, no Cmd) — so the same keys work on Mac, Windows, and Linux without translation. The trade-off is that you can't currently rebind them.
- Open the shortcuts overlay any time. Press ? wherever you are on the dashboard — the modal pops up with the live key list, so if a key changes in a future update, you'll see it there first.