Skip to content

Settings All Keys

Taiizor edited this page Jun 19, 2026 · 3 revisions

Settings — All Keys

This is the master reference for every persisted Sucrose setting: the on-disk key name, the JSON file it lives in, its type, default value, valid range/options, and which Settings page documents it. Sucrose stores all configuration as small JSON files — one file per topical category — under %AppData%\Sucrose\Setting\. There is no monolithic config file and no app-specific registry usage for settings (the only registry write is to Windows' own DirectX GPU-preference key). Key names are defined as constants in Sucrose.Memory.Manage.Constant.*; defaults and clamps live in Sucrose.Manager.Manage.* and Sucrose.Shared.Dependency.Manage.Manager.*. The JSON key name equals the constant value (e.g. the key "Culture").

Contents

How to read this reference

  • Key — the literal JSON property name (the const string value in Sucrose.Memory.Manage.Constant.*).
  • Type — the .NET type the value is read as. Enums are stored as their string member name, not an integer.
  • Default — the fallback used when the key is absent (the back argument of GetSetting). Some defaults are platform-conditional (noted inline).
  • Range / options — numeric clamp bounds (applied on read via Skymath.Clamp) or the enum value set.
  • Docs — the page that explains the setting in context.

JSON files at a glance

File Backing accessor Documented on
General.json Manage.General Settings-General, Settings-Other
Engine.json Manage.Engine Settings-General, Settings-Wallpaper, Settings-Personal, Settings-Other
Portal.json Manage.Portal Settings-General, Settings-Personal
Library.json Manage.Library Settings-General, Settings-Personal
Backgroundog.json Manage.Backgroundog Settings-Performance
Update.json Manage.Update Settings-Other
Hook.json Manage.Hook Settings-Other
Cycling.json Manage.Cycling Wallpaper-Cycling
Donate.json Manage.Donate (hidden Donate page — not user-reachable)
Objectionable.json Manage.Objectionable (in Private.cs) Settings-Other
System.json Manage.System Settings-Performance (cached hardware enumeration)
Warehouse.json Manage.Warehouse runtime/first-run state (not a settings page)
Aurora.json Manage.Aurora Engine-Aurora
Kernel.json (no Manage.* wrapper) internal

General.json

Key Type Default Range / options Docs
Culture string current UI 2-letter ISO one entry per shipped UI language Settings-General
RunStartup int 0 (None) clamp 0–10; 0=None, 1=Normal, 2=Priority (admin), 3=Scheduler Settings-General
AppVisible bool true Show / Hide notify icon Settings-General
AppExit bool false true = close exits app; false = minimize to tray Settings-General
ThemeType Skylark.Enum.WindowsThemeType current Windows theme Light / Dark Theme-Tray-Startup
UserAgent string Sucrose/2.3 (Windows NT 10.0; Wallpaper Engine) SucroseWebKit max 100 chars Settings-Other
TelemetryData bool true analytics opt-out Settings-Other
ExceptionData bool true crash reporting opt-out Settings-Other

Engine.json

Key Type Default Range / options Docs
WallpaperVolume int 100 0–100 Settings-General
VolumeDesktop bool false mute unless desktop shown Settings-General
VolumeSilent bool false mute when other audio is active Settings-General
VolumeSilentSensitivity int 5 1–10 Settings-General
StoreStart bool true open Store on app launch Settings-Personal
LibraryStart bool true open Library on app launch Settings-Personal
InputType Skylark.Enum.InputType MouseKeyboard Close / OnlyMouse / OnlyKeyboard / MouseKeyboard Settings-Wallpaper
InputModuleType enum RawInput RawInput (only enabled; Native commented out) Settings-Wallpaper
InputDesktop bool false forward input only when desktop shown Settings-Wallpaper
ScreenType Skylark.Enum.ScreenType DisplayBound Skylark.Enum.ScreenType Settings-Wallpaper
ScreenIndex int 0 0–100 (clamped to monitor count) Multi-Monitor
DisplayScreenType enum PerDisplay PerDisplay / SpanAcross / SameDuplicate Multi-Monitor
ExpandScreenType Skylark.Enum.ExpandScreenType Default Skylark.Enum.ExpandScreenType Multi-Monitor
DuplicateScreenType Skylark.Enum.DuplicateScreenType Default Skylark.Enum.DuplicateScreenType Multi-Monitor
StretchType enum UniformToFill None / Fill / Uniform / UniformToFill Settings-Wallpaper
StayAwake bool false prevent sleep/screensaver Settings-Wallpaper
CrashExplorer bool false restart Explorer on crash Settings-Wallpaper
WallpaperLoop bool true loop video/GIF Settings-Wallpaper
WallpaperShuffle bool true shuffle Settings-Wallpaper
BackgroundImage bool false also set static desktop wallpaper Settings-Wallpaper
BackgroundImagePath string empty path to static desktop image Settings-Wallpaper
HardwareAcceleration bool true GPU-accelerated rendering Settings-Wallpaper
Gif EngineType platform default (GifEngine) Vexana / Xavier / WebView / CefSharp / MpvPlayer / VlcPlayer Settings-Wallpaper
Video EngineType platform default Nebula / WebView / CefSharp / MpvPlayer / VlcPlayer Settings-Wallpaper
Url EngineType platform default WebView / CefSharp Settings-Wallpaper
Web EngineType platform default WebView / CefSharp Settings-Wallpaper
YouTube EngineType platform default WebView / CefSharp Settings-Wallpaper
Application EngineType platform default Aurora Settings-Wallpaper
GraphicPreference enum drives Windows DirectX GPU preference Choosing-Engines
CefArguments Dictionary<string,string> CefSharp engine flags Engine-CefSharp
WebArguments List<string> WebView engine flags Engine-WebView
DeveloperMode bool false enable remote-debugging on web engines Settings-Other
DeveloperPort int 0 0–65535 Settings-Other

Portal.json

Key Type Default Range / options Docs
BackdropType Wpf.Ui.Controls.WindowBackdropType None every WindowBackdropType (Mica/Acrylic need Win11) Settings-General
BackgroundImage string empty image file behind window Settings-General
BackgroundStretch System.Windows.Media.Stretch (SSDMI.DefaultBackgroundStretch) None / Fill / Uniform / UniformToFill Settings-General
BackgroundOpacity int 100 0–100 (%) Settings-General
StoreServerType enum Soferity GitHub / Soferity Settings-Personal
StoreDuration int 3 1–24 (cache hours) Settings-Personal
StoreAdult bool true show adult wallpapers Settings-Personal
StorePreview bool false animated hover preview (store) Settings-Personal
StorePreviewHide bool false Settings-Personal
LibraryPreview bool false animated hover preview (library) Settings-Personal
LibraryPreviewHide bool false Settings-Personal
AdaptiveMargin int 5 5–25 (card grid margin) Settings-Personal
AdaptiveLayout int 0 0–100 (max items/row; 0=auto) Settings-Personal
LibrarySortMode enum Creation Name / Creation / Modification Settings-Personal
LibrarySortKind enum Descending Ascending / Descending Settings-Personal
StorePagination int 30 1–100 (items/page) Settings-Personal
LibraryPagination int 30 1–100 (items/page) Settings-Personal

Library.json

Key Type Default Range / options Docs
Location string %AppData%\Sucrose\Library folder path (relocatable) Settings-General
Move bool true move files when changing location Settings-General
Selected string empty id of the active wallpaper Managing-Library
DeleteConfirm bool true confirm before deleting a wallpaper Settings-Personal
DeleteCorrupt bool false auto-delete corrupt entries on load Settings-Personal

Backgroundog.json

Performance/rules engine. Each per-condition *Performance key is a PerformanceType of Close / Pause / Resume. All documented on Settings-Performance and Performance-Rules.

Key Type Default Range / options
PerformanceCounter bool true master monitor (starts/kills Backgroundog)
PausePerformanceType enum Light Heavy / Light
CommunicationType enum Transmission Pipe / Signal / Transmission
ProcessorPerformance PerformanceType Resume Close / Pause / Resume
ProcessorUsage int 70 0–100 (%)
GraphicPerformance PerformanceType Resume Close / Pause / Resume
GraphicAdapter string empty (first/auto) from System.GraphicInterfaces
GraphicUsage int 70 0–100 (%)
MemoryPerformance PerformanceType Resume Close / Pause / Resume
MemoryUsage int 80 0–100 (%)
NetworkPerformance PerformanceType Resume Close / Pause / Resume
NetworkAdapter string empty (first/auto) from System.NetworkInterfaces
UploadValue int 800 0–99999999
UploadType Skylark.Enum.StorageType Kilobyte storage unit
DownloadValue int 10 0–99999999
DownloadType Skylark.Enum.StorageType Megabyte storage unit
PingValue int 100 0–1000 (ms)
PingType string "Bing" host from Network.GetHost()
LockPerformance PerformanceType Close workstation locked
SleepPerformance PerformanceType Close system sleep
ConsolePerformance PerformanceType Close user (console) switch
SessionPerformance PerformanceType Close logoff
ScreenSaverPerformance PerformanceType Pause screensaver active
BatteryPerformance PerformanceType Resume on battery
BatteryUsage int 50 0–100 (%)
BatterySaverPerformance PerformanceType Resume battery saver on
VirtualPerformance PerformanceType Resume virtual machine
RemotePerformance PerformanceType Resume RDP session
FullScreenPerformance PerformanceType Resume foreground app maximized
FocusPerformance PerformanceType Resume foreground app focused
TransmissionPort int TCP loopback port for live data
TransmissionRequired bool require transmission channel
SignalRequired bool require signal channel
PipeRequired bool require pipe channel
AudioRequired bool require audio capture

Update.json

Key Type Default Range / options Docs
Auto bool true enable automatic updates Settings-Other
AutoType enum (SSDMMU.AutoType) Visible / SemiSilent / UpdateSilent / CompleteSilent Settings-Other
ServerType enum Soferity GitHub / Soferity Settings-Other
ModuleType enum Downloader Native / Downloader Settings-Other
ChannelType enum Release Release / PreRelease Settings-Other
ExtensionType enum Executable (.exe) Compressed (.7z) / Executable (.exe) Settings-Other
LimitValue int 500 0–99999999 Settings-Other
LimitType Skylark.Enum.StorageType Megabyte unit ≥ Megabyte enabled Settings-Other
State bool internal update state Update-Internals
Time DateTime last update time Update-Internals

Hook.json

Key Type Default Range / options Docs
DiscordConnect bool true enable Rich Presence Settings-Other, Discord-Rich-Presence
DiscordRefreshConnect bool true periodic refresh Settings-Other
DiscordRefreshDelay int 60 60–3600 (s) Settings-Other

Cycling.json

Key Type Default Range / options Docs
Active bool false cycling on/off Wallpaper-Cycling
TransitionTime int 30 1–999 (minutes) Wallpaper-Cycling
PassingTime int 0 0–99999 Wallpaper-Cycling
TransitionType enum (SSDMMC.TransitionType) Random / Sequential Wallpaper-Cycling
Exclusion List<string> [] per-wallpaper cycling exclusions Wallpaper-Cycling

Donate.json

The Donate page is built in code but disabled and not user-reachable in current builds, so these keys are not editable via the UI.

Key Type Default Range / options
MenuVisible bool true Show / Hide
AdvertisingActive bool true
AdvertisingDelay int 30 30–720 (min)

Objectionable.json

Key Type Default Range / options Docs
PersonalAccessToken string empty must be exactly 93 chars to save Settings-Other, Privacy-Telemetry

⚠️ Stored in plaintext. Excluded from log/backup bundles. Used for YouTube and private (Soferity) Store access.

System.json

Cached hardware enumeration (not user-edited). See Settings-Performance for the adapters that reference these lists.

Key Type Notes
NetworkInterfaces string[] cached network adapter names
GraphicInterfaces string[] cached graphics adapter names
ProcessorInterfaces (key defined) cached processor info

Warehouse.json

First-run / runtime state (not a Settings page).

Key Type Default Notes
Showcase List<string> which showcase items were imported
WebViewTime DateTime runtime bookkeeping
CefSharpTime DateTime runtime bookkeeping
WebViewContinue bool runtime flag
CefsharpContinue bool runtime flag
HintTrayIcon bool true shows the tray hint dialog once, then set false

Aurora.json

Key Type Default Notes Docs
AppProcessName string process name for the Application/Aurora engine Engine-Aurora

Kernel.json

Key Type Notes
Information (internal) single key; no Manage.* wrapper

Storage format and editing notes

Every settings file is a single JSON object with one property, Properties, a string→object dictionary:

{
  "Properties": {
    "Culture": "EN",
    "AppVisible": true,
    "WallpaperVolume": 100
  }
}
  • Serializer: Newtonsoft.Json, Formatting.Indented, TypeNameHandling.None.
  • Enums are stored as their string member name (via EnumConverter, parsed case-insensitively) — hand-edit with the member name (e.g. UniformToFill), never an integer.
  • IP addresses are stored as strings (via IPAddressConverter).
  • Numeric clamping happens on read (Skymath.Clamp); out-of-range values in the JSON are silently clamped and the file is not rewritten.
  • Self-healing: a missing, empty, or invalid JSON file is reset to { "Properties": {} } on next read.
  • Cross-process safe I/O: every read/write is guarded by a named mutex derived from an MD5 of the file path, so the many Sucrose processes don't corrupt a file.
  • Silent write failures: writes swallow exceptions — a locked or permission-denied file fails to persist without an error.

For the persistence engine internals and the three SettingManager variants, see Settings-Persistence.

See also

Home

Getting Started

Wallpaper Types

Using Sucrose

Settings Reference

Creating Wallpapers

Engine Reference

Automation & Command Line

Architecture & Internals

Data, Files & Diagnostics

Building & Contributing

Help & Support

Clone this wiki locally