Dock
A standalone application dock that displays pinned and running apps. Disabled by default.
[dock]enabled = false # set true to activateposition = "bottom" # top | bottom | left | rightactive_monitor_only = false # when true, only show apps/windows from the active monitor
icon_size = 48padding = 8 # inner padding around the icon row (all sides)item_spacing = 6 # gap between items in pixelsbackground_opacity = 0.88shadow = true # cast the global [shell.shadow]radius = 16margin_ends = 0 # inset from each end of the dock along its main axismargin_edge = 8 # distance from the nearest screen edge (positive values float the dock)
show_running = true # also show running apps not in the pinned listauto_hide = false # fade out when pointer leaves; fade in on approachreserve_space = false # keep exclusive zone even when auto-hidden
active_scale = 1.0 # icon scale for the focused app (clamped 0.1–1.75)inactive_scale = 0.85 # icon scale for non-focused apps (clamped 0.1–1.0)active_opacity = 1.0inactive_opacity = 0.85show_instance_count = true # badge with window count when an app has 2+ windows
# Desktop entry IDs, StartupWMClass, or human-readable namespinned = ["firefox", "code", "kitty"]Shadow blur, offset, and alpha are global under [shell.shadow]. The dock only exposes shadow = true|false.
pinned matching
Section titled “pinned matching”Each entry in pinned is matched against desktop entries using these rules in order:
- Desktop entry ID stem (
"firefox"matchesfirefox.desktopandorg.mozilla.Firefox.desktop) StartupWMClassfield of the desktop entry- App
Namefield (case-insensitive) - Full desktop entry path
If no match is found, a placeholder slot is reserved so the dock position is preserved.
Active app emphasis
Section titled “Active app emphasis”- The focused app uses
active_scaleandactive_opacity. - All other apps use
inactive_scaleandinactive_opacity. - Focus changes animate smoothly between the two states.
Auto-hide
Section titled “Auto-hide”When auto_hide = true, the dock:
- Does not reserve compositor exclusive zone.
- Fades out after the pointer leaves (slow ease-in animation).
- Fades back in when the pointer enters the thin edge trigger strip.
Set reserve_space = true to keep the exclusive zone while auto-hidden.
noctalia msg show-dock # re-display all instancesnoctalia msg hide-dock # close all instances until next reloadnoctalia msg toggle-dock # toggle dock visibilitynoctalia msg reload-dock # reload dock configuration