Releases: LGFae/swww
v0.11.2
V0.11.1
v0.11.0
BREAKING
- IMPORTANT:
--format xrgbis no longer supported. Use--format argbinstead. However, this is now the default, so, if you want, you can simply not set anything instead. We still accept--format xrgbso as to not break any configurations. Previously, the daemon automatically would check to see whichwayland_shmformat was the most convenient for us to use. However, many people have had weird bugs when using any format other thanxrgb. Therefore, we have made that the default, and only change it when the user specifically asks for it. swww querynow 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|--namespaceargument. This namespace will then be appended toswww-daemonto make up the wayland namespace of the daemon's layer surface. - as a convenience, every command (except
clear-cache) also accepts a-a|--allflag, that lets the user send commands to all namespaces at once. - support
avifdecoding throughdav1d, with the--features=avifcompilation option. - we finally support static
SVGs! swww-daemonnow correctly renders static images with transparency.swww clearnow 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
swaybgimplementation). This will hopefully prevent newer issues withhyprland.
v0.10.3
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
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_outputmodes that not current, as they are considered deprecated by the protocol. - No longer spaming standard output with warnings that we are ignoring
preferred-buffer-transformevents.
v0.10.1
0.10.1
A small update with important bug fixes.
Fixes
- Make
swwwwork on systems wherec_longis is not mapped toi64, by @triallax - Fix fractional scaling, by @cyuria
- @nullcubee and @iynaix helped me understand and fix the nix build (thanks, guys)
Improvements
- using
tiny-benchinstead ofcriterionreduces our dependencies indebugbuilds
v0.10.0
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
--layeroption forswww-daemon - new
--resize stretchoption, by @rexept - cache now stores the image filter, by @kerty0
- we can now read images from stanard input, by @iynaix
- new
swww_randomize_multi.shexample 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 needrayonas a
dependency. - more generaly, we have completed nuked the multi-threaded code.
swww-daemonnow only spawns a single thread, letting us get rid of every
Arcwrapper, and other annoying, fragile, synchronization code. - we are using
rustixinstead of thestdas much as possible, for lower
syscall overhead - remove dependency on
spin-sleep flake-lockby @JohnRTitorwaybackendbased 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
- fixes to some internal documentation by @JaKooLit, @Axlefublr, @filip-rs,
@rexept, @Not-Glunk - @rkuklik did a big refactor on the project's overall organization
- BREAKING CHANGE: dropped the
initsubcommand for the client, by
@WhyNotHugo
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
This is mostly just fixes and small improvements.
Fixes
- fixed wallpaper never setting
configuredto 'true' - fixed fractional scaling rounding incorrectly
- fixed scaling for vertical monitors (thanks, @AhJi26)
- fixed the annoying black screen on login issue (finally)
Additions
- add --no-cache option to
swww-daemon, by @lucasreis1
Internal improvements
- specialized transition for
--transition-type none(previously it was an alias
tosimplewith special values) - remove an extra call to
thread::sleepwhen loading the cache - no longer using an
event_fdto wake up the main thread
v0.9.4
v0.9.3
Quick release to fix a scaling error that might affect a lot of people.
Fixes
- fix wrong scale calculation
Internal Improvements
- deleted leftover
/proctraversal 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.