GUI for the Almamu/linux-wallpaperengine.
Now has a pluggable addon wallpaper_not-engine_linux. In short - will allow to run regular media files as wallpapers in full compatibility with regular wallpapers on x11 and Wayland too, just like in Wallpaper Engine (this feature is experemental due to lack of testing in different conditions/setups, you can help with this, when you find any issue related to this addon, just submit it to issues)
- No need to transfer your pictures or videos to a separate folder, binding occurs via symlinks.
- The interface does not change much, allowing to use both types of wallpapers.
- Mostly automated first setup.
- Can get information about wallpaper based on workshop id using Steam API and store it. You need to get API key for that any domain name will do.
- Support QT Themes for KDE users.
- Somewhat usable in terms of design (but now even better).
- Restore previous state on restart.
- Global settings
- Has playlist support
- Multimonitor mode
- Has support for changing wallpaper properties that are specified in project.json with the ability to save them between launches and roll back to the default state (realy depends on linux-wallpaperengine since it wont support every wallpaper as of now, and some wallpapers won't react to any change at all since they use advnaced WE specific features that are not implemented currently)
- Has support for individual settings (settings specific to linux-wallpaperengine) for running wallpapers
- Has support for working in the system tray
Almamu/linux-wallpaperengine You need binary (~/build/output/linux-wallpaperengine) compiled. Go to link above for the instructions. And make sure you are using the correct DE and composer and installed all dependencies from his instruction.
# Install development tools
sudo dnf groupinstall "Development Tools"
sudo dnf install cmake gcc-c++
# Install Qt6 dependencies
sudo dnf install qt6-qtbase-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel# Install development tools
sudo apt install build-essential cmake
# Install Qt6 dependencies
sudo apt install qt6-base-dev qt6-webengine-dev qt6-multimedia-dev# Install development tools
sudo pacman -S base-devel cmake
# Install Qt6 dependencies
sudo pacman -S qt6-base qt6-webengine qt6-multimediagit clone https://github.com/MikiDevLog/wallpaperengine-gui.git
cd wallpaperengine-gui
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install # But only you want it to be visible in yours app manager.- Run
wallpaperengine-gui - Configure path in Settings if not auto-detected
- Browse and select wallpapers from your collection
- Enjoy
F5- Refresh wallpaper collectionCtrl+,- Open SettingsCtrl+Q- Quit application
Configuration files are stored in /home/<user>/.config/wallpaperengine-gui/:
config.ini- Main application settingswallpapers.cache- Wallpaper metadata cache
- Qt6 Base (Core, Widgets, GUI)
- Qt6 Concurrent
- Qt6 Network
- Steam
- Copy of Wallpaper Engine installed
- Wallpapers downloaded from workshop
- Compiled linux-wallpaperengine
Contributions are welcome.
This project is licensed under the MIT License - see the LICENSE file for details. TL:DR Do what you want.
- Big fat W for this guy Almamu/linux-wallpaperengine
- Inspired by the original Wallpaper Engine for Windows
# Ensure Qt6 is installed and CMake can find it
export Qt6_DIR=/usr/lib64/cmake/Qt6
# or
export CMAKE_PREFIX_PATH=/usr/lib64/cmake/Qt6# Check for missing development packages
sudo dnf install qt6-qtbase-private-devel qt6-qtwebengine-private-devel# Check dependencies
ldd build/wallpaperengine-gui
# Run with debug output
QT_LOGGING_RULES="*=true" ./wallpaperengine-gui
# Run with --debug flag from terminal
./wallpaperengine-gui --debug
wallpaperengine-gui --debugsrc/
├── main.cpp # Application entry point
├── addons/ # For addons
│ └──WNELAddon* # wallpaper_not-engine_linux addon
├── core/ # Core functionality
│ ├── ConfigManager.* # Configuration management
│ └── WallpaperManager.*# Wallpaper management logic
├── steam/ # Steam integration
│ ├── SteamDetector.* # Steam installation detection
│ └── SteamApiManager.* # Steam API integration
├── ui/ # Main UI components
│ ├── MainWindow.* # Main application window
│ ├── SettingsDialog.* # Settings interface
│ └── PropertiesPanel.* # Wallpaper properties panel
├── widgets/ # Custom widgets
│ ├── WallpaperPreview.*# Wallpaper preview widget
│ └── PlaylistPreview.* # Playlist preview widget
└── playlist/ # Playlist functionality
└── WallpaperPlaylist.*# Playlist management logic
- Add multimonitor mode (mainly done, but testing is not fully completed, participants needed)
- Release rpm apt and other packages for the application
- Focus on QoL features if any will be suggested





