| name | quickshell-layouts |
| description | Use when arranging widget rows, columns, grids, menu entries, meters, or responsive panels with Qt Quick Layouts. |
| source_examples | ["examples/quickshell/standalone/popup-menu-panel.qml","examples/quickshell/components/StatusMeter.qml"] |
| source_docs | ["https://doc.qt.io/qt-6/qtquicklayouts-overview.html"] |
Quickshell Layouts
When to use
Use this for multi-item arrangement: rows, columns, grid menus, meter rows, toolbar strips, inventory blocks, and responsive panel interiors.
Steps
- Import
QtQuick.Layouts when using RowLayout, ColumnLayout, or GridLayout.
- Use
Layout.fillWidth / Layout.fillHeight for elements that should consume remaining space.
- Use
Layout.preferredWidth / Layout.preferredHeight when fixed-ish sizing needs to coexist with resizable siblings.
- Use
spacing, rowSpacing, and columnSpacing deliberately; avoid accidental bulky ornamentation.
- Keep shell-window geometry (
PanelWindow anchors/margins) separate from interior layout geometry.
- Use
Repeater only when model items are simple and deterministic enough for static review.
Safety baseline
- Keep work in the project sandbox unless explicitly asked to edit source.
- Do not write to
~/.config/quickshell.
- Do not launch a live persistent widget from a skill; generate/static-review first.
- Keep KDE/Wayland examples free of
hyprctl and FloatingWindow.
Verification
- Layout imports are present when
Layout.* attached properties are used.
PanelWindow anchoring is not mixed up with interior item layout.
- Repeated delegates still expose hitbox markers when they are interactive.