Skip to content

Release v0.2.7

Choose a tag to compare

@programmersd21 programmersd21 released this 05 Aug 14:28
· 43 commits to main since this release

Bug Fixes

Restore Command

  • Fixed tracking - now properly updated after successful wallpaper changes
  • Added path validation before restoration attempts
  • Proper error handling and detailed per-output error messages
  • Fixes #10

GIF Pause/Resume Support

  • GIF playback now respects pause/resume commands
  • Timeline position preserved when paused via accumulated pause time tracking
  • Pause/resume now affects both video and GIF playback equally
  • Fixes #8

Seek All-Monitor Support

  • wallr ipc seek without --monitor now applies to all connected outputs
  • Per-output success/error reporting with detailed error messages
  • No longer arbitrarily selects first output from unordered map
  • Fixes #8

Hardware Acceleration Fallback

  • Introduced HwAccel::Auto variant for proper auto-detection
  • Auto mode: tries all hardware backends (NVDEC → VAAPI → VideoToolbox) before software fallback
  • Explicit backend: tries requested backend, then falls back to software
  • Software mode: uses software-only decoding without hardware attempts
  • Active decoder backend reported immediately after initialization (not just on exit)
  • Fixes #4

Technical Changes

  • Added gif_paused: Arc<AtomicBool> to RenderState for GIF pause state tracking
  • Refactored build_decoder() with correct fallback semantics
  • hw_in_use now set immediately in decode_loop after successful decoder initialization
  • Seek command iterates all outputs with proper error aggregation

Documentation

  • Updated CHANGELOG.md
  • Updated docs/video-wallpaper.md with corrected hardware acceleration behavior
  • Updated docs/cli-reference.md with pause/resume/seek/blank/restore details
  • Updated docs/architecture.md with video/GIF playback implementation details

Installation

cargo install wallr

Or from source:

git clone https://github.com/programmersd21/wallr.git
cd wallr
git checkout v0.2.7
cargo install --path wallr