From 667efec483ffaa9775758582bab4825ac8627d5e Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Sat, 18 Apr 2026 19:04:56 +0200 Subject: [PATCH] Fix panel interactive flag and reserved height NavigationPanel: the taskStrip ListView checked contentWidth > width to decide whether scrolling is enabled, which is wrong when the panel is vertical. Check contentHeight > height in that case. taskpanel: dockSpaceReserver used a hardcoded gridUnit * 3 for both height and exclusionZone. Use navigationPanelHeight so the reserved strip tracks the actual panel thickness. --- .../mobileshell/qml/navigationpanel/NavigationPanel.qml | 2 +- containments/taskpanel/qml/main.qml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/mobileshell/qml/navigationpanel/NavigationPanel.qml b/components/mobileshell/qml/navigationpanel/NavigationPanel.qml index ae1fd07c..80e0b13a 100644 --- a/components/mobileshell/qml/navigationpanel/NavigationPanel.qml +++ b/components/mobileshell/qml/navigationpanel/NavigationPanel.qml @@ -148,7 +148,7 @@ Item { orientation: root.isVertical ? ListView.Vertical : ListView.Horizontal spacing: Kirigami.Units.smallSpacing clip: true - interactive: contentWidth > width + interactive: root.isVertical ? contentHeight > height : contentWidth > width model: root.taskModel delegate: NavigationPanelButton { diff --git a/containments/taskpanel/qml/main.qml b/containments/taskpanel/qml/main.qml index 9f3aa4cf..7d78f2cc 100644 --- a/containments/taskpanel/qml/main.qml +++ b/containments/taskpanel/qml/main.qml @@ -158,13 +158,13 @@ ContainmentItem { color: "transparent" flags: Qt.FramelessWindowHint | Qt.WindowTransparentForInput // height is set by layer-shell anchoring; provide a fallback. - height: Kirigami.Units.gridUnit * 3 + height: root.navigationPanelHeight width: 1 // layer-shell stretches it via AnchorLeft|AnchorRight LayerShell.Window.scope: "dock-space" LayerShell.Window.layer: LayerShell.Window.LayerBottom LayerShell.Window.anchors: LayerShell.Window.AnchorBottom | LayerShell.Window.AnchorLeft | LayerShell.Window.AnchorRight - LayerShell.Window.exclusionZone: Kirigami.Units.gridUnit * 3 + LayerShell.Window.exclusionZone: root.navigationPanelHeight LayerShell.Window.keyboardInteractivity: LayerShell.Window.KeyboardInteractivityNone }