<ahref="https://liberapay.com/spacesnek/donate"><imgalt="Donate using Liberapay"src="https://liberapay.com/assets/widgets/donate.svg"></a>
A wayland wallpaper tool with support for Gnome dynamic wallpapers.
The main motivation behind `enkei` is to display dynamic wallpapers compatible with the
Gnome wallpaper specification.
`enkei` is a wallpaper tool created to allow displaying dynamic wallpapers based on the specification format used for example in the `Gnome` desktop environment.
It is designed to offer a _smooth_ transition between wallpapers and gradual change over long and short periods of time.
For a fast handling `enkei` uses `OpenGL` to render images and blending them for transitions.
<videowidth="100%"controlsmutedloopalt="A video showing a sped up desktop with enkei running.">
Writing a wallpaper tool is nothing new so there are other projects which are similar.
There are already solutions for [animating GIFs](https://github.com/vilhalmer/oguri), [videos](https://github.com/GhostNaN/mpvpaper), [timed](https://github.com/xyproto/wallutils), and [static](https://github.com/swaywm/swaybg) wallpapers in Wayland.
But the use cases were quite different from what I wanted or I wasn't happy with their handling of animations, so I started writing `enkei`.
<videowidth="100%"controlsmutedloopalt="A video showing enkei running on my laptop.">
- [X] Show Static Image
- [X] Show Static Wallpapers
- [X] Show Dynamic Wallpapers
- [X] Set Different Scaling Modes
- [X] Set Wallpaper Filter Algorithm
- [X] Most common image formats supported (PNG, JPG, TIF,...)
- [x] Scale images to fill and fit
- [X] Filter images after scaling to improve visuals
- [X] Support most common image formats (PNG, JPEG, WEBP, BMP,...)
> Under the hood we use [image](https://crates.io/crates/image) which provides the most common image types, have a look on their documentation
> Under the hood we use [image](https://crates.io/crates/image) and [webp](https://github.com/jaredforth/webp) which provide the most common image types.
## Compositor Requirements
This tool can generally be used with all compositor implementing the core protocols and the following protocols: