-
-
Notifications
You must be signed in to change notification settings - Fork 60
Portal Interface Tour
The Portal (Sucrose.Portal) is the main settings and management window of Sucrose — the window you see when you open the app. It is built with WPF-UI (a Fluent design system) using MVVM and dependency injection. This page is a guided tour of the window's regions: the top navigation bar (Library / Store), the top toolbar (theme toggle, Create Wallpaper, Wallpaper Cycling, Display Preferences, Help, About), the search box, the seven Settings pages, and the bottom status bar. A key thing to know: the Portal is a window you can close at will — the system-tray icon is owned by the Launcher process, not the Portal.
- Window basics
- Top navigation: General mode vs Settings mode
- The top toolbar
- The search box
- The Settings pages
- The status bar
- The tray icon is the Launcher's
- See also
The main window (MainWindow) is a Fluent window, 900 × 600 (also its minimum size), centered on screen, with the title bar content extended into the window chrome. Light/dark theming follows your Windows system theme by default and is toggleable from the top toolbar (see below).
📷 Screenshot needed: The Portal main window with the top navigation bar and toolbar, a populated Library, and the bottom status bar visible.
The Portal uses a top navigation bar with two logical modes:
-
General mode — shows the two main pages and the top toolbar:
Menu item Page Description Library LibraryPageYour installed wallpapers. See Managing Library. Store StorePageBrowse and install community wallpapers. See Using Store. -
Settings mode — entered with the Settings button in the top toolbar; the toolbar hides and a back arrow returns you to General mode. The settings pages are listed in The Settings pages below.
The toolbar sits on the right of the top navigation bar and is shown only in General mode (it hides while you are in Settings). From left to right it contains:
| Control | Action |
|---|---|
| Search box | Filters Library/Store cards by word match (see below). |
| Theme toggle | Two buttons, Dark / Light (only the relevant one shows). Switches the app between light and dark. See Theme, Tray & Startup. |
Create Wallpaper (+) |
Opens the Create Wallpaper dialog to make a new wallpaper. See Create Step By Step. |
| Wallpaper Cycling | Opens the Wallpaper Cycling dialog (slideshow settings). See Wallpaper Cycling. |
| Display Preferences | Opens the multi-monitor layout dialog. See Multi-Monitor. |
Other Options (⋮) |
A context menu with Help and About. |
| Settings | Switches the window into Settings mode. |
About shows the version and last-update time and links to the release notes for the current version on GitHub.
The top toolbar's search box accepts up to 20 characters and is debounced by 500 ms. As you type, it filters the cards on the Library or Store page by word match (and, on the Store, sorts results by how many words match). When statistics/telemetry is enabled, search queries may be sent to the Soferity telemetry endpoint along with the active page and app version; you can disable telemetry under Settings Other / Privacy & Telemetry.
Entered via the Settings button in the top toolbar. Each page groups related options into Fluent "expander" cards. The pages are:
| Page | Covers | Wiki page |
|---|---|---|
| General | Language, startup, notify icon & exit-on-close, backdrop & opacity, engine volume, library location | Settings General |
| Personal | Store server & cache, adult content, delete confirm/corrupt, previews, adaptive layout, sort, pagination | Settings Personal |
| Performance | Auto Close/Pause/Resume rules per condition, thresholds, communication type | Settings Performance |
| Wallpaper | Input mode, screen layout, stretch, loop/shuffle, hardware acceleration, per-type engine selectors | Settings Wallpaper |
| System | Maintenance actions: clear cache/store/library, backup/restore, factory reset | Settings System |
| Other | Report/statistics data (privacy), Discord, user agent, personal token, update settings, developer mode | Settings Other |
A Donate page exists in code but is disabled and not reachable in current builds, so it is intentionally omitted from this wiki.
For an at-a-glance index of every setting, see Settings Overview and Settings All Keys.
Along the bottom, the Portal shows: the app icon, the release name, framework, architecture, version, the current process memory (refreshed every second), a random rotating quote (click to copy to the clipboard), and the copyright line.
The Portal is just the management window — closing it does not stop your wallpaper or your services. The system-tray icon and its context menu are owned by the Launcher process (Sucrose.Launcher), which is the true entry point and stays resident. The Portal merely sends Show/Hide signals to the Launcher's tray icon (controlled by the Notify Icon visibility setting, AppVisible). Whether closing the window minimizes to tray or fully exits is controlled by the exit-on-close setting (AppExit, default false). See Theme, Tray & Startup and Architecture Overview.
- Quick Start — apply your first wallpaper.
- Managing Library — the Library page in depth.
- Using Store — the Store page in depth.
- Settings Overview — how the seven settings pages work.
- Theme, Tray & Startup — theming, the tray icon, and startup modes.
- Architecture Overview — how the Portal, Launcher, and engines relate.
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