Skip to content

Theme Tray Startup

Taiizor edited this page Jun 5, 2026 · 4 revisions

Theme, Tray and Startup

This page covers three everyday behaviors of the Sucrose Portal: the light/dark theme (and the Windows 11 Mica/Acrylic window backdrop), the system-tray icon (including the first-time tray hint and the "exit vs. minimize" interplay), and the startup modes that decide whether and how Sucrose launches with Windows. These are configured mainly on the Settings General page; the tray icon itself is owned by the Launcher process, not the Portal.

Contents

Theme: light, dark, and system

Sucrose's Portal can run in light or dark mode:

  • The theme is stored as a Skylark.Enum.WindowsThemeType (Light / Dark) under the ThemeType key in General.json.
  • The default is your current Windows system theme, detected at startup.
  • You toggle it with the theme button in the Portal's top toolbar (on the right of the top navigation bar) — two buttons (Dark / Light, only one visible at a time) using the sun (WeatherSunny16, switch to dark) and moon (WeatherMoon16, switch to light) icons.

Toggling applies the new theme immediately to the window. If the Window Backdrop is set to Auto, the Portal forces its theme to match the live Windows theme on startup.

Portal top toolbar with the light/dark theme toggle button highlighted

Window backdrop (Mica / Acrylic) and background image

The Portal window's translucent backdrop is configured on the General settings page:

Setting Key (file) Default Options
Window Backdrop BackdropType (Portal) Mica Any Wpf.Ui.Controls.WindowBackdropType. Items requiring Windows 11 (e.g. Mica, Acrylic) are disabled on unsupported systems.
→ Background image BackgroundImage (Portal) empty An image shown behind the window; a remove button clears it.
→ Backdrop stretch BackgroundStretch (Portal) (default stretch) None / Fill / Uniform / UniformToFill.
→ Backdrop opacity BackgroundOpacity (Portal) 100 0–100 (%).

Mica and Acrylic require Windows 11. On Windows 10 those backdrop options appear disabled; pick a supported backdrop type instead.

Do not confuse the Portal's BackgroundImage (Portal page — an image behind the Portal window) with the Wallpaper page BackgroundImage toggle (Engine — the static desktop wallpaper behind your live wallpaper). They are different settings in different files.

The system-tray icon

The actual tray icon is created and owned by the Launcher process (Sucrose.Launcher.exe), which has no main window and lives entirely in the system tray. The Portal merely configures it by sending the Launcher a Show/Hide signal.

Setting Key (file) Default Effect
Notify Icon visibility AppVisible (General) true (Show) Show / Hide. Sends the Launcher a Show/Hide signal to display or hide the tray icon.

The tray icon's context menu routes user actions (Open, Customize, Reload, Update, Exit/Close, etc.) to the rest of the app through the Commandog dispatcher. When Backgroundog has paused or closed the engine, the tray icon reflects that state.

The Sucrose system-tray icon with its context menu expanded

First-run tray hint

The first time you close the Portal window (while the HintTrayIcon flag in Warehouse.json is still true), Sucrose shows a one-time dialog explaining that the app minimizes to the tray rather than quitting. This dialog:

  • Has a forced 5-second countdown before its close button becomes enabled.
  • Blocks Enter and Escape during the countdown.
  • Sets HintTrayIcon = false afterward, so it never appears again.

Exit vs. minimize on close

Two settings together decide what the window's close button does:

Setting Key (file) Default Effect
Notify Icon visibility AppVisible (General) true Whether the tray icon is shown (see above).
Notify → Exit on close AppExit (General) false When false, closing the Portal window minimizes to tray. When true, closing exits the app.

The interplay also changes the tray menu's last item label:

  • With AppExit == false (default), the last tray item reads "Exit" and only the Launcher itself exits — the wallpaper engine and background services keep running.
  • With AppExit == true, the last tray item reads "Close" and triggers a full teardown: the engine and its browser subprocesses are stopped, then (in order) Undo, Portal, Update, Property, Watchdog, Commandog, Reportdog, Backgroundog are killed, the tray is released, and the process exits.

If you want closing the window to fully quit Sucrose, enable Notify → Exit on close. Leave it off if you prefer the wallpaper to keep running in the background.

Startup modes

Whether Sucrose launches automatically with Windows is set by Application Startup on the General settings page. It is a single ComboBox stored under the RunStartup key in General.json:

Value Mode Mechanism
0 None (default) Does not start with Windows.
1 Normal Current-user Run registry key (Startup command).
2 Priority Elevated / approved startup (StartupP command, runs as admin).
3 Scheduler A Windows Task Scheduler task (Scheduler command).

All four modes are implemented by issuing commands to the Commandog dispatcher. The Scheduler option creates a logon-triggered task named Autorun for Sucrose (description "Sucrose Wallpaper Engine") under the \Sucrose\ task folder, scoped to the current user, with no execution time limit and start-on-battery allowed.

Removing autostart: if you used the Scheduler mode, the entry is a Task Scheduler task (Autorun for Sucrose), not a registry Run entry — delete that task to stop Sucrose launching at logon. See Troubleshooting Settings, Startup and GPU.

When Sucrose launches at startup, the Launcher auto-restores your last wallpaper automatically — you do not have to re-apply it each boot.

Portal Settings General page showing the Application Startup, Notify Icon visibility, and Notify Exit on close controls

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