1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-05-04 03:22:12 -04:00

refactor(FrameMode): Update modal background opts w/Connected Mode

This commit is contained in:
purian23
2026-05-03 16:35:11 -04:00
parent fd24b4a36d
commit 082de6f1f0
3 changed files with 15 additions and 13 deletions

View File

@@ -249,6 +249,8 @@ Singleton {
onFrameModeChanged: saveSettings()
property var connectedFrameBarStyleBackups: ({})
onConnectedFrameBarStyleBackupsChanged: saveSettings()
property var connectedFrameModalDarkenBackup: null
onConnectedFrameModalDarkenBackupChanged: saveSettings()
readonly property bool connectedFrameModeActive: frameEnabled && frameMode === "connected"
onConnectedFrameModeActiveChanged: {
if (_loading)
@@ -1602,12 +1604,15 @@ Singleton {
};
}
// Single entry point for connected-mode bar-style state.
// active → capture backups (if not yet) and sanitize bar configs
// Single entry point for connected-mode settings state.
// !active → restore backups
function _reconcileConnectedFrameBarStyles() {
if (!connectedFrameModeActive) {
_restoreConnectedFrameBarStyleBackups();
if (connectedFrameModalDarkenBackup === true) {
connectedFrameModalDarkenBackup = null;
set("modalDarkenBackground", true);
}
return;
}
if (!_hasConnectedFrameBarStyleBackups())
@@ -1617,6 +1622,11 @@ Singleton {
barConfigs = result.configs;
updateBarConfigs();
}
// Force modalDarkenBackground off; capture backup if not already set
if (modalDarkenBackground) {
connectedFrameModalDarkenBackup = true;
set("modalDarkenBackground", false);
}
}
function detectAvailableIconThemes() {

View File

@@ -446,6 +446,7 @@ var SPEC = {
displayShowDisconnected: { def: false },
displaySnapToEdge: { def: true },
connectedFrameBarStyleBackups: { def: {} },
connectedFrameModalDarkenBackup: { def: null },
barConfigs: {
def: [{

View File

@@ -635,17 +635,8 @@ Item {
id: backgroundDarken
anchors.fill: parent
color: "black"
opacity: launcherMotionVisible && SettingsData.modalDarkenBackground ? 0.5 : 0
visible: launcherMotionVisible || opacity > 0
Behavior on opacity {
enabled: root.animationsEnabled && (!Theme.isDirectionalEffect || Theme.isConnectedEffect)
NumberAnimation {
easing.type: Easing.BezierSpline
duration: Math.round(Theme.variantDuration(root.launcherAnimationDuration, launcherMotionVisible) * Theme.variantOpacityDurationScale)
easing.bezierCurve: launcherMotionVisible ? root.launcherEnterCurve : root.launcherExitCurve
}
}
opacity: 0
visible: false
}
MouseArea {