mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-06-07 19:59:14 -04:00
refactor(Settings): Rename fullscreen properties to overlay layer for consistency
- Updated property names from `showOverFullscreen` to `useOverlayLayer` across various components. - Fixed Darken Modal Overlay in Standalone mode
This commit is contained in:
@@ -449,7 +449,7 @@ Singleton {
|
||||
property bool dankLauncherV2UnloadOnClose: false
|
||||
property bool dankLauncherV2IncludeFilesInAll: false
|
||||
property bool dankLauncherV2IncludeFoldersInAll: false
|
||||
property bool launcherShowOverFullscreen: false
|
||||
property bool launcherUseOverlayLayer: false
|
||||
property string launcherStyle: "full"
|
||||
|
||||
property string _legacyWeatherLocation: "New York, NY"
|
||||
@@ -607,7 +607,7 @@ Singleton {
|
||||
property bool showDock: false
|
||||
property bool dockAutoHide: false
|
||||
property bool dockSmartAutoHide: false
|
||||
property bool dockShowOverFullscreen: false
|
||||
property bool dockUseOverlayLayer: false
|
||||
property bool dockGroupByApp: false
|
||||
property bool dockRestoreSpecialWorkspaceOnClick: false
|
||||
property bool dockOpenOnOverview: false
|
||||
@@ -788,7 +788,7 @@ Singleton {
|
||||
"popupGapsAuto": true,
|
||||
"popupGapsManual": 4,
|
||||
"maximizeDetection": true,
|
||||
"showOverFullscreen": false,
|
||||
"useOverlayLayer": false,
|
||||
"scrollEnabled": true,
|
||||
"scrollXBehavior": "column",
|
||||
"scrollYBehavior": "workspace",
|
||||
|
||||
@@ -213,7 +213,7 @@ var SPEC = {
|
||||
dankLauncherV2UnloadOnClose: { def: false },
|
||||
dankLauncherV2IncludeFilesInAll: { def: false },
|
||||
dankLauncherV2IncludeFoldersInAll: { def: false },
|
||||
launcherShowOverFullscreen: { def: false },
|
||||
launcherUseOverlayLayer: { def: false },
|
||||
launcherStyle: { def: "full" },
|
||||
|
||||
useAutoLocation: { def: false },
|
||||
@@ -333,7 +333,7 @@ var SPEC = {
|
||||
showDock: { def: false },
|
||||
dockAutoHide: { def: false },
|
||||
dockSmartAutoHide: { def: false },
|
||||
dockShowOverFullscreen: { def: false },
|
||||
dockUseOverlayLayer: { def: false },
|
||||
dockGroupByApp: { def: false },
|
||||
dockRestoreSpecialWorkspaceOnClick: { def: false },
|
||||
dockOpenOnOverview: { def: false },
|
||||
@@ -497,7 +497,7 @@ var SPEC = {
|
||||
popupGapsAuto: true,
|
||||
popupGapsManual: 4,
|
||||
maximizeDetection: true,
|
||||
showOverFullscreen: false,
|
||||
useOverlayLayer: false,
|
||||
scrollEnabled: true,
|
||||
scrollXBehavior: "column",
|
||||
scrollYBehavior: "workspace",
|
||||
|
||||
@@ -41,7 +41,7 @@ Item {
|
||||
readonly property real screenWidth: effectiveScreen?.width ?? 1920
|
||||
readonly property real screenHeight: effectiveScreen?.height ?? 1080
|
||||
readonly property real dpr: effectiveScreen ? CompositorService.getScreenScale(effectiveScreen) : 1
|
||||
readonly property bool usesOverlayLayer: SettingsData.launcherShowOverFullscreen || triggerUsesOverlayLayer
|
||||
readonly property bool usesOverlayLayer: SettingsData.launcherUseOverlayLayer || triggerUsesOverlayLayer
|
||||
readonly property var effectiveLauncherLayer: {
|
||||
switch (Quickshell.env("DMS_MODAL_LAYER")) {
|
||||
case "bottom":
|
||||
|
||||
@@ -30,7 +30,8 @@ Item {
|
||||
readonly property real screenWidth: effectiveScreen?.width ?? 1920
|
||||
readonly property real screenHeight: effectiveScreen?.height ?? 1080
|
||||
readonly property real dpr: effectiveScreen ? CompositorService.getScreenScale(effectiveScreen) : 1
|
||||
readonly property bool usesOverlayLayer: SettingsData.launcherShowOverFullscreen || triggerUsesOverlayLayer
|
||||
readonly property bool useBackgroundDarken: !SettingsData.frameEnabled && SettingsData.modalDarkenBackground
|
||||
readonly property bool usesOverlayLayer: useBackgroundDarken || SettingsData.launcherUseOverlayLayer || triggerUsesOverlayLayer
|
||||
readonly property var effectiveLauncherLayer: {
|
||||
switch (Quickshell.env("DMS_MODAL_LAYER")) {
|
||||
case "bottom":
|
||||
@@ -275,7 +276,7 @@ Item {
|
||||
PanelWindow {
|
||||
id: clickCatcher
|
||||
screen: launcherWindow.screen
|
||||
visible: spotlightOpen || isClosing
|
||||
visible: (spotlightOpen || isClosing) && !root.useBackgroundDarken
|
||||
color: "transparent"
|
||||
|
||||
WlrLayershell.namespace: "dms:spotlight:clickcatcher"
|
||||
@@ -347,17 +348,19 @@ Item {
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: root.useBackgroundDarken
|
||||
bottom: root.useBackgroundDarken
|
||||
}
|
||||
|
||||
WlrLayershell.margins {
|
||||
left: root.windowX
|
||||
top: root.windowY
|
||||
left: root.useBackgroundDarken ? 0 : root.windowX
|
||||
top: root.useBackgroundDarken ? 0 : root.windowY
|
||||
right: 0
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
implicitWidth: root.windowWidth
|
||||
implicitHeight: root.windowHeight
|
||||
implicitWidth: root.useBackgroundDarken ? 0 : root.windowWidth
|
||||
implicitHeight: root.useBackgroundDarken ? 0 : root.windowHeight
|
||||
|
||||
mask: Region {
|
||||
item: inputMask
|
||||
@@ -367,19 +370,44 @@ Item {
|
||||
id: inputMask
|
||||
visible: false
|
||||
color: "transparent"
|
||||
x: modalContainer.x
|
||||
y: modalContainer.y + modalContainer.slideOffset
|
||||
width: root.alignedWidth
|
||||
height: root._contentImplicitH
|
||||
x: root.useBackgroundDarken ? 0 : modalContainer.x
|
||||
y: root.useBackgroundDarken ? 0 : modalContainer.y + modalContainer.slideOffset
|
||||
width: root.useBackgroundDarken ? launcherWindow.width : root.alignedWidth
|
||||
height: root.useBackgroundDarken ? launcherWindow.height : root._contentImplicitH
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: root.useBackgroundDarken && spotlightOpen
|
||||
z: -2
|
||||
onClicked: root.hide()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: backgroundDarken
|
||||
anchors.fill: parent
|
||||
color: "black"
|
||||
opacity: contentVisible && root.useBackgroundDarken ? 0.5 : 0
|
||||
visible: (spotlightOpen || isClosing) && (root.useBackgroundDarken || opacity > 0)
|
||||
z: -3
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
duration: contentVisible ? root._openDuration : root._closeDuration
|
||||
easing.type: Easing.BezierSpline
|
||||
easing.bezierCurve: contentVisible ? [0.0, 0.0, 0.2, 1.0, 1.0, 1.0] : [0.4, 0.0, 1.0, 1.0, 1.0, 1.0]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: modalContainer
|
||||
x: root.contentX
|
||||
y: root.contentY
|
||||
x: root.useBackgroundDarken ? root.alignedX : root.contentX
|
||||
y: root.useBackgroundDarken ? root.alignedY : root.contentY
|
||||
width: root.alignedWidth
|
||||
height: root._animatedContentH
|
||||
visible: _renderActive
|
||||
z: 0
|
||||
|
||||
property bool _renderActive: contentVisible
|
||||
property real slideOffset: contentVisible ? 0 : -root._animHeadroom
|
||||
|
||||
@@ -80,7 +80,7 @@ Item {
|
||||
|
||||
readonly property color backgroundColor: Theme.withAlpha(Theme.surfaceContainer, Theme.popupTransparency)
|
||||
readonly property bool useBackgroundDarken: !SettingsData.frameEnabled && SettingsData.modalDarkenBackground
|
||||
readonly property bool usesOverlayLayer: useBackgroundDarken || SettingsData.launcherShowOverFullscreen || triggerUsesOverlayLayer
|
||||
readonly property bool usesOverlayLayer: useBackgroundDarken || SettingsData.launcherUseOverlayLayer || triggerUsesOverlayLayer
|
||||
readonly property var effectiveLauncherLayer: {
|
||||
switch (Quickshell.env("DMS_MODAL_LAYER")) {
|
||||
case "bottom":
|
||||
@@ -312,9 +312,8 @@ Item {
|
||||
PanelWindow {
|
||||
id: clickCatcher
|
||||
screen: launcherWindow.screen
|
||||
visible: spotlightOpen || isClosing
|
||||
visible: (spotlightOpen || isClosing) && !root.useBackgroundDarken
|
||||
color: "transparent"
|
||||
updatesEnabled: root.useBackgroundDarken && (spotlightOpen || isClosing)
|
||||
|
||||
WlrLayershell.namespace: "dms:spotlight:clickcatcher"
|
||||
WlrLayershell.layer: root.effectiveLauncherLayer
|
||||
@@ -358,22 +357,6 @@ Item {
|
||||
enabled: spotlightOpen
|
||||
onClicked: root.hide()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: backgroundDarken
|
||||
anchors.fill: parent
|
||||
color: "black"
|
||||
opacity: contentVisible && root.useBackgroundDarken ? 0.5 : 0
|
||||
visible: (spotlightOpen || isClosing) && (root.useBackgroundDarken || opacity > 0)
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
easing.type: Easing.BezierSpline
|
||||
duration: Theme.modalAnimationDuration
|
||||
easing.bezierCurve: contentVisible ? Theme.expressiveCurves.expressiveDefaultSpatial : Theme.expressiveCurves.emphasized
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PanelWindow {
|
||||
@@ -401,17 +384,19 @@ Item {
|
||||
anchors {
|
||||
top: true
|
||||
left: true
|
||||
right: root.useBackgroundDarken
|
||||
bottom: root.useBackgroundDarken
|
||||
}
|
||||
|
||||
WlrLayershell.margins {
|
||||
left: root.windowX
|
||||
top: root.windowY
|
||||
left: root.useBackgroundDarken ? 0 : root.windowX
|
||||
top: root.useBackgroundDarken ? 0 : root.windowY
|
||||
right: 0
|
||||
bottom: 0
|
||||
}
|
||||
|
||||
implicitWidth: root.windowWidth
|
||||
implicitHeight: root.windowHeight
|
||||
implicitWidth: root.useBackgroundDarken ? 0 : root.windowWidth
|
||||
implicitHeight: root.useBackgroundDarken ? 0 : root.windowHeight
|
||||
|
||||
mask: Region {
|
||||
item: launcherInputMask
|
||||
@@ -421,19 +406,44 @@ Item {
|
||||
id: launcherInputMask
|
||||
visible: false
|
||||
color: "transparent"
|
||||
x: modalContainer.x
|
||||
y: modalContainer.y
|
||||
width: modalContainer.width
|
||||
height: modalContainer.height
|
||||
x: root.useBackgroundDarken ? 0 : modalContainer.x
|
||||
y: root.useBackgroundDarken ? 0 : modalContainer.y
|
||||
width: root.useBackgroundDarken ? launcherWindow.width : modalContainer.width
|
||||
height: root.useBackgroundDarken ? launcherWindow.height : modalContainer.height
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: root.useBackgroundDarken && spotlightOpen
|
||||
z: -2
|
||||
onClicked: root.hide()
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: backgroundDarken
|
||||
anchors.fill: parent
|
||||
color: "black"
|
||||
opacity: contentVisible && root.useBackgroundDarken ? 0.5 : 0
|
||||
visible: (spotlightOpen || isClosing) && (root.useBackgroundDarken || opacity > 0)
|
||||
z: -3
|
||||
|
||||
Behavior on opacity {
|
||||
NumberAnimation {
|
||||
easing.type: Easing.BezierSpline
|
||||
duration: Theme.modalAnimationDuration
|
||||
easing.bezierCurve: contentVisible ? Theme.expressiveCurves.expressiveDefaultSpatial : Theme.expressiveCurves.emphasized
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: modalContainer
|
||||
x: root.contentX
|
||||
y: root.contentY
|
||||
x: root.useBackgroundDarken ? root.alignedX : root.contentX
|
||||
y: root.useBackgroundDarken ? root.alignedY : root.contentY
|
||||
width: root.alignedWidth
|
||||
height: root.alignedHeight
|
||||
visible: _renderActive
|
||||
z: 0
|
||||
|
||||
property bool _renderActive: contentVisible
|
||||
property real publishedScale: contentVisible ? 1 : 0.96
|
||||
|
||||
@@ -10,7 +10,7 @@ Item {
|
||||
required property var axis
|
||||
required property var barConfig
|
||||
|
||||
readonly property bool frameShapesBar: SettingsData.frameEnabled && barWindow.usesConnectedFrameChrome
|
||||
readonly property bool frameShapesBar: SettingsData.frameEnabled && barWindow.usesFrameBarChrome
|
||||
|
||||
visible: !frameShapesBar
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@ Item {
|
||||
readonly property real outlineThickness: (barConfig?.widgetOutlineEnabled ?? false) ? (barConfig?.widgetOutlineThickness ?? 1) : 0
|
||||
readonly property real _edgeBaseMargin: Math.max(Theme.spacingXS, innerPadding * 0.8)
|
||||
readonly property bool _hasBarWindow: barWindow !== undefined && barWindow !== null
|
||||
readonly property bool _usesConnectedFrameChrome: _hasBarWindow && (barWindow.usesConnectedFrameChrome ?? false)
|
||||
readonly property real _frameEdgeFloorInset: (SettingsData.frameEnabled && _usesConnectedFrameChrome) ? Math.max(0, SettingsData.frameThickness - _edgeBaseMargin) : 0
|
||||
readonly property bool _usesFrameBarChrome: _hasBarWindow && (barWindow.usesFrameBarChrome ?? false)
|
||||
readonly property real _frameEdgeFloorInset: (SettingsData.frameEnabled && _usesFrameBarChrome) ? Math.max(0, SettingsData.frameThickness - _edgeBaseMargin) : 0
|
||||
readonly property bool _barIsVertical: _hasBarWindow ? barWindow.isVertical : false
|
||||
readonly property string _barScreenName: _hasBarWindow ? (barWindow.screenName || "") : ""
|
||||
readonly property bool hasAdjacentTopBarLive: _hasBarWindow && barWindow.hasAdjacentTopBar
|
||||
@@ -48,22 +48,22 @@ Item {
|
||||
_hadAdjacentRightBar = true
|
||||
|
||||
readonly property real _frameLeftInset: {
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesConnectedFrameChrome || _barIsVertical)
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesFrameBarChrome || _barIsVertical)
|
||||
return 0;
|
||||
return hasAdjacentLeftBarLive ? SettingsData.frameBarSize : (_hadAdjacentLeftBar ? _frameEdgeFloorInset : 0);
|
||||
}
|
||||
readonly property real _frameRightInset: {
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesConnectedFrameChrome || _barIsVertical)
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesFrameBarChrome || _barIsVertical)
|
||||
return 0;
|
||||
return hasAdjacentRightBarLive ? SettingsData.frameBarSize : (_hadAdjacentRightBar ? _frameEdgeFloorInset : 0);
|
||||
}
|
||||
readonly property real _frameTopInset: {
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesConnectedFrameChrome || !_barIsVertical)
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesFrameBarChrome || !_barIsVertical)
|
||||
return 0;
|
||||
return hasAdjacentTopBarLive ? SettingsData.frameThickness : (_hadAdjacentTopBar ? _frameEdgeFloorInset : 0);
|
||||
}
|
||||
readonly property real _frameBottomInset: {
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesConnectedFrameChrome || !_barIsVertical)
|
||||
if (!_hasBarWindow || !SettingsData.frameEnabled || !_usesFrameBarChrome || !_barIsVertical)
|
||||
return 0;
|
||||
return hasAdjacentBottomBarLive ? SettingsData.frameThickness : (_hadAdjacentBottomBar ? _frameEdgeFloorInset : 0);
|
||||
}
|
||||
@@ -96,7 +96,7 @@ Item {
|
||||
}
|
||||
|
||||
Behavior on anchors.leftMargin {
|
||||
enabled: _animateFrameInsets && _usesConnectedFrameChrome
|
||||
enabled: _animateFrameInsets && _usesFrameBarChrome
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Easing.OutCubic
|
||||
@@ -104,7 +104,7 @@ Item {
|
||||
}
|
||||
|
||||
Behavior on anchors.rightMargin {
|
||||
enabled: _animateFrameInsets && _usesConnectedFrameChrome
|
||||
enabled: _animateFrameInsets && _usesFrameBarChrome
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Easing.OutCubic
|
||||
@@ -112,7 +112,7 @@ Item {
|
||||
}
|
||||
|
||||
Behavior on anchors.topMargin {
|
||||
enabled: _animateFrameInsets && _usesConnectedFrameChrome
|
||||
enabled: _animateFrameInsets && _usesFrameBarChrome
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Easing.OutCubic
|
||||
@@ -120,7 +120,7 @@ Item {
|
||||
}
|
||||
|
||||
Behavior on anchors.bottomMargin {
|
||||
enabled: _animateFrameInsets && _usesConnectedFrameChrome
|
||||
enabled: _animateFrameInsets && _usesFrameBarChrome
|
||||
NumberAnimation {
|
||||
duration: Theme.shortDuration
|
||||
easing.type: Easing.OutCubic
|
||||
|
||||
@@ -108,7 +108,7 @@ PanelWindow {
|
||||
triggerDashTab(2);
|
||||
}
|
||||
|
||||
readonly property bool usesOverlayLayer: CompositorService.framePeerSurfacesUseOverlayForScreen(barWindow.screen) || (barConfig?.showOverFullscreen ?? false)
|
||||
readonly property bool usesOverlayLayer: CompositorService.framePeerSurfacesUseOverlayForScreen(barWindow.screen) || (barConfig?.useOverlayLayer ?? false)
|
||||
|
||||
readonly property var dBarLayer: {
|
||||
switch (Quickshell.env("DMS_DANKBAR_LAYER")) {
|
||||
@@ -156,6 +156,9 @@ PanelWindow {
|
||||
function onUsesConnectedFrameChromeChanged() {
|
||||
_blurRebuildTimer.restart();
|
||||
}
|
||||
function onUsesFrameBarChromeChanged() {
|
||||
_blurRebuildTimer.restart();
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
@@ -185,7 +188,7 @@ PanelWindow {
|
||||
// In frame mode, FrameWindow owns the blur region for the entire screen edge
|
||||
// (including the bar area). The bar must not set its own competing blur region
|
||||
// so that frameBlurEnabled acts as the single control for all blur in frame mode.
|
||||
if (SettingsData.frameEnabled && barWindow.usesConnectedFrameChrome)
|
||||
if (SettingsData.frameEnabled && barWindow.usesFrameBarChrome)
|
||||
return;
|
||||
|
||||
const widgets = barWindow._blurWidgetItems.filter(w => w && w.visible && w.width > 0 && w.height > 0);
|
||||
@@ -298,7 +301,7 @@ PanelWindow {
|
||||
readonly property color _surfaceContainer: Theme.surfaceContainer
|
||||
readonly property string _barId: barConfig?.id ?? "default"
|
||||
property real _backgroundAlpha: barConfig?.transparency ?? 1.0
|
||||
readonly property color _bgColor: (SettingsData.frameEnabled && usesConnectedFrameChrome) ? Qt.rgba(SettingsData.effectiveFrameColor.r, SettingsData.effectiveFrameColor.g, SettingsData.effectiveFrameColor.b, SettingsData.frameOpacity) : Theme.withAlpha(_surfaceContainer, _backgroundAlpha)
|
||||
readonly property color _bgColor: (SettingsData.frameEnabled && usesFrameBarChrome) ? Qt.rgba(SettingsData.effectiveFrameColor.r, SettingsData.effectiveFrameColor.g, SettingsData.effectiveFrameColor.b, SettingsData.frameOpacity) : Theme.withAlpha(_surfaceContainer, _backgroundAlpha)
|
||||
|
||||
function _updateBackgroundAlpha() {
|
||||
const live = SettingsData.barConfigs.find(c => c.id === _barId);
|
||||
@@ -323,10 +326,11 @@ PanelWindow {
|
||||
property string screenName: modelData.name
|
||||
|
||||
readonly property bool usesConnectedFrameChrome: CompositorService.usesConnectedFrameChromeForScreen(screenName)
|
||||
readonly property bool usesFrameBarChrome: CompositorService.frameWindowVisibleForScreen(screenName)
|
||||
|
||||
// Flatten/spacing collapse for maximized windows is only for frame-integrated layout.
|
||||
// When the bar draws its own pill, keep rounded corners and spacing like the dock.
|
||||
readonly property bool flattenForMaximizedWindow: !SettingsData.frameEnabled || usesConnectedFrameChrome
|
||||
readonly property bool flattenForMaximizedWindow: !SettingsData.frameEnabled || usesFrameBarChrome
|
||||
|
||||
property bool hasMaximizedToplevel: false
|
||||
property bool shouldHideForWindows: false
|
||||
@@ -430,7 +434,7 @@ PanelWindow {
|
||||
shouldHideForWindows = filtered.length > 0;
|
||||
}
|
||||
|
||||
property real effectiveSpacing: (SettingsData.frameEnabled && usesConnectedFrameChrome) ? 0 : ((flattenForMaximizedWindow && hasMaximizedToplevel) ? 0 : (barConfig?.spacing ?? 4))
|
||||
property real effectiveSpacing: (SettingsData.frameEnabled && usesFrameBarChrome) ? 0 : ((flattenForMaximizedWindow && hasMaximizedToplevel) ? 0 : (barConfig?.spacing ?? 4))
|
||||
|
||||
Behavior on effectiveSpacing {
|
||||
enabled: barWindow.visible
|
||||
@@ -441,7 +445,7 @@ PanelWindow {
|
||||
}
|
||||
|
||||
readonly property int notificationCount: NotificationService.notifications.length
|
||||
readonly property real effectiveBarThickness: (SettingsData.frameEnabled && usesConnectedFrameChrome) ? SettingsData.frameBarSize : Theme.snap(Math.max(barWindow.widgetThickness + (barConfig?.innerPadding ?? 4) + 4, Theme.barHeight - 4 - (8 - (barConfig?.innerPadding ?? 4))), _dpr)
|
||||
readonly property real effectiveBarThickness: (SettingsData.frameEnabled && usesFrameBarChrome) ? SettingsData.frameBarSize : Theme.snap(Math.max(barWindow.widgetThickness + (barConfig?.innerPadding ?? 4) + 4, Theme.barHeight - 4 - (8 - (barConfig?.innerPadding ?? 4))), _dpr)
|
||||
readonly property bool effectiveOpenOnOverview: SettingsData.frameEnabled ? SettingsData.frameShowOnOverview : (barConfig?.openOnOverview ?? false)
|
||||
readonly property real widgetThickness: Theme.snap(Math.max(20, 26 + (barConfig?.innerPadding ?? 4) * 0.6), _dpr)
|
||||
|
||||
@@ -639,9 +643,9 @@ PanelWindow {
|
||||
anchors.left: !isVertical ? true : (barPos === SettingsData.Position.Left)
|
||||
anchors.right: !isVertical ? true : (barPos === SettingsData.Position.Right)
|
||||
|
||||
readonly property bool reserveExclusiveWhenAutoHidden: SettingsData.connectedFrameModeActive && usesConnectedFrameChrome && !!barWindow.screen && SettingsData.isScreenInPreferences(barWindow.screen, SettingsData.frameScreenPreferences)
|
||||
readonly property bool reserveExclusiveWhenAutoHidden: SettingsData.frameEnabled && usesFrameBarChrome && !!barWindow.screen && SettingsData.isScreenInPreferences(barWindow.screen, SettingsData.frameScreenPreferences)
|
||||
|
||||
exclusiveZone: (!(barConfig?.visible ?? true) || (topBarCore.autoHide && !barWindow.reserveExclusiveWhenAutoHidden)) ? -1 : (barWindow.effectiveBarThickness + effectiveSpacing + (usesConnectedFrameChrome ? 0 : (barConfig?.bottomGap ?? 0)))
|
||||
exclusiveZone: (!(barConfig?.visible ?? true) || (topBarCore.autoHide && !barWindow.reserveExclusiveWhenAutoHidden)) ? -1 : (barWindow.effectiveBarThickness + effectiveSpacing + (usesFrameBarChrome ? 0 : (barConfig?.bottomGap ?? 0)))
|
||||
|
||||
Item {
|
||||
id: inputMask
|
||||
|
||||
@@ -176,7 +176,7 @@ Variants {
|
||||
|
||||
readonly property string _dockScreenName: dock.modelData ? dock.modelData.name : (dock.screen ? dock.screen.name : "")
|
||||
readonly property bool usesConnectedFrameChrome: CompositorService.usesConnectedFrameChromeForScreen(dock._dockScreenName)
|
||||
readonly property bool usesOverlayLayer: CompositorService.framePeerSurfacesUseOverlayForScreen(dock._dockScreenName) || SettingsData.dockShowOverFullscreen
|
||||
readonly property bool usesOverlayLayer: CompositorService.framePeerSurfacesUseOverlayForScreen(dock._dockScreenName) || SettingsData.dockUseOverlayLayer
|
||||
|
||||
function _syncDockChromeState() {
|
||||
if (!dock._dockScreenName)
|
||||
|
||||
@@ -48,7 +48,7 @@ Item {
|
||||
case "top":
|
||||
return false;
|
||||
default:
|
||||
return (barConfig?.showOverFullscreen ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(parentScreen);
|
||||
return (barConfig?.useOverlayLayer ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(parentScreen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ Item {
|
||||
popupGapsAuto: defaultBar.popupGapsAuto ?? true,
|
||||
popupGapsManual: defaultBar.popupGapsManual ?? 4,
|
||||
maximizeDetection: defaultBar.maximizeDetection ?? true,
|
||||
showOverFullscreen: defaultBar.showOverFullscreen ?? false,
|
||||
useOverlayLayer: defaultBar.useOverlayLayer ?? false,
|
||||
scrollEnabled: defaultBar.scrollEnabled ?? true,
|
||||
scrollXBehavior: defaultBar.scrollXBehavior ?? "column",
|
||||
scrollYBehavior: defaultBar.scrollYBehavior ?? "workspace",
|
||||
@@ -729,14 +729,14 @@ Item {
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "barShowOverFullscreen"
|
||||
settingKey: "barUseOverlayLayer"
|
||||
tags: ["bar", "fullscreen", "overlay", "layer"]
|
||||
text: I18n.tr("Show Over Fullscreen", "bar layer toggle: show the bar over fullscreen windows")
|
||||
description: I18n.tr("Use the overlay layer so this bar appears above fullscreen windows")
|
||||
checked: selectedBarConfig?.showOverFullscreen ?? false
|
||||
text: I18n.tr("Use Overlay Layer", "bar layer toggle: use Wayland overlay layer")
|
||||
description: I18n.tr("Place the bar on the Wayland overlay layer")
|
||||
checked: selectedBarConfig?.useOverlayLayer ?? false
|
||||
onToggled: toggled => {
|
||||
SettingsData.updateBarConfig(selectedBarId, {
|
||||
showOverFullscreen: toggled
|
||||
useOverlayLayer: toggled
|
||||
});
|
||||
notifyHorizontalBarChange();
|
||||
}
|
||||
|
||||
@@ -90,13 +90,13 @@ Item {
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "dockShowOverFullscreen"
|
||||
settingKey: "dockUseOverlayLayer"
|
||||
tags: ["dock", "fullscreen", "overlay", "layer"]
|
||||
text: I18n.tr("Show Over Fullscreen", "dock layer toggle: show the dock over fullscreen windows")
|
||||
description: I18n.tr("Use the overlay layer so the dock appears above fullscreen windows")
|
||||
checked: SettingsData.dockShowOverFullscreen
|
||||
text: I18n.tr("Use Overlay Layer", "dock layer toggle: use Wayland overlay layer")
|
||||
description: I18n.tr("Place the dock on the Wayland overlay layer")
|
||||
checked: SettingsData.dockUseOverlayLayer
|
||||
visible: SettingsData.showDock
|
||||
onToggled: checked => SettingsData.set("dockShowOverFullscreen", checked)
|
||||
onToggled: checked => SettingsData.set("dockUseOverlayLayer", checked)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -69,12 +69,12 @@ Item {
|
||||
}
|
||||
|
||||
SettingsToggleRow {
|
||||
settingKey: "launcherShowOverFullscreen"
|
||||
settingKey: "launcherUseOverlayLayer"
|
||||
tags: ["launcher", "fullscreen", "overlay", "layer"]
|
||||
text: I18n.tr("Show Over Fullscreen", "launcher layer toggle: show the launcher over fullscreen windows")
|
||||
text: I18n.tr("Use Overlay Layer", "launcher layer toggle: use Wayland overlay layer")
|
||||
description: I18n.tr("Use the overlay layer when opening the launcher")
|
||||
checked: SettingsData.launcherShowOverFullscreen
|
||||
onToggled: checked => SettingsData.set("launcherShowOverFullscreen", checked)
|
||||
checked: SettingsData.launcherUseOverlayLayer
|
||||
onToggled: checked => SettingsData.set("launcherUseOverlayLayer", checked)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -178,7 +178,7 @@ Item {
|
||||
case "top":
|
||||
return false;
|
||||
default:
|
||||
return (barConfig?.showOverFullscreen ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(targetScreen);
|
||||
return (barConfig?.useOverlayLayer ?? false) || CompositorService.framePeerSurfacesUseOverlayForScreen(targetScreen);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -854,29 +854,6 @@
|
||||
"icon": "layers",
|
||||
"description": "Override the global shadow with per-bar settings"
|
||||
},
|
||||
{
|
||||
"section": "barShowOverFullscreen",
|
||||
"label": "Show Over Fullscreen",
|
||||
"tabIndex": 3,
|
||||
"category": "Dank Bar",
|
||||
"keywords": [
|
||||
"above",
|
||||
"appears",
|
||||
"bar",
|
||||
"dank",
|
||||
"fullscreen",
|
||||
"layer",
|
||||
"over",
|
||||
"overlay",
|
||||
"panel",
|
||||
"show",
|
||||
"statusbar",
|
||||
"taskbar",
|
||||
"topbar",
|
||||
"windows"
|
||||
],
|
||||
"description": "Use the overlay layer so this bar appears above fullscreen windows"
|
||||
},
|
||||
{
|
||||
"section": "barSpacing",
|
||||
"label": "Spacing",
|
||||
@@ -944,14 +921,32 @@
|
||||
],
|
||||
"icon": "opacity"
|
||||
},
|
||||
{
|
||||
"section": "barUseOverlayLayer",
|
||||
"label": "Use Overlay Layer",
|
||||
"tabIndex": 3,
|
||||
"category": "Dank Bar",
|
||||
"keywords": [
|
||||
"bar",
|
||||
"dank",
|
||||
"fullscreen",
|
||||
"layer",
|
||||
"overlay",
|
||||
"panel",
|
||||
"place",
|
||||
"statusbar",
|
||||
"taskbar",
|
||||
"topbar",
|
||||
"wayland"
|
||||
],
|
||||
"description": "Place this bar on the Wayland overlay layer"
|
||||
},
|
||||
{
|
||||
"section": "barVisibility",
|
||||
"label": "Visibility",
|
||||
"tabIndex": 3,
|
||||
"category": "Dank Bar",
|
||||
"keywords": [
|
||||
"above",
|
||||
"appears",
|
||||
"auto-hide",
|
||||
"autohide",
|
||||
"bar",
|
||||
@@ -962,16 +957,17 @@
|
||||
"layer",
|
||||
"overlay",
|
||||
"panel",
|
||||
"place",
|
||||
"show",
|
||||
"statusbar",
|
||||
"taskbar",
|
||||
"topbar",
|
||||
"visibility",
|
||||
"visible",
|
||||
"windows"
|
||||
"wayland"
|
||||
],
|
||||
"icon": "visibility_off",
|
||||
"description": "Use the overlay layer so this bar appears above fullscreen windows"
|
||||
"description": "Place this bar on the Wayland overlay layer"
|
||||
},
|
||||
{
|
||||
"section": "workspaceDragReorder",
|
||||
@@ -1757,27 +1753,6 @@
|
||||
"taskbar"
|
||||
]
|
||||
},
|
||||
{
|
||||
"section": "dockShowOverFullscreen",
|
||||
"label": "Show Over Fullscreen",
|
||||
"tabIndex": 5,
|
||||
"category": "Dock",
|
||||
"keywords": [
|
||||
"above",
|
||||
"appears",
|
||||
"dock",
|
||||
"fullscreen",
|
||||
"launcher bar",
|
||||
"layer",
|
||||
"over",
|
||||
"overlay",
|
||||
"panel",
|
||||
"show",
|
||||
"taskbar",
|
||||
"windows"
|
||||
],
|
||||
"description": "Use the overlay layer so the dock appears above fullscreen windows"
|
||||
},
|
||||
{
|
||||
"section": "dockShowOverflowBadge",
|
||||
"label": "Show Overflow Badge Count",
|
||||
@@ -1924,6 +1899,24 @@
|
||||
"icon": "delete",
|
||||
"description": "Place a trash bin at the end of the dock"
|
||||
},
|
||||
{
|
||||
"section": "dockUseOverlayLayer",
|
||||
"label": "Use Overlay Layer",
|
||||
"tabIndex": 5,
|
||||
"category": "Dock",
|
||||
"keywords": [
|
||||
"dock",
|
||||
"fullscreen",
|
||||
"launcher bar",
|
||||
"layer",
|
||||
"overlay",
|
||||
"panel",
|
||||
"place",
|
||||
"taskbar",
|
||||
"wayland"
|
||||
],
|
||||
"description": "Place the dock on the Wayland overlay layer"
|
||||
},
|
||||
{
|
||||
"section": "_tab_7",
|
||||
"label": "Network",
|
||||
@@ -2401,29 +2394,6 @@
|
||||
],
|
||||
"description": "Show mode tabs and keyboard hints at the bottom."
|
||||
},
|
||||
{
|
||||
"section": "launcherShowOverFullscreen",
|
||||
"label": "Show Over Fullscreen",
|
||||
"tabIndex": 9,
|
||||
"category": "Launcher",
|
||||
"keywords": [
|
||||
"app drawer",
|
||||
"app menu",
|
||||
"applications",
|
||||
"drawer",
|
||||
"fullscreen",
|
||||
"launcher",
|
||||
"layer",
|
||||
"menu",
|
||||
"opening",
|
||||
"over",
|
||||
"overlay",
|
||||
"show",
|
||||
"start",
|
||||
"start menu"
|
||||
],
|
||||
"description": "Use the overlay layer when opening the launcher"
|
||||
},
|
||||
{
|
||||
"section": "launcherLogoSizeOffset",
|
||||
"label": "Size Offset",
|
||||
@@ -2546,6 +2516,27 @@
|
||||
],
|
||||
"description": "Free VRAM/memory when the launcher is closed. May cause a slight delay when reopening."
|
||||
},
|
||||
{
|
||||
"section": "launcherUseOverlayLayer",
|
||||
"label": "Use Overlay Layer",
|
||||
"tabIndex": 9,
|
||||
"category": "Launcher",
|
||||
"keywords": [
|
||||
"app drawer",
|
||||
"app menu",
|
||||
"applications",
|
||||
"drawer",
|
||||
"fullscreen",
|
||||
"launcher",
|
||||
"layer",
|
||||
"menu",
|
||||
"opening",
|
||||
"overlay",
|
||||
"start",
|
||||
"start menu"
|
||||
],
|
||||
"description": "Use the overlay layer when opening the launcher"
|
||||
},
|
||||
{
|
||||
"section": "matugenTemplateAlacritty",
|
||||
"label": "Alacritty",
|
||||
|
||||
Reference in New Issue
Block a user