fix(quickshell): drop layout-overridden geometry in HostPanel

The expanded body is a RowLayout, so the divider's `y`/`width`/`height`, the
clock column's `width: 210`, and the user/zone text's `y: 32` were all being
discarded silently — a layout assigns its children's geometry, and a Column
positions its own. Only the anchors among these ever warned.

The divider's 8px inset becomes Layout margins, and `Layout.alignment` goes
from the clock column, where it is ignored while the item fills.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HEtXvseVb5gwAtKNhFx2PU
This commit is contained in:
2026-08-29 02:41:39 +02:00
co-authored by Claude Opus 5
parent e38a8403ac
commit 7268221a51
@@ -153,7 +153,6 @@ BarPanel {
}
Text {
y: 32
text: (panel.userName || "NODE") + " // " + (panel.zoneName || "LOCAL")
color: Theme.accent
font.family: Theme.microFont
@@ -166,21 +165,25 @@ BarPanel {
// Rule between identity and clock, the same hairline the dense bar
// puts between its host name and node readout.
Rectangle {
Layout.alignment: Qt.AlignCenter
y: 2
width: 2
height: parent.height - 8
// The layout owns x/y/width/height: the 8px inset that was
// `height: parent.height - 8` becomes margins, and a bare `width: 2`
// would be overridden.
Layout.preferredWidth: 2
Layout.fillHeight: true
Layout.topMargin: 4
Layout.bottomMargin: 4
color: Theme.hair
}
Column {
id: clock
// Both columns share the width evenly, as before. `width: 210` here was
// dead — a layout assigns width — and `Layout.alignment` is ignored
// while an item fills.
Layout.fillWidth: true
Layout.fillHeight: true
Layout.alignment: Qt.AlignRight
width: 210
spacing: 2
Text {