mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-06-11 00:47:22 +00:00
Stop double-reserving top chrome
Keep the convergence panel hit area non-reserving so the explicit topbar-space surface remains the only top strut.
This commit is contained in:
parent
1a70b24c06
commit
d0262d0dd8
2 changed files with 10 additions and 5 deletions
|
|
@ -96,7 +96,7 @@ ContainmentItem {
|
||||||
root.panel.thickness = root.panelHeight;
|
root.panel.thickness = root.panelHeight;
|
||||||
root.panel.thickness = root.panelHeight;
|
root.panel.thickness = root.panelHeight;
|
||||||
|
|
||||||
root.panel.visibilityMode = (!ShellSettings.Settings.convergenceModeEnabled && ShellSettings.Settings.autoHidePanelsEnabled) ? 3 : 0;
|
root.panel.visibilityMode = (ShellSettings.Settings.convergenceModeEnabled || ShellSettings.Settings.autoHidePanelsEnabled) ? 3 : 0;
|
||||||
MobileShell.ShellUtil.setWindowLayer(root.panel, LayerShell.Window.LayerOverlay)
|
MobileShell.ShellUtil.setWindowLayer(root.panel, LayerShell.Window.LayerOverlay)
|
||||||
root.updateTouchArea();
|
root.updateTouchArea();
|
||||||
}
|
}
|
||||||
|
|
@ -152,9 +152,8 @@ ContainmentItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Invisible layer-shell surface that reserves screen space for the
|
// Invisible layer-shell surface that reserves screen space for the
|
||||||
// status bar in convergence mode. The visible convergence top bar is
|
// convergence status bar and one frame inset. The panel window itself
|
||||||
// rendered by Folio's unified chrome surface; this window only shrinks
|
// stays non-reserving so this is the only top strut.
|
||||||
// KWin's MaximizeArea.
|
|
||||||
Window {
|
Window {
|
||||||
id: topBarSpaceReserver
|
id: topBarSpaceReserver
|
||||||
visible: ShellSettings.Settings.convergenceModeEnabled && !ShellSettings.Settings.gamingModeEnabled
|
visible: ShellSettings.Settings.convergenceModeEnabled && !ShellSettings.Settings.gamingModeEnabled
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ require_line "$constants" "readonly property real convergenceWorkspaceFrameRadiu
|
||||||
require_line "$panel" "readonly property real convergenceWorkspaceFrameThickness:"
|
require_line "$panel" "readonly property real convergenceWorkspaceFrameThickness:"
|
||||||
require_line "$panel" "root.panel.location = PlasmaCore.Types.TopEdge"
|
require_line "$panel" "root.panel.location = PlasmaCore.Types.TopEdge"
|
||||||
require_line "$panel" "root.panel.offset = 0"
|
require_line "$panel" "root.panel.offset = 0"
|
||||||
require_line "$panel" "root.panel.visibilityMode = (!ShellSettings.Settings.convergenceModeEnabled && ShellSettings.Settings.autoHidePanelsEnabled) ? 3 : 0"
|
require_line "$panel" "root.panel.visibilityMode = (ShellSettings.Settings.convergenceModeEnabled || ShellSettings.Settings.autoHidePanelsEnabled) ? 3 : 0"
|
||||||
require_line "$panel" "readonly property real topBarHeight: gamingMode ? 0 : MobileShell.Constants.topPanelHeight"
|
require_line "$panel" "readonly property real topBarHeight: gamingMode ? 0 : MobileShell.Constants.topPanelHeight"
|
||||||
require_line "$panel" "readonly property real topBarInputHeight: topBarHeight + convergenceWorkspaceFrameThickness"
|
require_line "$panel" "readonly property real topBarInputHeight: topBarHeight + convergenceWorkspaceFrameThickness"
|
||||||
require_line "$panel" "? 0"
|
require_line "$panel" "? 0"
|
||||||
|
|
@ -119,6 +119,12 @@ require_line "$folio_main" "readonly property real workAreaY: topBarHitHeight"
|
||||||
require_line "$folio_main" "readonly property real workAreaWidth: Math.max(0, width - frameThickness * 2)"
|
require_line "$folio_main" "readonly property real workAreaWidth: Math.max(0, width - frameThickness * 2)"
|
||||||
require_line "$folio_main" "readonly property real workAreaHeight: Math.max(0, height - topBarHeight - dockHeight - frameThickness * 2)"
|
require_line "$folio_main" "readonly property real workAreaHeight: Math.max(0, height - topBarHeight - dockHeight - frameThickness * 2)"
|
||||||
require_line "$folio_main" "fillRule: ShapePath.OddEvenFill"
|
require_line "$folio_main" "fillRule: ShapePath.OddEvenFill"
|
||||||
|
|
||||||
|
if grep -Fq "root.panel.visibilityMode = (!ShellSettings.Settings.convergenceModeEnabled && ShellSettings.Settings.autoHidePanelsEnabled) ? 3 : 0" "$panel"; then
|
||||||
|
echo "Convergence panel hit area must not reserve extra top space" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
require_line "$folio_main" "PathLine { x: convergenceChrome.width; y: convergenceChrome.height - convergenceChrome.dockHeight }"
|
require_line "$folio_main" "PathLine { x: convergenceChrome.width; y: convergenceChrome.height - convergenceChrome.dockHeight }"
|
||||||
require_line "$folio_main" "PathLine { x: 0; y: convergenceChrome.height - convergenceChrome.dockHeight }"
|
require_line "$folio_main" "PathLine { x: 0; y: convergenceChrome.height - convergenceChrome.dockHeight }"
|
||||||
require_line "$folio_main" "PathArc { x: convergenceChrome.workAreaX + convergenceChrome.workAreaWidth - convergenceChrome.frameRadius; y: convergenceChrome.workAreaY + convergenceChrome.workAreaHeight; radiusX: convergenceChrome.frameRadius; radiusY: convergenceChrome.frameRadius }"
|
require_line "$folio_main" "PathArc { x: convergenceChrome.workAreaX + convergenceChrome.workAreaWidth - convergenceChrome.frameRadius; y: convergenceChrome.workAreaY + convergenceChrome.workAreaHeight; radiusX: convergenceChrome.frameRadius; radiusY: convergenceChrome.frameRadius }"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue