Skip to content

Panels and layout

The application supports multiple panels, each anchored to a different edge of the screen. Panels are defined under [panels.<name>] sections, where <name> is an arbitrary identifier (e.g., top, bottom, dock).

Each panel has its own height, padding, anchor position, layer, and module layout.

[panels.top]
height = 32
padding_horizontal = 40
anchor = "top"
layer = "top"
[panels.top.layout]
left = ["workspaces"]
center = ["media_player"]
right = ["sound_control", "battery", "weather", "clock"]
[panels.top]
height = 32
padding_horizontal = 40
anchor = "top"
layer = "top"
[panels.top.layout]
left = ["workspaces"]
center = ["media_player"]
right = ["sound_control", "battery", "weather", "clock"]
[panels.bottom]
height = 32
padding_horizontal = 20
anchor = "bottom"
layer = "top"
[panels.bottom.layout]
left = []
center = ["clock"]
right = ["weather"]
Key Type Default Description
height int 32 Panel thickness in pixels (height for top/bottom, width for left/right)
padding_horizontal int 40 Left and right padding in pixels
anchor string "top" Screen edge: "top", "bottom", "left", or "right"
layer string "top" Layer shell layer: "background", "bottom", "top", or "overlay"

The anchor value determines which edges the panel is attached to:

  • "top" — anchored to the top, left, and right edges (horizontal bar at top)
  • "bottom" — anchored to the bottom, left, and right edges (horizontal bar at bottom)
  • "left" — anchored to the left, top, and bottom edges (vertical bar on left)
  • "right" — anchored to the right, top, and bottom edges (vertical bar on right)

Each panel has a [panels.<name>.layout] section that controls which modules appear and where. The panel has three sections arranged horizontally: left, center, and right. The center section expands to fill available space.

[panels.top.layout]
left = ["workspaces"]
center = ["media_player"]
right = ["sound_control", "battery", "weather", "clock"]

Each key is an ordered array of module names. Valid module names are:

  • "workspaces" - Workspace switcher, with the icons of what is open on each (requires Miracle WM)
  • "media_player" - MPRIS media player controls
  • "sound_control" - PulseAudio volume display
  • "brightness" - Display backlight level; scroll over it or open its slider to change it (hidden on machines with no backlight)
  • "battery" - Battery status monitor
  • "network" - Network connectivity (ethernet or WiFi name and IP address)
  • "weather" - Weather display
  • "notifications" - Notification bell and the notification panel
  • "clock" - Date and time
  • "dock" - Application launcher dock
  • "scratchpad" - Shows or hides the window manager’s scratchpad (requires Miracle WM)
  • "todo" - The todo board, with a count of what is due today

A module omitted from all sections of all panels is disabled entirely. You can place any module in any section and in any order. The same module can appear in multiple panels.

Note: When a layout section is present, all three keys (left, center, right) should be specified. An omitted key defaults to an empty list, not to the default modules.