Add paid pomodoro breaks
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]>
This commit is contained in:
1 parent
fe5e2d9a7f
commit
49e14b820a
8 files changed
+233
-21
No files matched your search
@@ -48,6 +48,7 @@ pub enum Command {
|
||||
EndDayAt,
|
||||
StartEarlier,
|
||||
StartLater,
|
||||
TakeBreak,
|
||||
Snooze,
|
||||
// Recorded work
|
||||
Edit,
|
||||
@@ -124,6 +125,7 @@ pub const GLOBAL: &[Binding] = &[
|
||||
bind("<Tab>", C::NextScreen, "next screen"),
|
||||
bind("<S-Tab>", C::PreviousScreen, "previous screen"),
|
||||
bind("zz", C::Snooze, "snooze the break reminder"),
|
||||
bind("zb", C::TakeBreak, "take a pomodoro break / back from it"),
|
||||
bind("<Space><Space>", C::Toggle, "start / pause"),
|
||||
bind("<Space>s", C::StartAt, "start at an earlier time..."),
|
||||
bind("<Space>p", C::PauseAt, "pause at an earlier time..."),
|
||||
@@ -152,6 +154,7 @@ pub const LIST: &[Binding] = &[
|
||||
];
|
||||
|
||||
pub const TRACKER: &[Binding] = &[
|
||||
bind("b", C::TakeBreak, "take a pomodoro break / back from it"),
|
||||
bind("<CR>", C::Edit, "fix the session in progress"),
|
||||
bind("i", C::Edit, "fix the session in progress"),
|
||||
bind("o", C::AddAfter, "add forgotten work to today"),
|
||||
|
||||
Reference in new issue
Block a user