-
-
Notifications
You must be signed in to change notification settings - Fork 60
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").
- How to read this reference
- JSON files at a glance
- General.json
- Engine.json
- Portal.json
- Library.json
- Backgroundog.json
- Update.json
- Hook.json
- Cycling.json
- Donate.json
- Objectionable.json
- System.json
- Warehouse.json
- Aurora.json
- Kernel.json
- Storage format and editing notes
- See also
-
Key — the literal JSON property name (the
const stringvalue inSucrose.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
backargument ofGetSetting). 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.
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
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 |
| 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 |
| 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 |
| 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 |
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) |
| 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.
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 |
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 |
| Key | Type | Default | Notes | Docs |
|---|---|---|---|---|
AppProcessName |
string | — | process name for the Application/Aurora engine | Engine-Aurora |
| Key | Type | Notes |
|---|---|---|
Information |
(internal) | single key; no Manage.* wrapper |
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.
- Settings-Overview — how settings work and apply
- Settings-Persistence — the SettingManager engine, converters, and mutex-guarded I/O
- Settings-General · Settings-Personal · Settings-Performance · Settings-Wallpaper · Settings-System · Settings-Other
- Data-Locations — the complete on-disk folder map
- Backup-Restore-Reset — exporting, importing, and resetting these files
Getting Started
- Installation
- System Requirements
- Quick Start
- Portal Interface Tour
- Updating Sucrose
- Uninstalling Sucrose
Wallpaper Types
Using Sucrose
- Managing Library
- Using Store
- Customizing Wallpaper
- Multi-Monitor
- Wallpaper Cycling
- Choosing Engines
- Performance Rules
- Theme, Tray & Startup
- Discord Rich Presence
Settings Reference
- Settings Overview
- Settings: General
- Settings: Personal
- Settings: Performance
- Settings: Wallpaper
- Settings: System
- Settings: Other
- Settings: All Keys
Creating Wallpapers
- Create Overview
- Create: Step By Step
- Create: Package Format
- Create: Customization Controls
- Create: JS Bridge
- Create: Audio API
- Create: System API
- Create: Property Listener & Filters
- Create: Web Architecture
- Create: Compatibility
- Create: Example Wallpapers
- Create: Sharing & Publishing
Engine Reference
- Engines Overview
- Engine: MpvPlayer
- Engine: VlcPlayer
- Engine: WebView
- Engine: CefSharp
- Engine: Nebula
- Engine: Vexana
- Engine: Xavier
- Engine: Aurora
- Engine Comparison
Automation & Command Line
Architecture & Internals
- Architecture Overview
- Lifecycle
- Commandog Dispatcher
- Single-Instance Mutexes
- IPC
- Backgroundog Service
- Crash Reporting
- Update Internals
- Property Service
- Undo Internals
Data, Files & Diagnostics
Building & Contributing
- Building From Source
- Repository Layout
- Shared Item Projects
- Code Conventions
- Preprocessor Symbols
- Publish Pipeline
- Bundle Installer Internals
- Extending Sucrose
- Contributing
- Translating with Localizer
- Localization Coverage
- Security Policy
- Privacy & Telemetry
Help & Support