Skip to main content

Crate wallopino

Crate wallopino 

Source
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§

functions

Structs§

AttachWindow
EventForwarder
Configures and manages event capture for a target window.
ForwardingController
Controls the state of an active event forwarding session.

Enums§

Events
Input events that can be captured and forwarded to a target window.