Skip to content

notifications ​

Notification center: icon in the bar, dropdown with history, DND toggle.

Add it to your layout with notifications:

yaml
bar:
  layout:
    - monitor: "*"
      right: [notifications]

General ​

FieldTypeDefaultDescription
enabledbooltrueEnable the notifications service and module.
icon-namestring"ld-bell-symbolic"Icon shown when no notifications and DND is off.
icon-unreadstring"ld-bell-dot-symbolic"Icon shown when notifications exist.
icon-dndstring"ld-bell-off-symbolic"Icon shown when Do Not Disturb is active.
border-showboolfalseDisplay border around button.
icon-showbooltrueDisplay module icon.
label-showbooltrueDisplay notification count label.
label-max-lengthu320Max label characters before truncation with ellipsis. Set to 0 to disable.
blocklistarray of string[]Glob patterns for app names whose notifications are blocked entirely.
icon-sourceIconSource"automatic"How notification icons are resolved.
history-memoryNotificationHistoryMemory200How many of the newest notifications the history keeps in memory. Older ones stay on disk and load as the dropdown scrolls to them.
history-storedNotificationHistoryStored10000How many notifications the history keeps on disk. The oldest are deleted past it.
popup-positionPopupPosition"top-right"Screen position for popup notifications.
popup-max-visibleu325Maximum number of popups visible at once.
popup-stacking-orderStackingOrder"newest-first"Order in which popups stack on screen.
popup-stackPopupStack"per-app"Which popups collapse into one stack: the newest card in front, up to two older ones peeking out behind it, and a count of the rest. Hovering a stack fans it out into a list.
popup-durationu325000Maximum popup display duration in milliseconds.
popup-hover-pausebooltruePause popup auto-dismiss timer on hover.
popup-margin-xSize0Horizontal margin from screen edges. Accepts a scale multiplier or pixels (e.g. "12px").
popup-margin-ySize0Vertical margin from screen edges. Accepts a scale multiplier or pixels (e.g. "12px").
popup-gapSize1Gap between stacked popups: a multiplier of the default 8px (1.0 = default) or absolute pixels.
popup-monitorPopupMonitor"primary"Target monitor: "primary" or a connector name like "DP-1".
popup-layerLayer"overlay"Layer-shell layer popup notifications are placed on.
popup-close-behaviorPopupCloseBehavior"dismiss"What happens when the close button on a popup is clicked.
popup-shadowbooltrueDisplay drop shadow on popup cards.
popup-opacityPercentage75Opacity of a popup card's frosted surface at rest (0-100). The card under the pointer is opaque, and so is every card where the compositor cannot blur what is behind the popups.
popup-urgency-barUrgencyBarThreshold"critical"Minimum urgency level that displays a colored urgency bar.
thresholdsarray of ThresholdEntry[]Dynamic color thresholds based on notification count.
More about blocklist

Matched notifications are silently dropped. Supports * (any characters) and ? (single character).

Examples: ["notify-send", "*chromium*", "Vivaldi*"]

More about icon-source
ModePer-notification imageNo image provided
automaticShows the imageMapped icon
mappedIgnoredMapped icon
applicationShows the imageApp's generic icon, then mapped fallback
More about popup-duration

Applications may request a shorter timeout, which takes precedence.

More about popup-layer

When general.tearing-mode is enabled, overlay is demoted to top to allow fullscreen tearing.

More about thresholds

Entries are checked in order; the last matching entry wins for each color slot. Use above for high-value warnings (e.g., many unread notifications).

Example ​

yaml
modules:
  notifications:
    thresholds:
      - above: 5
        icon-color: status-warning
        label-color: status-warning
      - above: 20
        icon-color: status-error
        label-color: status-error

Colors ​

FieldTypeDefaultDescription
border-colorColorValue"green"Border color token.
icon-colorColorValue"auto"Icon foreground color. Auto selects based on variant for contrast.
icon-bg-colorColorValue"green"Icon container background color token.
label-colorColorValue"fg-default"Label text color token.
button-bg-colorColorValue"bg-surface-elevated"Button background color token.

Click actions ​

FieldTypeDefaultDescription
left-clickClickAction"dropdown:notification"Action on left click.
right-clickClickAction"lys-shell notify dnd"Action on right click. Default toggles Do Not Disturb.
middle-clickClickAction""Action on middle click.
scroll-upClickAction""Action on scroll up.
scroll-downClickAction""Action on scroll down.

Default configuration ​

yaml
modules:
  notifications:
    enabled: true
    icon-name: ld-bell-symbolic
    icon-unread: ld-bell-dot-symbolic
    icon-dnd: ld-bell-off-symbolic
    border-show: false
    border-color: green
    icon-show: true
    icon-color: auto
    icon-bg-color: green
    label-show: true
    label-color: fg-default
    label-max-length: 0
    button-bg-color: bg-surface-elevated
    left-click: dropdown:notification
    right-click: lys-shell notify dnd
    middle-click: ""
    scroll-up: ""
    scroll-down: ""
    blocklist: []
    icon-source: automatic
    history-memory: 200
    history-stored: 10000
    popup-position: top-right
    popup-max-visible: 5
    popup-stacking-order: newest-first
    popup-stack: per-app
    popup-duration: 5000
    popup-hover-pause: true
    popup-margin-x: 0.0
    popup-margin-y: 0.0
    popup-gap: 1.0
    popup-monitor: primary
    popup-layer: overlay
    popup-close-behavior: dismiss
    popup-shadow: true
    popup-opacity: 75
    popup-urgency-bar: critical
    thresholds: []

Released under the MIT License.