Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.

Releases: LGFae/swww

v0.11.2

20 Sep 13:49
a286480

Choose a tag to compare

Fixes

  • Fixed building on some systems where c_char does not correspond to i8. This was a waybackend bug, so it can be fixed my merely bumpting our dependencies over here.

V0.11.1

20 Sep 01:12
823199c

Choose a tag to compare

Fixes

  • Fixed a big issue when animating wallpapers that was leading to ghosting. Basically, we were still assuming the fourth channel was irrelevant, despite the fact we moved from xrgb to argb. And so the previous frames would blend into the current ones.

v0.11.0

09 Sep 15:57
105302a

Choose a tag to compare

BREAKING

  • IMPORTANT: --format xrgb is no longer supported. Use --format argb instead. However, this is now the default, so, if you want, you can simply not set anything instead. We still accept --format xrgb so as to not break any configurations. Previously, the daemon automatically would check to see which wayland_shm format was the most convenient for us to use. However, many people have had weird bugs when using any format other than xrgb. Therefore, we have made that the default, and only change it when the user specifically asks for it.
  • swww query now returns information in the following format:
    <namespace>: OUTPUT: SIZE, scale: SCALE, currently displaying: IMAGE_OR_COLOR
  • we are creating the socket in a slightly different location now:
    ${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}-swww-daemon.<specified namespace>.socket

Additions

  • every command (except clear-cache) now accepts a -n|--namespace argument. This namespace will then be appended to swww-daemon to make up the wayland namespace of the daemon's layer surface.
  • as a convenience, every command (except clear-cache) also accepts a -a|--all flag, that lets the user send commands to all namespaces at once.
  • support avif decoding through dav1d, with the --features=avif compilation option.
  • we finally support static SVGs!
  • swww-daemon now correctly renders static images with transparency.
  • swww clear now accepts colors with an alpha value.

Fixes

  • Fixed a division by 0 when animating with no frames
  • Fixed destroying wayland buffers too early
  • Better fractional-scale implementation (we shamelessly tried copying the swaybg implementation). This will hopefully prevent newer issues with hyprland.

v0.10.3

09 Jun 16:59

Choose a tag to compare

0.10.3

@shumvgolove fixed a very dumb mistake I made when detecting the output
current mode. This could potentially break a few setups, so I am releasing it
now in a minor release. Apologies for the inconvenience.

v0.10.2

06 Jun 15:57
7ceddc0

Choose a tag to compare

0.10.2

Another small update with very important bug fixes.

Fixes

  • We prioritize fractional-scale events over preferred-buffer-scale ones. This should fix many of our long-standing issues with fractional scaling. Thanks a lot to @AryanRarestand who hard-coded a solution that led me to find the problem.
  • do not accept wl_output modes that not current, as they are considered deprecated by the protocol.
  • No longer spaming standard output with warnings that we are ignoring preferred-buffer-transform events.

v0.10.1

30 May 14:17
ede6815

Choose a tag to compare

0.10.1

A small update with important bug fixes.

Fixes

  • Make swww work on systems where c_long is is not mapped to i64, by @triallax
  • Fix fractional scaling, by @cyuria
  • @nullcubee and @iynaix helped me understand and fix the nix build (thanks, guys)

Improvements

  • using tiny-bench instead of criterion reduces our dependencies in debug builds

v0.10.0

25 May 17:46
98ace05

Choose a tag to compare

0.10.0

Okay, this one's a doozy.

Breaking

To build swww, you now need to make sure the wayland protocol .xml files can be found on your system through pkg-config. I couldn't get that to work in CI for nix-os, which is why build.nix has been deleted.

swww init, previously deprecated, has been properly deleted now. The correct way of initializing the daemon is calling swww-daemon directly.

Other than these, everything should be working the same as before.

Additions

  • new --layer option for swww-daemon
  • new --resize stretch option, by @rexept
  • cache now stores the image filter, by @kerty0
  • we can now read images from stanard input, by @iynaix
  • new swww_randomize_multi.sh example script, by @cplir-c

Fixes

Note: because there were many changes between the previous version and this
one, some of these things may resurface as problems. Unfortunately, many of
these issues I either cannot reproduce in my system, or the whole application
has changed so much that testing them in isolation would be challenging.

  • fixed output transforms
  • animation timings could be slightly off
  • examples scripts are more POSIX-friendly, by @fawn
  • fixed memory leak and halted animation when connecting/disconnecting
    monitor, by @kerty0
  • some stuff wasn't working when files were behind symlinks, fixed by @mendess
  • fixed connecting to Wayland via WAYLAND_SOCKET, by @mstoeckl

Improvements

  • reimplemented the communication from the client and the daemon from scratch,
    allowing for much more efficient data transfer
  • the above was then made type-safe by @rkuklik
  • using a custom log implementation that looks much nicer
  • rewrote the transitions code to be more SIMD friendly -- will improve
    animation stuttering in some systems. Furthermore, and more importantly,
    the animations are now fast enough that we no longer need rayon as a
    dependency.
  • more generaly, we have completed nuked the multi-threaded code.
    swww-daemon now only spawns a single thread, letting us get rid of every
    Arc wrapper, and other annoying, fragile, synchronization code.
  • we are using rustix instead of the std as much as possible, for lower
    syscall overhead
  • remove dependency on spin-sleep
  • flake-lock by @JohnRTitor
  • waybackend based implementation -- this is much more lightweight than
    wayland-rs, and lets us make the daemon very resource efficient.
  • can now use hexcodes instead of image path, which we detect automatically,
    by @flick0

Other contributions

Note there have also been other contributions that were rendered obsolete in the
meantime, since so much has changed from the last released version (in fact, the
last release was roughly a whole year ago!). The daemon codebase itself has gone
through 3 very large refactors, and now I am finally mostly satisfied with how
it looks. Unfortunately, this does mean some things will inevitably break. I
apologize in advance for any inconveniences.

On the other hand, I believe the rewrite has fixed some old-standing bugs we
have. Though those will have to be tested again on systems that can actually
reproduce them reliably.

I also apologize if I forgot to mention anything/anyone in the above summary. If
I missed your contribution, please feel free to open a PR adding it.

v0.9.5

02 May 23:56
3ee69e3

Choose a tag to compare

This is mostly just fixes and small improvements.

Fixes

  • fixed wallpaper never setting configured to 'true'
  • fixed fractional scaling rounding incorrectly
  • fixed scaling for vertical monitors (thanks, @AhJi26)
  • fixed the annoying black screen on login issue (finally)

Additions

Internal improvements

  • specialized transition for --transition-type none (previously it was an alias
    to simple with special values)
  • remove an extra call to thread::sleep when loading the cache
  • no longer using an event_fd to wake up the main thread

v0.9.4

17 Apr 00:05
4bcb979

Choose a tag to compare

Fractional Scaling is finally implemented! Woooo!!

That also fixes a nasty problem some people were having with fractionally scaled outputs.

Apologies for spamming small releases like these in short order. Hopefully this will be the last one for a while.

v0.9.3

14 Apr 15:43
132bde3

Choose a tag to compare

Quick release to fix a scaling error that might affect a lot of people.

Fixes

  • fix wrong scale calculation

Internal Improvements

  • deleted leftover /proc traversal code in the client
  • no longer setting nonblocking mode for daemon socket, since we are already polling it
  • better IPC structs between client and daemon

EDIT:

REGRESSIONS

Note this release has a regression where fractional scaling does not work properly: #279. I am working on implementing the fractional scaling protocol to fix it.