Add session-owned Pomodoro cycles and controls

Add configurable work and break intervals, pause/resume, CLI and activity-popup controls, and silent completion alerts. Use CLOCK_BOOTTIME deadlines so running timers include suspend without consuming paused time.

Refs #31
This commit is contained in:
Samuel Onoja committed 2026-10-20 15:19:55 +01:00
1 parent 53ba599918
commit 2c9bb85f2c
18 files changed
+1209 -16

No files matched your search

+2
View File
@@ -103,6 +103,8 @@ impl Ferese {
.find(|candidate| *candidate != output)
.map(|output| output.name());
self.activities.store.remove_output(&output.name(), fallback.as_deref());
self.activities
.pomodoro_remove_output(&output.name(), fallback.as_deref());
self.activities.changed();
self.display_presentation.remove_output(output);
self.output_redraw_pending.retain(|pending| pending != output);
+1 -1
View File
@@ -168,7 +168,7 @@ impl Ferese {
self.desktop_transition.as_mut().unwrap().publishing = true;
let activity_output = self.space.outputs().next().map(|output| output.name());
if let Some(output) = activity_output
&& self.activities.store.attach_output(&output)
&& (self.activities.store.attach_output(&output) | self.activities.pomodoro_attach_output(&output))
{
self.activities.changed();
}