Expand description
Wallpaper engine library with Windows implementation.
This library provides platform-agnostic APIs for managing desktop wallpapers, with full Windows support for attaching windows to the desktop, monitor enumeration, occlusion detection, and input handling.
§Features
- Desktop wallpaper attachment via Windows window hierarchy
- Multi-monitor support with coordinate normalization
- Fullscreen occlusion detection with configurable thresholds
- System state detection (lock screen, UAC, secure desktop)
- Mouse and Keyboard events tracking
- Automatic Windows version adaptation (24H2+ vs pre-24H2)
- Watchdog to detect wallpaper z-order changes and fix that
§Quick Example
use wallopino::windows::WindowsPlatform;
let mut platform = WindowsPlatform::auto_attach(hwnd)?;
loop {
platform.update_mouse_state();
if platform.is_mouse_button_pressed(0) {
println!("Wallpaper clicked!");
}
}§Platform Support
- ✅ Windows 10
- ✅ Windows 11
- ⚠️ Windows 8/8.1 (limited DWM features)
§Safety
This crate contains unsafe code for Windows API calls. Callers must ensure
valid handles and appropriate permissions.
Modules§
Structs§
- Attach
Window - Event
Forwarder - Configures and manages event capture for a target window.
- Forwarding
Controller - Controls the state of an active event forwarding session.
Enums§
- Events
- Input events that can be captured and forwarded to a target window.