Skip to content

Layer Rules

Layer rules match layer-shell surfaces such as bars, launchers, and notifications. The match.namespace selector uses an ECMAScript regular expression.

Run umbriel layers to list the namespaces currently in use.

[[layer_rule]]
match.namespace = "^noctalia-(bar-[^\"]+|notification|dock|panel|attached-panel|osd|desktop-widget-[^\"]*)$"
blur = true
blur_ignore_alpha = 0.5
blur_popups = true
SelectorTypeDescription
match.namespaceregexMatch the layer surface namespace.

Regular expressions match any part of a namespace. Use ^ and $ to match the entire namespace. A layer surface names itself when it is created, so match.namespace = "^$" selects the surfaces that named themselves with an empty string.

KeyTypeDescription
blurboolEnable/disable blur for the layer surface.
blur_popupsboolEnable/disable blur for descendant XDG popups.
blur_ignore_alphafloatSkip blur where surface alpha is below this threshold (0.0-1.0). 0.0 blurs the entire rectangle; higher values leave transparent regions unblurred.
blur_optimizedboolOverride appearance.blur.optimized. A true value keeps the cached background blur alive on every output even when the global switch is off.

Layer-shell blur is off by default. As with window rules, every matching rule contributes its settings, and later values take precedence. Rules from included files come before the rules in the file that includes them.