Back to Noctalia

Notifications

v5-services-notifications.md

latest4.5 KB
Original Source

Notifications

[notification]enable_daemon = true # when false, don't claim org.freedesktop.Notifications; internal toasts still workshow_app_name = true # show the sending application name in toastsshow_actions = true # show action buttons; when false, clicking a toast triggers its default actionposition = "top_right" # top_right | top_left | top_center | bottom_right | bottom_left | bottom_centerlayer = "top" # top | overlay; overlay appears above fullscreen appsscale = 1.0 # toast size multiplier on top of shell.ui_scalebackground_opacity = 0.97 # toast card background alpha; lower values let compositor blur show throughoffset_x = 20 # absolute horizontal margin from the screen edgeoffset_y = 8 # absolute vertical margin from the screen edgemonitors = [] # empty = all monitors; otherwise connector/description selectors (e.g. ["eDP-1", "DP-1"])collapse_on_dismiss = true # slide remaining toasts to close gaps when one is dismissed
[notification.filter.rhythmbox]enabled = truematch = "rhythmbox"# match_content = "now playing" # optional regex matched against summary or bodyshow_toast = truesave_history = falseplay_sound = true# allow_permanent = true # allow this sender to create persistent (0-timeout) toasts# override_duration = 5000 # override the timeout (in ms) for all toasts from this sender# allowed_urgencies = ["normal", "critical"] # omit or list all three to allow every level
  • layer = "top" keeps toasts above normal app windows.
  • layer = "overlay" shows toasts above fullscreen apps.
  • offset_x and offset_y are absolute margins from the nearest screen edge for the configured position.
  • monitors = [] shows notifications on all monitors (default).
  • When monitors is non-empty, toasts are only created on matching monitors.
  • If none of the configured monitors are currently connected (e.g. an external display was undocked), Noctalia falls back to showing toasts on all available monitors so notifications never disappear silently. Targeting is restored automatically when a configured monitor reconnects.
  • Selector matching follows monitor override rules: exact connector name (eDP-1) or a word-boundary token in the monitor description.
  • Internal Noctalia notifications are transient toasts and are not stored in notification history.
  • collapse_on_dismiss = true (default) causes remaining toasts to slide into a compact stack when one is dismissed. Set to false for stable-slot behavior where toasts keep their original positions.

Filtering

Section titled “Filtering”

External notifications (from org.freedesktop.Notifications clients) can be filtered before toasts, sounds, and control-center history:

  • [notification.filter.<name>] - per-sender rules evaluated in filter_order (first matching enabled filter wins). Each filter has:
  • match - one case-insensitive token matched against the app name (exact or substring), desktop-entry, or category.
  • match_content - optional regular expression matched against the notification summary or body.
  • allowed_urgencies - when non-empty, only listed urgency levels pass this filter. Values: low, normal, critical. Omit or list all three to allow every level.
  • show_toast - show a toast popup (default true).
  • save_history - keep the notification in control-center history (default true).
  • play_sound - play the notification sound when a toast is shown (default true).
  • allow_permanent - allow this sender to create persistent (0-timeout) toasts (default true). When false, persistent toasts are forced to the standard expiration timeout.
  • override_duration - force a specific display duration in milliseconds, overriding both the default timeout and any timeout requested by the sender.

When no filter matches, all flags default to allow. A fully suppressed notification (no toast and no history) still returns a valid D-Bus id; CloseNotification on that id succeeds without showing a toast.

Legacy blacklist keys are migrated on read into filters with all actions disabled. Legacy top-level allowed_urgencies is migrated onto filters that do not already define their own list. Deprecated allow_critical / blacklist_allow_critical keys are ignored on read.

Configure filtering in Settings → Notifications → Filtering , or in the Noctalia TOML config stack.

Section titled “Related IPC”

For Do Not Disturb status/toggle commands and notification clear actions, see Media & UI → Notifications.