Toqozz / wired-notify

Lightweight notification daemon with highly customizable layout blocks, written in Rust.
MIT License
608 stars 28 forks source link

[Request] Pause notifications by default and unpause when cursor is moved or key pressed #85

Closed 9IPOCJIABbI4 closed 2 years ago

9IPOCJIABbI4 commented 2 years ago

Mechanics of this type seems to be used on MacOS, maybe it will be simpler then your idle_threshold idea here

Toqozz commented 2 years ago

You should be able to emulate this behavior by just setting idle_threshold to 0, or does this have some quirks I'm not thinking of?

Maybe the request is actually for automatically unpausing notifications on input?

9IPOCJIABbI4 commented 2 years ago

You are right. It would be better to call request " automatically unpausing notifications on input". Setting idle_threshold to 0 will pause all notifications, but not unpause on input.

Toqozz commented 2 years ago

Actually I think I'm mistaken, because if you set idle_threshold to 0, then the notifications will re-pause as soon as you stop providing input.

Toqozz commented 2 years ago

I've added 2 new config options that are available on master branch:

notifications_spawn_paused and unpause_on_input.

Setting both of these to true should provide the desired behavior, feel free to re-open and let me know if it doesn't or if anything needs to be changed.

    // Wired will pause notifications if you are idle (no mouse or keyboard input) for longer than
    // `idle_threshold` seconds.
    // Note that notifications will not be automatically unpaused on wake, and will need to be manually
    // cleared, unless `unpause_on_input` is set to true.
    // Also note that no distinction is made between manually paused and idle paused notifications.
    // If `idle_threshold` is not specified, the behavior will be disabled entirely.
    //idle_threshold: 3600,

    // Notifications will spawn paused, and have to be manually unpaused or cleared by the user,
    // unless `unpause_on_input` is also set.
    //notifications_spawn_paused: false,

    // Unpause notifications when we receive any input after being idle for longer than 1 second.
    // Note that no distinction is made between manually paused notifications and idle paused/spawned notifications.
    //unpause_on_input: false,