feat: native desktop notifications (experimental) (#59)

* desktop notification by entering `Mode::DONE` for `countdown` and `pomodoro`

* remove redundant `on_done_called` check

* remove build warning (release only)

* log notification errors

* cli arg to enable desktop notifications

* persistant notification settings

* ctrl shortcut

* update changelog

* max timer notification
This commit is contained in:
Jens Krause
2025-01-28 19:28:34 +01:00
committed by GitHub
parent 97787f718d
commit d3c436da0b
14 changed files with 957 additions and 221 deletions

View File

@@ -1,5 +1,5 @@
use crate::{
common::{AppTimeFormat, Content, Style},
common::{AppTimeFormat, Content, Notification, Style},
widgets::pomodoro::Mode as PomodoroMode,
};
use color_eyre::eyre::Result;
@@ -12,6 +12,7 @@ use std::time::Duration;
pub struct AppStorage {
pub content: Content,
pub show_menu: bool,
pub notification: Notification,
pub app_time_format: AppTimeFormat,
pub style: Style,
pub with_decis: bool,
@@ -38,6 +39,7 @@ impl Default for AppStorage {
AppStorage {
content: Content::default(),
show_menu: true,
notification: Notification::Off,
app_time_format: AppTimeFormat::default(),
style: Style::default(),
with_decis: false,