- Multi monitor support.
- Four different types of playlists (Time of day, daily,interval based or static).
- Easy configuration of all swww options.
- Tray controls.
- CLI Support.
- All of swww features such as wallpaper change animations and wallpaper persistance through reboots.
- Filter images by format, resolution,name,etc.
- Run scripts on image set.
2024-05-06.22-11-19.1.mp4
I started this project for two main reasons, one as a learning oportunity, and two because the available options for a tool like this didn't suit my needs fully. I really like swww but it lacks a lot of the features that I missed from wallpaper engine in windows, so this is my attempt to bridge that gap a little.
Simply install from the aur like so:
yay -S waypaper-engine
or
yay -S waypaper-engine-git
Both the normal and -git version conflict with each other, so make sure to delete the other with yay -Rns package_name package_name-debug
before installing either.
Be advised you will need to run some of the commands with sudo privileges as you will be copying files to protected paths.
- Clone this repo
git clone git@github.com:0bCdian/Waypaper-Engine.git
or download and extract the zip file - cd into Waypaper-Engine
- run
npm run build
- cd into release
cd release
- Optional: if you want to change the tray icon, change the 512x512.png image inside linux-unpacked/resources/icons
- Optional: copy the 512x512.png file to the icons system directory
cp linux-unpacked/resources/icons/512x512.png /usr/share/icons/hicolor/512x512/apps/waypaper-engine.png
- copy the whole directory to it's final destination
sudo cp ./linux-unpacked -rt /opt/waypaper-engine
- go back to root dir
cd ..
- cd into cli
cd cli
- copy waypaper-engine file to your $PATH or /usr/bin
sudo cp ./waypaper-engine /usr/bin
orcp ./waypaper/engine $HOME/.local/bin
be advised, if you do not copy the cli file to /usr/bin, the path you're copying it into must be in your $PATH, read this for more info - go back to root
cd ..
- copy the .desktop file to /usr/share/applications
sudo cp ./waypaper-engine.desktop /usr/share/applications/
and you're done!
Simply start the app and add wallpapers to the gallery, from there you can double click to set the wallpapers or right click for more options, to create playlists simply click on the checkboxes that appear when hover over the images, and configure it, and then save it to auto start it.
Add to your hyprland.conf the following lines:
exec-once=waypaper-engine daemon
Warning
Make sure the script in question has execution permissions by using chmod +x scriptname.sh
Put you bash scripts in this path:
$HOME/.waypaper_engine/scripts
The scripts are always passsed as an argument the path of the image being set, so you can do stuff like this:
2024-05-06.22-22-49.mp4
- Add testing.
- Have a ci/cd pipeline.
- Implement a logger for errors.
- Publish in the aur.
- Find a good icon/logo for the app (Thank you Cristian Avendaño!).
- Add flatpak support.
- Add scripts feature.
- Add playlists per monitor.
If you encounter any problems or would like to make a suggestion, please feel free to open an issue.
LGFae - for the amazing little tool that swww is ! ❤️
Simon Ser - for wlr-randr, without it making this work across different wayland wm's would've been a nightmare 🥲
Cristian Avendaño - for creating the amazing logo! 💪