From 7268221a511e0ef7d3d65bfd25986796d42233e9 Mon Sep 17 00:00:00 2001 From: Erik Simon Date: Sat, 29 Aug 2026 02:41:39 +0200 Subject: [PATCH] fix(quickshell): drop layout-overridden geometry in HostPanel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_01HEtXvseVb5gwAtKNhFx2PU --- .../hyprchrome/widgets/host/HostPanel.qml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/dotfiles/quickshell/hyprchrome/widgets/host/HostPanel.qml b/dotfiles/quickshell/hyprchrome/widgets/host/HostPanel.qml index 829fb55..7cdd2ce 100644 --- a/dotfiles/quickshell/hyprchrome/widgets/host/HostPanel.qml +++ b/dotfiles/quickshell/hyprchrome/widgets/host/HostPanel.qml @@ -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 {