diff options
Diffstat (limited to 'raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Common/settings/SettingsStore.js')
| -rw-r--r-- | raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Common/settings/SettingsStore.js | 275 |
1 files changed, 0 insertions, 275 deletions
diff --git a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Common/settings/SettingsStore.js b/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Common/settings/SettingsStore.js deleted file mode 100644 index f88bb03..0000000 --- a/raveos-theme/hyprland/theme-data/DankMaterialShell/quickshell/Common/settings/SettingsStore.js +++ /dev/null @@ -1,275 +0,0 @@ -.pragma library - - .import "./SettingsSpec.js" as SpecModule - -function parse(root, jsonObj) { - var SPEC = SpecModule.SPEC; - - if (!jsonObj) return; - - for (var k in SPEC) { - if (k === "pluginSettings") continue; - // Runtime-only keys are never in the JSON; resetting them here - // would wipe values set by detection processes on every reload. - if (SPEC[k].persist === false) continue; - if (!(k in jsonObj)) { - root[k] = SPEC[k].def; - } - } - - for (var k in jsonObj) { - if (!SPEC[k]) continue; - if (k === "pluginSettings") continue; - var raw = jsonObj[k]; - var spec = SPEC[k]; - var coerce = spec.coerce; - root[k] = coerce ? (coerce(raw) !== undefined ? coerce(raw) : root[k]) : raw; - } -} - -function toJson(root) { - var SPEC = SpecModule.SPEC; - var out = {}; - for (var k in SPEC) { - if (SPEC[k].persist === false) continue; - if (k === "pluginSettings") continue; - out[k] = root[k]; - } - out.configVersion = root.settingsConfigVersion; - return out; -} - -function migrateToVersion(obj, targetVersion) { - if (!obj) return null; - - var settings = JSON.parse(JSON.stringify(obj)); - var currentVersion = settings.configVersion || 0; - - if (currentVersion >= targetVersion) { - return null; - } - - if (currentVersion < 2) { - console.info("Migrating settings from version", currentVersion, "to version 2"); - - if (settings.barConfigs === undefined) { - var position = 0; - if (settings.dankBarAtBottom !== undefined || settings.topBarAtBottom !== undefined) { - var atBottom = settings.dankBarAtBottom !== undefined ? settings.dankBarAtBottom : settings.topBarAtBottom; - position = atBottom ? 1 : 0; - } else if (settings.dankBarPosition !== undefined) { - position = settings.dankBarPosition; - } - - var defaultConfig = { - id: "default", - name: "Main Bar", - enabled: true, - position: position, - screenPreferences: ["all"], - showOnLastDisplay: true, - leftWidgets: settings.dankBarLeftWidgets || ["launcherButton", "workspaceSwitcher", "focusedWindow"], - centerWidgets: settings.dankBarCenterWidgets || ["music", "clock", "weather"], - rightWidgets: settings.dankBarRightWidgets || ["systemTray", "clipboard", "cpuUsage", "memUsage", "notificationButton", "battery", "controlCenterButton"], - spacing: settings.dankBarSpacing !== undefined ? settings.dankBarSpacing : 4, - innerPadding: settings.dankBarInnerPadding !== undefined ? settings.dankBarInnerPadding : 4, - bottomGap: settings.dankBarBottomGap !== undefined ? settings.dankBarBottomGap : 0, - transparency: settings.dankBarTransparency !== undefined ? settings.dankBarTransparency : 1.0, - widgetTransparency: settings.dankBarWidgetTransparency !== undefined ? settings.dankBarWidgetTransparency : 1.0, - squareCorners: settings.dankBarSquareCorners !== undefined ? settings.dankBarSquareCorners : false, - noBackground: settings.dankBarNoBackground !== undefined ? settings.dankBarNoBackground : false, - gothCornersEnabled: settings.dankBarGothCornersEnabled !== undefined ? settings.dankBarGothCornersEnabled : false, - gothCornerRadiusOverride: settings.dankBarGothCornerRadiusOverride !== undefined ? settings.dankBarGothCornerRadiusOverride : false, - gothCornerRadiusValue: settings.dankBarGothCornerRadiusValue !== undefined ? settings.dankBarGothCornerRadiusValue : 12, - borderEnabled: settings.dankBarBorderEnabled !== undefined ? settings.dankBarBorderEnabled : false, - borderColor: settings.dankBarBorderColor || "surfaceText", - borderOpacity: settings.dankBarBorderOpacity !== undefined ? settings.dankBarBorderOpacity : 1.0, - borderThickness: settings.dankBarBorderThickness !== undefined ? settings.dankBarBorderThickness : 1, - fontScale: settings.dankBarFontScale !== undefined ? settings.dankBarFontScale : 1.0, - autoHide: settings.dankBarAutoHide !== undefined ? settings.dankBarAutoHide : false, - autoHideDelay: settings.dankBarAutoHideDelay !== undefined ? settings.dankBarAutoHideDelay : 250, - openOnOverview: settings.dankBarOpenOnOverview !== undefined ? settings.dankBarOpenOnOverview : false, - visible: settings.dankBarVisible !== undefined ? settings.dankBarVisible : true, - popupGapsAuto: settings.popupGapsAuto !== undefined ? settings.popupGapsAuto : true, - popupGapsManual: settings.popupGapsManual !== undefined ? settings.popupGapsManual : 4 - }; - - settings.barConfigs = [defaultConfig]; - - var legacyKeys = [ - "dankBarLeftWidgets", "dankBarCenterWidgets", "dankBarRightWidgets", - "dankBarWidgetOrder", "dankBarAutoHide", "dankBarAutoHideDelay", - "dankBarOpenOnOverview", "dankBarVisible", "dankBarSpacing", - "dankBarBottomGap", "dankBarInnerPadding", "dankBarPosition", - "dankBarSquareCorners", "dankBarNoBackground", "dankBarGothCornersEnabled", - "dankBarGothCornerRadiusOverride", "dankBarGothCornerRadiusValue", - "dankBarBorderEnabled", "dankBarBorderColor", "dankBarBorderOpacity", - "dankBarBorderThickness", "popupGapsAuto", "popupGapsManual", - "dankBarAtBottom", "topBarAtBottom", "dankBarTransparency", "dankBarWidgetTransparency" - ]; - - for (var i = 0; i < legacyKeys.length; i++) { - delete settings[legacyKeys[i]]; - } - - console.info("Migrated single bar settings to barConfigs"); - } - - settings.configVersion = 2; - } - - if (currentVersion < 3) { - console.info("Migrating settings from version", currentVersion, "to version 3"); - console.info("Per-widget controlCenterButton config now supported via widgetData properties"); - settings.configVersion = 3; - } - - if (currentVersion < 4) { - console.info("Migrating settings from version", currentVersion, "to version 4"); - console.info("Migrating desktop widgets to unified desktopWidgetInstances"); - - var instances = []; - - if (settings.desktopClockEnabled) { - var clockPositions = {}; - if (settings.desktopClockX !== undefined && settings.desktopClockX >= 0) { - clockPositions["default"] = { - x: settings.desktopClockX, - y: settings.desktopClockY, - width: settings.desktopClockWidth || 280, - height: settings.desktopClockHeight || 180 - }; - } - - instances.push({ - id: "dw_clock_primary", - widgetType: "desktopClock", - name: "Desktop Clock", - enabled: true, - config: { - style: settings.desktopClockStyle || "analog", - transparency: settings.desktopClockTransparency !== undefined ? settings.desktopClockTransparency : 0.8, - colorMode: settings.desktopClockColorMode || "primary", - customColor: settings.desktopClockCustomColor || "#ffffff", - showDate: settings.desktopClockShowDate !== false, - showAnalogNumbers: settings.desktopClockShowAnalogNumbers || false, - showAnalogSeconds: settings.desktopClockShowAnalogSeconds !== false, - displayPreferences: settings.desktopClockDisplayPreferences || ["all"] - }, - positions: clockPositions - }); - } - - if (settings.systemMonitorEnabled) { - var sysmonPositions = {}; - if (settings.systemMonitorX !== undefined && settings.systemMonitorX >= 0) { - sysmonPositions["default"] = { - x: settings.systemMonitorX, - y: settings.systemMonitorY, - width: settings.systemMonitorWidth || 320, - height: settings.systemMonitorHeight || 480 - }; - } - - instances.push({ - id: "dw_sysmon_primary", - widgetType: "systemMonitor", - name: "System Monitor", - enabled: true, - config: { - showHeader: settings.systemMonitorShowHeader !== false, - transparency: settings.systemMonitorTransparency !== undefined ? settings.systemMonitorTransparency : 0.8, - colorMode: settings.systemMonitorColorMode || "primary", - customColor: settings.systemMonitorCustomColor || "#ffffff", - showCpu: settings.systemMonitorShowCpu !== false, - showCpuGraph: settings.systemMonitorShowCpuGraph !== false, - showCpuTemp: settings.systemMonitorShowCpuTemp !== false, - showGpuTemp: settings.systemMonitorShowGpuTemp || false, - gpuPciId: settings.systemMonitorGpuPciId || "", - showMemory: settings.systemMonitorShowMemory !== false, - showMemoryGraph: settings.systemMonitorShowMemoryGraph !== false, - showNetwork: settings.systemMonitorShowNetwork !== false, - showNetworkGraph: settings.systemMonitorShowNetworkGraph !== false, - showDisk: settings.systemMonitorShowDisk !== false, - showTopProcesses: settings.systemMonitorShowTopProcesses || false, - topProcessCount: settings.systemMonitorTopProcessCount || 3, - topProcessSortBy: settings.systemMonitorTopProcessSortBy || "cpu", - layoutMode: settings.systemMonitorLayoutMode || "auto", - graphInterval: settings.systemMonitorGraphInterval || 60, - displayPreferences: settings.systemMonitorDisplayPreferences || ["all"] - }, - positions: sysmonPositions - }); - } - - var variants = settings.systemMonitorVariants || []; - for (var i = 0; i < variants.length; i++) { - var v = variants[i]; - instances.push({ - id: v.id, - widgetType: "systemMonitor", - name: v.name || ("System Monitor " + (i + 2)), - enabled: true, - config: v.config || {}, - positions: v.positions || {} - }); - } - - settings.desktopWidgetInstances = instances; - settings.configVersion = 4; - } - - if (currentVersion < 5) { - console.info("Migrating settings from version", currentVersion, "to version 5"); - console.info("Moving sensitive data (weather location, coordinates) to session.json"); - - delete settings.weatherLocation; - delete settings.weatherCoordinates; - - settings.configVersion = 5; - } - - if (currentVersion < 6) { - console.info("Migrating settings from version", currentVersion, "to version 6"); - - if (settings.barElevationEnabled === undefined) { - var legacyBars = Array.isArray(settings.barConfigs) ? settings.barConfigs : []; - var hadLegacyBarShadowEnabled = false; - for (var j = 0; j < legacyBars.length; j++) { - var legacyIntensity = Number(legacyBars[j] && legacyBars[j].shadowIntensity); - if (!isNaN(legacyIntensity) && legacyIntensity > 0) { - hadLegacyBarShadowEnabled = true; - break; - } - } - settings.barElevationEnabled = hadLegacyBarShadowEnabled; - } - - settings.configVersion = 6; - } - - return settings; -} - -function cleanup(fileText) { - var getValidKeys = SpecModule.getValidKeys; - if (!fileText || !fileText.trim()) return; - - try { - var settings = JSON.parse(fileText); - var validKeys = getValidKeys(); - var needsSave = false; - - for (var key in settings) { - if (validKeys.indexOf(key) < 0) { - delete settings[key]; - needsSave = true; - } - } - - return needsSave ? JSON.stringify(settings, null, 2) : null; - } catch (e) { - console.warn("SettingsData: Failed to cleanup unused keys:", e.message); - return null; - } -} |