.pragma library function percentToUnit(v) { if (v === undefined || v === null) return undefined; return v > 1 ? v / 100 : v; } var SPEC = { currentThemeName: { def: "blue", onChange: "applyStoredTheme" }, customThemeFile: { def: "" }, matugenScheme: { def: "scheme-tonal-spot", onChange: "regenSystemThemes" }, runUserMatugenTemplates: { def: true, onChange: "regenSystemThemes" }, matugenTargetMonitor: { def: "", onChange: "regenSystemThemes" }, popupTransparency: { def: 1.0, coerce: percentToUnit }, dockTransparency: { def: 1.0, coerce: percentToUnit }, widgetBackgroundColor: { def: "sch" }, widgetColorMode: { def: "default" }, cornerRadius: { def: 12, onChange: "updateNiriLayout" }, use24HourClock: { def: true }, showSeconds: { def: false }, useFahrenheit: { def: false }, nightModeEnabled: { def: false }, animationSpeed: { def: 1 }, customAnimationDuration: { def: 500 }, wallpaperFillMode: { def: "Fill" }, blurredWallpaperLayer: { def: false }, blurWallpaperOnOverview: { def: false }, showLauncherButton: { def: true }, showWorkspaceSwitcher: { def: true }, showFocusedWindow: { def: true }, showWeather: { def: true }, showMusic: { def: true }, showClipboard: { def: true }, showCpuUsage: { def: true }, showMemUsage: { def: true }, showCpuTemp: { def: true }, showGpuTemp: { def: true }, selectedGpuIndex: { def: 0 }, enabledGpuPciIds: { def: [] }, showSystemTray: { def: true }, showClock: { def: true }, showNotificationButton: { def: true }, showBattery: { def: true }, showControlCenterButton: { def: true }, showCapsLockIndicator: { def: true }, controlCenterShowNetworkIcon: { def: true }, controlCenterShowBluetoothIcon: { def: true }, controlCenterShowAudioIcon: { def: true }, controlCenterShowVpnIcon: { def: false }, controlCenterShowBrightnessIcon: { def: false }, controlCenterShowMicIcon: { def: false }, controlCenterShowBatteryIcon: { def: false }, controlCenterShowPrinterIcon: { def: false }, showPrivacyButton: { def: true }, privacyShowMicIcon: { def: false }, privacyShowCameraIcon: { def: false }, privacyShowScreenShareIcon: { def: false }, controlCenterWidgets: { def: [ { id: "volumeSlider", enabled: true, width: 50 }, { id: "brightnessSlider", enabled: true, width: 50 }, { id: "wifi", enabled: true, width: 50 }, { id: "bluetooth", enabled: true, width: 50 }, { id: "audioOutput", enabled: true, width: 50 }, { id: "audioInput", enabled: true, width: 50 }, { id: "nightMode", enabled: true, width: 50 }, { id: "darkMode", enabled: true, width: 50 } ]}, showWorkspaceIndex: { def: false }, showWorkspacePadding: { def: false }, workspaceScrolling: { def: false }, showWorkspaceApps: { def: false }, maxWorkspaceIcons: { def: 3 }, workspacesPerMonitor: { def: true }, showOccupiedWorkspacesOnly: { def: false }, dwlShowAllTags: { def: false }, workspaceNameIcons: { def: {} }, waveProgressEnabled: { def: true }, scrollTitleEnabled: {def: true}, clockCompactMode: { def: false }, focusedWindowCompactMode: { def: false }, runningAppsCompactMode: { def: true }, keyboardLayoutNameCompactMode: { def: false }, runningAppsCurrentWorkspace: { def: false }, runningAppsGroupByApp: { def: false }, centeringMode: { def: "index" }, clockDateFormat: { def: "" }, lockDateFormat: { def: "" }, mediaSize: { def: 1 }, appLauncherViewMode: { def: "list" }, spotlightModalViewMode: { def: "list" }, sortAppsAlphabetically: { def: false }, appLauncherGridColumns: { def: 4 }, spotlightCloseNiriOverview: { def: true }, niriOverviewOverlayEnabled: { def: true }, weatherLocation: { def: "New York, NY" }, weatherCoordinates: { def: "40.7128,-74.0060" }, useAutoLocation: { def: false }, weatherEnabled: { def: true }, networkPreference: { def: "auto" }, vpnLastConnected: { def: "" }, iconTheme: { def: "System Default", onChange: "applyStoredIconTheme" }, availableIconThemes: { def: ["System Default"], persist: false }, systemDefaultIconTheme: { def: "", persist: false }, qt5ctAvailable: { def: false, persist: false }, qt6ctAvailable: { def: false, persist: false }, gtkAvailable: { def: false, persist: false }, launcherLogoMode: { def: "apps" }, launcherLogoCustomPath: { def: "" }, launcherLogoColorOverride: { def: "" }, launcherLogoColorInvertOnMode: { def: false }, launcherLogoBrightness: { def: 0.5 }, launcherLogoContrast: { def: 1 }, launcherLogoSizeOffset: { def: 0 }, fontFamily: { def: "Inter Variable" }, monoFontFamily: { def: "Fira Code" }, fontWeight: { def: 400 }, fontScale: { def: 1.0 }, notepadUseMonospace: { def: true }, notepadFontFamily: { def: "" }, notepadFontSize: { def: 14 }, notepadShowLineNumbers: { def: false }, notepadTransparencyOverride: { def: -1 }, notepadLastCustomTransparency: { def: 0.7 }, soundsEnabled: { def: true }, useSystemSoundTheme: { def: false }, soundNewNotification: { def: true }, soundVolumeChanged: { def: true }, soundPluggedIn: { def: true }, acMonitorTimeout: { def: 0 }, acLockTimeout: { def: 0 }, acSuspendTimeout: { def: 0 }, acSuspendBehavior: { def: 0 }, acProfileName: { def: "" }, batteryMonitorTimeout: { def: 0 }, batteryLockTimeout: { def: 0 }, batterySuspendTimeout: { def: 0 }, batterySuspendBehavior: { def: 0 }, batteryProfileName: { def: "" }, lockBeforeSuspend: { def: false }, preventIdleForMedia: { def: false }, loginctlLockIntegration: { def: true }, fadeToLockEnabled: { def: false }, fadeToLockGracePeriod: { def: 5 }, launchPrefix: { def: "" }, brightnessDevicePins: { def: {} }, wifiNetworkPins: { def: {} }, bluetoothDevicePins: { def: {} }, audioInputDevicePins: { def: {} }, audioOutputDevicePins: { def: {} }, gtkThemingEnabled: { def: false, onChange: "regenSystemThemes" }, qtThemingEnabled: { def: false, onChange: "regenSystemThemes" }, syncModeWithPortal: { def: true }, terminalsAlwaysDark: { def: false, onChange: "regenSystemThemes" }, showDock: { def: false }, dockAutoHide: { def: false }, dockGroupByApp: { def: false }, dockOpenOnOverview: { def: false }, dockPosition: { def: 1 }, dockSpacing: { def: 4 }, dockBottomGap: { def: 0 }, dockMargin: { def: 0 }, dockIconSize: { def: 40 }, dockIndicatorStyle: { def: "circle" }, dockBorderEnabled: { def: false }, dockBorderColor: { def: "surfaceText" }, dockBorderOpacity: { def: 1.0, coerce: percentToUnit }, dockBorderThickness: { def: 1 }, notificationOverlayEnabled: { def: false }, overviewRows: { def: 2, persist: false }, overviewColumns: { def: 5, persist: false }, overviewScale: { def: 0.16, persist: false }, modalDarkenBackground: { def: true }, lockScreenShowPowerActions: { def: true }, enableFprint: { def: false }, maxFprintTries: { def: 3 }, fprintdAvailable: { def: false, persist: false }, lockScreenActiveMonitor: { def: "all" }, lockScreenInactiveColor: { def: "#000000" }, hideBrightnessSlider: { def: false }, notificationTimeoutLow: { def: 5000 }, notificationTimeoutNormal: { def: 5000 }, notificationTimeoutCritical: { def: 0 }, notificationPopupPosition: { def: 0 }, osdAlwaysShowValue: { def: false }, osdPosition: { def: 5 }, osdVolumeEnabled: { def: true }, osdMediaVolumeEnabled : { def: true }, osdBrightnessEnabled: { def: true }, osdIdleInhibitorEnabled: { def: true }, osdMicMuteEnabled: { def: true }, osdCapsLockEnabled: { def: true }, osdPowerProfileEnabled: { def: false }, osdAudioOutputEnabled: { def: true }, powerActionConfirm: { def: true }, powerActionHoldDuration: { def: 1 }, powerMenuActions: { def: ["reboot", "logout", "poweroff", "lock", "suspend", "restart"] }, powerMenuDefaultAction: { def: "logout" }, powerMenuGridLayout: { def: false }, customPowerActionLock: { def: "" }, customPowerActionLogout: { def: "" }, customPowerActionSuspend: { def: "" }, customPowerActionHibernate: { def: "" }, customPowerActionReboot: { def: "" }, customPowerActionPowerOff: { def: "" }, updaterUseCustomCommand: { def: false }, updaterCustomCommand: { def: "" }, updaterTerminalAdditionalParams: { def: "" }, displayNameMode: { def: "system" }, screenPreferences: { def: {} }, showOnLastDisplay: { def: {} }, barConfigs: { def: [{ id: "default", name: "Main Bar", enabled: true, position: 0, screenPreferences: ["all"], showOnLastDisplay: true, leftWidgets: ["launcherButton", "workspaceSwitcher", "focusedWindow"], centerWidgets: ["music", "clock", "weather"], rightWidgets: ["systemTray", "clipboard", "cpuUsage", "memUsage", "notificationButton", "battery", "controlCenterButton"], spacing: 4, innerPadding: 4, bottomGap: 0, transparency: 1.0, widgetTransparency: 1.0, squareCorners: false, noBackground: false, gothCornersEnabled: false, gothCornerRadiusOverride: false, gothCornerRadiusValue: 12, borderEnabled: false, borderColor: "surfaceText", borderOpacity: 1.0, borderThickness: 1, widgetOutlineEnabled: false, widgetOutlineColor: "primary", widgetOutlineOpacity: 1.0, widgetOutlineThickness: 1, fontScale: 1.0, autoHide: false, autoHideDelay: 250, openOnOverview: false, visible: true, popupGapsAuto: true, popupGapsManual: 4 }], onChange: "updateBarConfigs" } }; function getValidKeys() { return Object.keys(SPEC).filter(function(k) { return SPEC[k].persist !== false; }).concat(["configVersion"]); } function set(root, key, value, saveFn, hooks) { if (!(key in SPEC)) return; root[key] = value; var hookName = SPEC[key].onChange; if (hookName && hooks && hooks[hookName]) { hooks[hookName](root); } saveFn(); }