Some jobs pay for breaks, so a pomodoro break shouldn't take time off
the workday. By default (new setting `paid_breaks`, in [reminders]), b
on the Tracker, zb anywhere or :break starts a pomodoro break WITHOUT
pausing the shift: the break stays in your worked time and the data
file isn't touched. b (or s) brings you back to focus. With the setting
off, b pauses the shift like p. p and e always stop the clock.
For the rhythm, a paid break still counts as a break: reminders::PaidBreaks
keeps them in memory and pomodoro() cuts them out of the focus stretches,
the same way as a pause. Stopping the shift ends a paid break, and
closing the work day forgets them.
The Tracker shows "on a paid break" and the paid break's progress, and
the nudges name the right key (b or p/s).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- keymap: every key sequence in vim notation (gg, yy, <C-a>,
<Space>s), with counts (5j), per-screen overrides and which-key hints,
all from the same tables.
- Component: the one trait for screens and popups. They only look at
the data through a Context and answer with Actions.
- Action: everything a screen can ask the app to do.
- widgets: big digits, buttons, a day timeline, a heatmap, a text field.
- ui/mod.rs: tabs, status line and the which-key popup; terminal.rs sets
the terminal up (and restores it after a crash).
Co-Authored-By: Claude Opus 5.5 <[email protected]>