-
-
Notifications
You must be signed in to change notification settings - Fork 60
Discord Rich Presence
Sucrose can show a Discord Rich Presence status while it runs, telling your Discord friends that you are using the Sucrose Wallpaper Engine — complete with status text, images, and two buttons that link to the project. This page explains what the presence shows, how to enable or disable it, the refresh delay, and the requirement that the Discord desktop client be running. Rich Presence is managed by the Launcher process and configured on the Settings Other page.
When active, the Rich Presence appears on your Discord profile as "Playing Sucrose Wallpaper Engine" with:
- Status / state text and large/small images, chosen at random from localized resource strings so the presence looks lively rather than static.
-
Two buttons:
- Browse — opens the Sucrose GitHub repository.
- Download — opens the Sucrose listing on the Microsoft Store.

Discord Rich Presence only activates when all of the following are true:
- The Discord Hook setting is enabled (it is on by default).
- The Discord desktop client is actually running — either
Discord.exeorDiscordPTB.exe(Discord PTB). The web version does not count.
If the Discord client is closed or the setting is turned off, Sucrose clears the presence and stops refreshing it. The presence is re-established automatically the next time Discord is detected running.
The controls live on the Settings → Other page (area: Hook):
| Setting | Control | Key (file) | Default | Range / options |
|---|---|---|---|---|
| Discord Hook (Rich Presence) | ToggleSwitch |
DiscordConnect (Hook) |
true |
on / off |
| Discord refresh | ToggleSwitch |
DiscordRefreshConnect (Hook) |
true |
on / off |
| Discord delay | NumberBox |
DiscordRefreshDelay (Hook) |
60 |
60–3600 (seconds) |
To turn Rich Presence off entirely, disable Discord Hook. The settings are stored in Hook.json.

When Discord refresh (DiscordRefreshConnect) is enabled, Sucrose periodically re-randomizes the presence state text and images so they rotate over time. The Discord delay (DiscordRefreshDelay) sets that refresh interval:
-
Default:
60seconds. -
Range:
60–3600seconds (1 minute to 1 hour).
If you find the rotating text distracting, raise the delay (or disable Discord refresh to keep a single state for the session).
Rich Presence is owned by the Launcher process and started during Launcher startup (Discord.Initialize()):
- It uses the DiscordRPC library (
DiscordRpcClient) with the Sucrose Discord application id1126294965950103612. - A timer ticks every 5 seconds. On each tick it checks whether you enabled Discord (
DiscordConnect) and whetherDiscord.exeorDiscordPTB.exeis running.- If both are true and the client is not yet initialized, it connects and sets the presence.
- If Discord is gone or the setting is off, it clears the presence and stops the refresh timer.
- A separate optional refresh timer (interval =
DiscordRefreshDelayseconds) re-randomizes the presence when Discord refresh is enabled.
When the Launcher exits, the Discord connection is disposed cleanly.
Discord Rich Presence is local to your machine and your Discord client — it does not send data to the Sucrose servers. It is independent of Sucrose's opt-in crash reporting and analytics, which are controlled separately by the Report Data and Statistics Data switches (see Privacy and Telemetry). If you do not want any "Playing Sucrose…" status on your Discord profile, simply turn off Discord Hook.
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