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 toastsposition = "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"show_toast = truesave_history = falseplay_sound = true# allowed_urgencies = ["normal", "critical"] # omit or list all three to allow every levellayer = "top"keeps toasts above normal app windows.layer = "overlay"shows toasts above fullscreen apps.offset_xandoffset_yare absolute margins from the nearest screen edge for the configuredposition.monitors = []shows notifications on all monitors (default).- When
monitorsis 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 tofalsefor 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 infilter_order(first matching enabled filter wins). Each filter has:match— one case-insensitive token matched against the app name (exact or substring),desktop-entry, orcategory.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 (defaulttrue).save_history— keep the notification in control-center history (defaulttrue).play_sound— play the notification sound when a toast is shown (defaulttrue).
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.
Related IPC
Section titled “Related IPC”For Do Not Disturb status/toggle commands and notification clear actions, see Shell & UI → Notifications.