Panels and layout
Panels
Section titled “Panels”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.
Example: Single Panel
Section titled “Example: Single Panel”[panels.top]height = 32padding_horizontal = 40anchor = "top"layer = "top"
[panels.top.layout]left = ["workspaces"]center = ["media_player"]right = ["sound_control", "battery", "weather", "clock"]Example: Two Panels (Top and Bottom)
Section titled “Example: Two Panels (Top and Bottom)”[panels.top]height = 32padding_horizontal = 40anchor = "top"layer = "top"
[panels.top.layout]left = ["workspaces"]center = ["media_player"]right = ["sound_control", "battery", "weather", "clock"]
[panels.bottom]height = 32padding_horizontal = 20anchor = "bottom"layer = "top"
[panels.bottom.layout]left = []center = ["clock"]right = ["weather"]Panel Settings
Section titled “Panel Settings”| 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)
Layout
Section titled “Layout”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.