Live wallpaper for any window
- 🚀 Ultra-lightweight: GUI built with pure Win32 API for instant startup
- 🔒 Completely portable: No hooks, no registry modifications, 100% clean
- ⚡ Minimal resource usage: Optimized for maximum performance
- 🎭 Multi-version Spine support: Compatible with Spine 3.7, 3.8, 4.0, 4.1, 4.2
- 🎯 Smart application targeting: Match and attach overlays by application name (e.g., explorer.exe)
- 🎨 Dynamic responsive layout: Adaptive positioning that responds to window size changes
- 🔄 Automatic random cycling: Random switching between multiple assets
| Parameter | Description | Type | Details |
|---|---|---|---|
| name | Configuration Name | String | Unique identifier for the configuration |
| parent | Parent Window | String | Target parent window process name (e.g., explorer.exe) |
| assets | Assets Folder | Path | Directory containing overlay assets |
| preview | Preview Image | Path | Preview image file path |
| size | Size Adaptation Mode | Enum | Fill / Fit / Follow Height / Follow Width / Fixed Size |
| scale | Scale Percentage | Number (%) | Scaling factor applied after size adaptation |
| horizontal | Horizontal Position | Number (%) | Horizontal position within parent window (0-100+) 0/100 = left/right edge alignment |
| x shift | Horizontal Offset | Number (px) | Horizontal pixel offset |
| vertical | Vertical Position | Number (%) | Vertical position within parent window (0-100+) 0/100 = bottom/top edge alignment |
| y shift | Vertical Offset | Number (px) | Vertical pixel offset |
| duration | Cycle Duration | Time (sec) | Asset switching interval |
| opacity | Opacity | Number | Display opacity (0-255) |
WmaskEX searches for image files only in the top-level directory (non-recursive) with the following extensions (case-insensitive):
- Supported formats:
png,jpg,jpeg,bmp,ico,tiff,exif,wmf,emf
WmaskEX recursively searches for Spine animations by detecting .atlas files and checking for matching skeleton files:
Required files for Spine detection:
- ✅
.atlasfile (texture atlas) - ✅
.jsonor.skelfile (skeleton data) with same filename
Configuration Priority:
- 🎯 Manual configuration:
.wmaskex.jsonwith same filename (if present, takes precedence) - 🤖 Auto-parsing: Direct parsing from skeleton and atlas files
When no .wmaskex.json is found, WmaskEX automatically:
- 📊 Version detection: Extracts Spine version from
.skelor.jsonfiles - 📐 Bounds calculation: Reads skeleton bounds (x, y, width, height)
- 🎨 PMA detection: Parses premultiplied alpha setting from
.atlasfile
.wmaskex.json (optional, overrides auto-parsing):
{
"version": "3.8",
"bounds": [-100, -10, 220, 450],
"pma": true
}Bounds Format: [x, y, width, height]
width,height: Bounding box dimensionsx,y: Bottom-left corner coordinates
- Windows 7/8/10/11 (64-bit)
- Visual C++ Redistributable
- OpenGL support
- Download the latest release
- Extract to your preferred directory
- Run
WmaskEX.exe - Configure your overlays through the GUI
- Enjoy your enhanced desktop experience!
# Install dependencies with vcpkg
vcpkg install nlohmann-json glbinding
# Clone and build
git clone https://github.com/wang606/WmaskEX.git
cd WmaskEX
mkdir build && cd build
cmake ..
cmake --build . --config Release⭐ Star this project if you find it useful! ⭐






