-
-
Notifications
You must be signed in to change notification settings - Fork 60
Type Gif
A Gif wallpaper (type value 0, Gif) turns an animated .gif file into your desktop background. It is the simplest type to create — drop in a GIF and you are done — and it is also the most flexible when it comes to engine choice: six of Sucrose's eight engines can render a GIF, so you can trade quality, memory, and feature set to suit your machine. This page covers what a Gif wallpaper is, the engines that render it, how to apply and tune one, and its limits.

- What it is
- Engines for GIF
- How to apply a Gif wallpaper
- Customization
- Interactivity and performance
- Tips
- See also
In the manifest, a Gif wallpaper has "Type": 0 and a Source field that names the local .gif file inside the wallpaper folder. When you create one through the Portal, the source GIF is copied into the theme folder with an s_ prefix (for example s_loop.gif).
GIFs are rendered through one of two routes depending on the engine:
- Direct decode (Vexana, Xavier, MpvPlayer, VlcPlayer) — the engine decodes and plays the GIF natively.
-
HTML wrapper (WebView, CefSharp) — Sucrose wraps the GIF in a built-in
GifContent.htmlpage (a custom JavaScript GIF decoder) so the GIF gains play/pause and CSS-style filter properties.
Gif is the type with the widest engine support. The default and the full allowed list:
| Engine | Tech | Notes |
|---|---|---|
| MpvPlayer (default) | libmpv | Hardware-accelerated playback; ships its own libmpv-{arch}.dll. Requires Windows 10 1607+. |
| VlcPlayer | libVLC (LibVLCSharp.WPF) | Bundled libVLC per architecture; no install or OS-version check. GIF is software-decoded and can stutter at the loop boundary. |
| Vexana | In-house GIF frame parser + WPF Image timer |
Pure managed; manual frame ticker. Local GIFs. |
| Xavier |
Sucrose.XamlAnimatedGif attached behavior |
Pure managed; frame caching off; can stream remote GIFs over HTTP. |
| WebView | Microsoft Edge WebView2 (Chromium) | Renders via GifContent.html; gains filter/animation properties. |
| CefSharp | Chromium Embedded Framework | Renders via GifContent.html; gains filter/animation properties. |
Change the engine in Settings → Wallpaper (the GifPlayer selector in the Extensions area). See Choosing Engines.
Quick guidance:
- Want the smoothest, most efficient playback? Keep the default MpvPlayer.
- Want a lightweight pure-WPF player with no native runtime? Use Vexana (local) or Xavier (local or remote).
- Want CSS filters (blur, hue, sepia, etc.) and animation effects on the GIF? Use WebView or CefSharp.
- Open the Portal and go to Library.
- Import or select a Gif wallpaper (drag a
.gifonto the Library, or use the Create dialog). See Managing Library. - Right-click the card and choose Use. The selected GIF engine launches and the GIF appears behind your icons.
- (Optional) Switch the engine first in Settings → Wallpaper if you want a different renderer.
Gif wallpapers expose an adjustment panel that depends on the rendering engine:
-
MpvPlayer (
PropertiesType.MpvPlayer): video-zoom (−5..5), saturation, hue, sharpen, brightness, contrast, scale-blur, gamma, speed (0.25–2.5), mute, subtitle toggle. -
VlcPlayer (
PropertiesType.VlcPlayer): saturation, hue, brightness, contrast, gamma (currently non-functional), speed, mute — the color filters apply only when Hardware Acceleration is on. -
WebView / CefSharp (
PropertiesType.WebView/PropertiesType.CefSharp): CSS-style filters — scale (zoom), saturate, hue-rotate, brightness, contrast, blur, grayscale, sepia, invert, mirror, an animation effect (Flat/Flip/Pulse/Shake/Bounce/Wiggle), playbackRate, and muted.
Open the panel from the Library card's Customize entry. Changes re-apply live without restarting the wallpaper. See Customizing Wallpaper and Create Property Listener & Filters.

- Not interactive. Gif wallpapers do not receive mouse or keyboard input.
- No live data. GIFs do not receive Sucrose's audio-reactive or system-status JavaScript callbacks — those are exclusive to the Web type. If you want an animation that reacts to sound, build a Web wallpaper instead.
- Resource cost is low to medium. Hardware-accelerated MpvPlayer is the most efficient; the browser engines cost more because they spin up a Chromium process. Pause/Close behavior on lock, fullscreen, battery, etc. is governed by Performance Rules.
- Large, high-frame-rate GIFs use a lot of memory; consider converting a long animation to a Video wallpaper (Type-Video) for far lower overhead.
- Use Xavier if your GIF is hosted remotely — it can stream a GIF from a URL.
- For a tiled or framed look, switch to a browser engine and apply the mirror and animation filters in the Customize panel.
- Wallpaper Types — all six types and the engine mapping
- Type-Video — a lighter-weight alternative for long animations
- Engine-MpvPlayer — the default GIF engine
- Engine-Vexana and Engine-Xavier — the pure-WPF GIF engines
- Engine-VlcPlayer — the libVLC GIF/Video engine
- Create Step By Step — author a Gif wallpaper
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