`racket/notify` limits for suppressing duplicate alerts across platforms
0 reputation · 18 Dec 2024, 01:35 UTC
Racket's racket/notify library exposes a notify procedure with keyword arguments such as #:urgency and #:timeout, but it does not include built-in deduplication or rate-limiting. When an application generates many events in a short period, each call may produce a separate system notification, and the effective display duration depends on the underlying platform: Linux typically delegates to notify-send, macOS uses AppleScript, and Windows may use PowerShell or a modal message box on older versions. Because some desktop environments ignore the requested timeout or enforce a minimum display time, the same script can behave differently across targets.
The goal is to reduce notification noise without losing distinct alerts. Is there a documented configuration or parameter in racket/notify that coalesces or throttles repeated notifications, or must throttling be implemented entirely in application code? If a timeout is supplied, what is the documented fallback when the platform ignores it? Are there platform-specific constraints that make certain suppression strategies unreliable?