codeberg LGFae/awww v0.12.0

7 hours ago

Many, many changes, including the name change from swww to awww.

We have rewritten a lot of stuff to make it even more memory efficient and performant! Check out my blog if you are interested in the details! awww should disappear into the background in terms of resource usage!

Project renaming

All references to swww have now been changed to awww (with some help from ExploHash). Apologies for the extra work to the package maintainers!

BREAKING

  • We've changed the place we store the cache from $XDG_CACHE_HOME/awww to
    $XDG_CACHE_HOME/awww/$PKG_VERSION. This means the first time you use the
    new version it won't have anything cached, and you will have to set the
    wallpaper image again.

Enhancements

  • Added a pause feature, by MrNavaStar
  • awww query now supports json printing!
  • --transition-random now also randomizes the angles!
  • we support jxl behind a feature flag (by Askedis)
  • Improved animated images compression and decompression efficiency (with
    an avx512 decompression implementation!)
  • Improved transition efficiency, by using a function with less branching,
    leading to better auto-vectorization
  • Resize method is now also stored in the cache
  • Optimized many structs memory layouts (too many -- and too technical -- to
    list here)
  • The common crate now also uses log for warnings (it was doing manual
    prints before, which looked ugly and was inconsistent)
  • ryincler improved documentation by replacing single-ticks with bold blocks
    and removing useless bold blocks
  • delete all multi-threading from the daemon. Finally, there can be no more
    run conditions!
  • manual logging implementation for extra nice messages and efficiency
  • common crate is now no-std, using only rustix for interacting with the
    operating system.
  • daemon crate is almost no-std. The only blocker is the fact that would
    force users to have a nightly rust toolchain to build it. Making it no-std
    has improved many things in terms of efficiency and memory footprint.

Fixes

  • Adjusted multi monitor example script, by Felix Baum
  • Fixed ghosting when transition-step is too high
  • Fixed some documentation
  • Fixed animation frames using the wrong resize strategy
  • awww-daemon --help had the wrong indentation
  • Ryan Bruntz fixed the awww query --all documentation
  • viri has helped fixing some links in the Readme

Internal

  • updated to rust edition 2024
  • deleted compression benchmark (it was terrible, unreliable and misleading)
  • tried many, many times to fix the codeberg CI, and still failed T_T

Unmentioned contributors

These are people who contributed to this release even if not mentioned above, mostly because their stuff was either too internal to be relevant for users, or that it was superseded by the large rewrite I did later. Their help is still very much appreciated!

  • Arthur Heymans
  • nyxmeowmeow
  • wilhelmines

Don't miss a new awww release

NewReleases is sending notifications on new releases.