From 0f81d2cacea5f8b7b8515ea1bbc169b8287635e2 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Mon, 18 Aug 2025 18:17:14 +0700 Subject: [PATCH] make DockButton not rely on auto-cascaded `dockRow.padding` --- .config/quickshell/ii/modules/dock/Dock.qml | 36 +++++++++---------- .../quickshell/ii/modules/dock/DockApps.qml | 4 +++ .../quickshell/ii/modules/dock/DockButton.qml | 3 -- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.config/quickshell/ii/modules/dock/Dock.qml b/.config/quickshell/ii/modules/dock/Dock.qml index b4237e524..c611155f8 100644 --- a/.config/quickshell/ii/modules/dock/Dock.qml +++ b/.config/quickshell/ii/modules/dock/Dock.qml @@ -16,19 +16,18 @@ Scope { // Scope id: root property bool pinned: Config.options?.dock.pinnedOnStartup ?? false - Variants { // For each monitor + Variants { + // For each monitor model: Quickshell.screens - PanelWindow { // Window - required property var modelData + PanelWindow { id: dockRoot + // Window + required property var modelData screen: modelData visible: !GlobalStates.screenLocked - - property bool reveal: root.pinned - || (Config.options?.dock.hoverToReveal && dockMouseArea.containsMouse) - || dockApps.requestDockShow - || (!ToplevelManager.activeToplevel?.activated) + + property bool reveal: root.pinned || (Config.options?.dock.hoverToReveal && dockMouseArea.containsMouse) || dockApps.requestDockShow || (!ToplevelManager.activeToplevel?.activated) anchors { bottom: true @@ -36,9 +35,7 @@ Scope { // Scope right: true } - exclusiveZone: root.pinned ? implicitHeight - - (Appearance.sizes.hyprlandGapsOut) - - (Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut) : 0 + exclusiveZone: root.pinned ? implicitHeight - (Appearance.sizes.hyprlandGapsOut) - (Appearance.sizes.elevationMargin - Appearance.sizes.hyprlandGapsOut) : 0 implicitWidth: dockBackground.implicitWidth WlrLayershell.namespace: "quickshell:dock" @@ -55,9 +52,7 @@ Scope { // Scope height: parent.height anchors { top: parent.top - topMargin: dockRoot.reveal ? 0 : - Config.options?.dock.hoverToReveal ? (dockRoot.implicitHeight - Config.options.dock.hoverRegionHeight) : - (dockRoot.implicitHeight + 1) + topMargin: dockRoot.reveal ? 0 : Config.options?.dock.hoverToReveal ? (dockRoot.implicitHeight - Config.options.dock.hoverRegionHeight) : (dockRoot.implicitHeight + 1) horizontalCenter: parent.horizontalCenter } implicitWidth: dockHoverRegion.implicitWidth + Appearance.sizes.elevationMargin * 2 @@ -108,7 +103,8 @@ Scope { // Scope VerticalButtonGroup { Layout.topMargin: Appearance.sizes.hyprlandGapsOut // why does this work - GroupButton { // Pin button + GroupButton { + // Pin button baseWidth: 35 baseHeight: 35 clickedWidth: baseWidth @@ -125,11 +121,16 @@ Scope { // Scope } } DockSeparator {} - DockApps { id: dockApps; } + DockApps { + id: dockApps + buttonPadding: dockRow.padding + } DockSeparator {} DockButton { Layout.fillHeight: true onClicked: GlobalStates.overviewOpen = !GlobalStates.overviewOpen + topInset: Appearance.sizes.hyprlandGapsOut + dockRow.padding + bottomInset: Appearance.sizes.hyprlandGapsOut + dockRow.padding contentItem: MaterialSymbol { anchors.fill: parent horizontalAlignment: Text.AlignHCenter @@ -139,9 +140,8 @@ Scope { // Scope } } } - } + } } - } } } diff --git a/.config/quickshell/ii/modules/dock/DockApps.qml b/.config/quickshell/ii/modules/dock/DockApps.qml index 623bdc23e..4c118630c 100644 --- a/.config/quickshell/ii/modules/dock/DockApps.qml +++ b/.config/quickshell/ii/modules/dock/DockApps.qml @@ -16,6 +16,7 @@ Item { property real maxWindowPreviewHeight: 200 property real maxWindowPreviewWidth: 300 property real windowControlsHeight: 30 + property real buttonPadding: 5 property Item lastHoveredButton property bool buttonHovered: false @@ -84,6 +85,9 @@ Item { required property var modelData appToplevel: modelData appListRoot: root + + topInset: Appearance.sizes.hyprlandGapsOut + root.buttonPadding + bottomInset: Appearance.sizes.hyprlandGapsOut + root.buttonPadding } } diff --git a/.config/quickshell/ii/modules/dock/DockButton.qml b/.config/quickshell/ii/modules/dock/DockButton.qml index 7222464e9..8d366bc5f 100644 --- a/.config/quickshell/ii/modules/dock/DockButton.qml +++ b/.config/quickshell/ii/modules/dock/DockButton.qml @@ -11,8 +11,5 @@ RippleButton { implicitWidth: implicitHeight - topInset - bottomInset buttonRadius: Appearance.rounding.normal - topInset: Appearance.sizes.hyprlandGapsOut + dockRow.padding - bottomInset: Appearance.sizes.hyprlandGapsOut + dockRow.padding - background.implicitHeight: 50 }