Parch

Notifications

Notifications interrupt. Most events do not deserve one.

When to notify

  • Long operations (>10s) that finish while the user is elsewhere.
  • Events that require attention the user asked for (update available, build finished, download failed).
  • Security-relevant changes.

When not to notify

  • Anything visible on screen already.
  • Routine progress (use the in-app indicator or systray applet).
  • Marketing, tips, or “did you know” content, never.

Anatomy

  • One-line summary + optional one-line body; the body holds the recovery (“Retry”, “Open logs” as notification actions).
  • Icon identifies the app; the title identifies the event.
  • Urgency is honest: critical urgency is for security and hardware issues only.
  • Sounds follow the system theme's defaults; apps don't ship their own.
  • Group repeats (“12 packages updated” not 12 notifications).

Implementation

  • Send through the desktop notification service (freedesktop org.freedesktop.Notifications) via the toolkit's API, never draw custom notification windows.
  • Register a systray/applet presence for apps with ongoing background roles (like parch-update's notifier applet).
  • Persist an in-app activity log so dismissed notifications remain discoverable.