Super simple wallpaper application for Wayland compositors implementing the layer-shell protocol
Go to file
Leonardo Hernández 5fbfd76293
jxl: do alpha pre-multiplication manually
some images does not render correctly if we rely in libjxl doing the
pre-multiplication
2024-06-15 11:53:41 -06:00
3rd-party/nanosvg nanosvg: update to 93ce879dc4c04a3ef1758428ec80083c38610b1f 2024-04-27 09:46:59 +02:00
external wlr-layer-shell: bump 2021-06-27 10:52:58 +02:00
.gitignore Initial commit 2020-08-01 15:32:48 +02:00
CHANGELOG.md changelog: move ref to the section where it's referenced 2024-06-12 20:14:07 +02:00
generate-version.sh generate-version.sh: fuzzel -> wbg (oops!) 2022-10-24 16:44:08 +02:00
jpg.c use LOG_DBG if the verification of the format failed 2024-06-11 14:21:42 -06:00
jpg.h main: open file once, in main, and log an error when we fail 2020-10-01 20:03:23 +02:00
jxl.c jxl: do alpha pre-multiplication manually 2024-06-15 11:53:41 -06:00
jxl.h jxl: add initial support for JPEG XL using libjxl 2024-06-12 20:13:43 +02:00
LICENSE license: fix year 2020-08-01 15:34:26 +02:00
log.c Initial commit 2020-08-01 15:32:48 +02:00
log.h Initial commit 2020-08-01 15:32:48 +02:00
main.c jxl: add initial support for JPEG XL using libjxl 2024-06-12 20:13:43 +02:00
meson.build jxl: add initial support for JPEG XL using libjxl 2024-06-12 20:13:43 +02:00
meson_options.txt jxl: add initial support for JPEG XL using libjxl 2024-06-12 20:13:43 +02:00
nanosvg.c svg: initial support for SVG images, using nanosvg 2023-12-15 23:06:16 -06:00
nanosvgrast.c svg: initial support for SVG images, using nanosvg 2023-12-15 23:06:16 -06:00
PKGBUILD pkgbuild: add libjxl as dependency 2024-06-12 20:18:50 +02:00
png-wbg.h main: open file once, in main, and log an error when we fail 2020-10-01 20:03:23 +02:00
png.c use LOG_DBG if the verification of the format failed 2024-06-11 14:21:42 -06:00
README.md jxl: add initial support for JPEG XL using libjxl 2024-06-12 20:13:43 +02:00
shm.c shm: MFD_NOEXEC_SEAL is not defined by musl libc 2024-04-30 08:47:19 +02:00
shm.h shm: don’t cache buffers 2020-10-06 20:05:44 +02:00
stride.h Initial commit 2020-08-01 15:32:48 +02:00
svg.c use LOG_DBG if the verification of the format failed 2024-06-11 14:21:42 -06:00
svg.h svg: initial support for SVG images, using nanosvg 2023-12-15 23:06:16 -06:00
webp.c webp: do alpha pre-multiplication 2024-06-14 14:14:34 -06:00
webp.h webp: intial support for WebP images, using libwebp 2022-10-04 22:28:29 -05:00

Wbg

Super simple wallpaper application for Wayland compositors implementing the layer-shell protocol.

Wbg takes a single command line argument: a path to an image file. This image is displayed scaled-to-fit on all monitors.

More display options, and/or the ability to set a per-monitor wallpaper may be added in the future.

Packaging status

Requirements

Runtime

  • pixman
  • wayland (client and cursor libraries)
  • libpng (optional)
  • libjpeg (optional)
  • libwebp (optional)
  • libjxl (optional)
  • libjxl_threads (optional)

Note that if SVG support is disabled at least one of libpng, libjpeg, libwebp and libjxl is required.

libjxl_threads is recommended for better performance decoding JPEG XL images

Compile time

  • Development packages for all the libraries listed under runtime.
  • wayland-protocols
  • tllist

Building

meson --buildtype=release build
ninja -C build
sudo ninja -C build install

By default, PNG, JPEG, JPEG XL and WebP support is auto-detected. You can force disable/enable them with the meson command line options -Dpng=disabled|enabled, -Djpeg=disabled|enabled and -Dwebp=disabled|enabled -Djxl=disabled|enabled. SVG support is enabled by default (as it does not require additional dependencies). You can disable it with the meson command line option -Dsvg=false

Derivative work

License

Wbg is released under the MIT license.

Wbg (optionally) uses nanosvg, released under the Zlib license.