Skip to content

[Feature request]: Enhanced appExclusions behaviour #1617

@vysakh-poulose

Description

@vysakh-poulose

Version

  • I'm using version 1.17.2

Existing requests

  • I've checked Existing requests

Advanced Preferences

  • I've checked Advanced Preferences

What operating system are you using?

macOS

Operating System Version

macOS Sequoia 15.5 (24F74)

Problem description

After a user has had a meeting in Zoom or watched a series on Netflix, they still want to ensure they take a break after, say, 30 minutes of total work, but they don't want a break pop-up to interrupt their viewing or meeting. With the current "rule": "pause" behavior, 30 minutes in Netflix/Zoom would mean 0 minutes of progress on the Stretchly timer, effectively delaying their break until they switch out.

Possible solution

Introduce an optional, alternative behavior for appExclusions where, when an excluded application is active:

  1. The internal break timers continue to run. The work interval countdown progresses as normal.
  2. Break notifications (the pop-up window) are paused. If a break is due while an excluded app is active, the break notification should not appear.
  3. When the user switches away from the excluded application to a non-excluded application, Stretchly should check if a break is due, we can make use of appExclusionsCheckInterval for this.
  4. If a break was due (or became due) while the excluded app was active, the break notification should then appear.

This would allow users to get their breaks "on time" based on their overall work duration, but only be interrupted when they are no longer in a "focus" application.

Alternative solutions

  1. Add a setting like maxSuppressedDelay to force a break if the user stays too long in an excluded app.
  2. The timer keeps going, just hide the alert "rule": "delay-notify"

Additional information

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions