mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-11 16:22:09 -04:00
Continue frame implementation
This commit is contained in:
@@ -14,7 +14,7 @@ import "settings/SettingsStore.js" as Store
|
||||
Singleton {
|
||||
id: root
|
||||
|
||||
readonly property int settingsConfigVersion: 7
|
||||
readonly property int settingsConfigVersion: 9
|
||||
|
||||
readonly property bool isGreeterMode: Quickshell.env("DMS_RUN_GREETER") === "1" || Quickshell.env("DMS_RUN_GREETER") === "true"
|
||||
|
||||
@@ -205,7 +205,7 @@ Singleton {
|
||||
onFrameThicknessChanged: saveSettings()
|
||||
property real frameRounding: 24
|
||||
onFrameRoundingChanged: saveSettings()
|
||||
property string frameColor: "#2a2a2a"
|
||||
property string frameColor: ""
|
||||
onFrameColorChanged: saveSettings()
|
||||
property real frameOpacity: 1.0
|
||||
onFrameOpacityChanged: saveSettings()
|
||||
@@ -213,6 +213,18 @@ Singleton {
|
||||
onFrameSyncBarColorChanged: saveSettings()
|
||||
property var frameScreenPreferences: ["all"]
|
||||
onFrameScreenPreferencesChanged: saveSettings()
|
||||
property real frameBarThickness: 48
|
||||
onFrameBarThicknessChanged: saveSettings()
|
||||
property bool frameShowOnOverview: false
|
||||
onFrameShowOnOverviewChanged: saveSettings()
|
||||
|
||||
readonly property color effectiveFrameColor: {
|
||||
const fc = frameColor;
|
||||
if (!fc || fc === "default") return Theme.background;
|
||||
if (fc === "primary") return Theme.primary;
|
||||
if (fc === "surface") return Theme.surface;
|
||||
return fc;
|
||||
}
|
||||
|
||||
property bool showLauncherButton: true
|
||||
property bool showWorkspaceSwitcher: true
|
||||
@@ -1979,7 +1991,26 @@ Singleton {
|
||||
return "";
|
||||
}
|
||||
|
||||
function getActiveBarEdgesForScreen(screen) {
|
||||
if (!screen) return [];
|
||||
var edges = [];
|
||||
for (var i = 0; i < barConfigs.length; i++) {
|
||||
var bc = barConfigs[i];
|
||||
if (!bc.enabled) continue;
|
||||
var prefs = bc.screenPreferences || ["all"];
|
||||
if (!prefs.includes("all") && !isScreenInPreferences(screen, prefs)) continue;
|
||||
switch (bc.position ?? 0) {
|
||||
case SettingsData.Position.Top: edges.push("top"); break;
|
||||
case SettingsData.Position.Bottom: edges.push("bottom"); break;
|
||||
case SettingsData.Position.Left: edges.push("left"); break;
|
||||
case SettingsData.Position.Right: edges.push("right"); break;
|
||||
}
|
||||
}
|
||||
return edges;
|
||||
}
|
||||
|
||||
function getActiveBarThicknessForScreen(screen) {
|
||||
if (frameEnabled) return frameBarThickness;
|
||||
if (!screen) return frameThickness;
|
||||
for (var i = 0; i < barConfigs.length; i++) {
|
||||
var bc = barConfigs[i];
|
||||
|
||||
@@ -552,10 +552,12 @@ var SPEC = {
|
||||
frameEnabled: { def: false },
|
||||
frameThickness: { def: 15 },
|
||||
frameRounding: { def: 24 },
|
||||
frameColor: { def: "#2a2a2a" },
|
||||
frameColor: { def: "" },
|
||||
frameOpacity: { def: 1.0 },
|
||||
frameSyncBarColor: { def: true },
|
||||
frameScreenPreferences: { def: ["all"] }
|
||||
frameScreenPreferences: { def: ["all"] },
|
||||
frameBarThickness: { def: 42 },
|
||||
frameShowOnOverview: { def: false }
|
||||
};
|
||||
|
||||
function getValidKeys() {
|
||||
|
||||
@@ -262,6 +262,22 @@ function migrateToVersion(obj, targetVersion) {
|
||||
settings.configVersion = 7;
|
||||
}
|
||||
|
||||
if (currentVersion < 8) {
|
||||
console.info("Migrating settings from version", currentVersion, "to version 8");
|
||||
|
||||
if (settings.frameBarThickness === undefined) settings.frameBarThickness = 48;
|
||||
|
||||
settings.configVersion = 8;
|
||||
}
|
||||
|
||||
if (currentVersion < 9) {
|
||||
console.info("Migrating settings from version", currentVersion, "to version 9");
|
||||
|
||||
if (settings.frameShowOnOverview === undefined) settings.frameShowOnOverview = false;
|
||||
|
||||
settings.configVersion = 9;
|
||||
}
|
||||
|
||||
return settings;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user