An app to set the device's wallpaper from daily images sources like Bing and Nasa. This is a free app with no ads using Flutter on the frontend and Rust on the backend.
This app aims to support
- Linux
- Windows
- Android
- MacOS
Platforms in the above list with a checkmark have been tested. This app can build/compile for Android, but it does not run correctly (possibly a TLS certificate problem). I need a MacOS user(s) to test the MacOS builds. IOS does not allow programmatically setting the device's wallpaper.
This was only tested on Ubuntu 24.04 with GNOME desktop. Theoretically it should work on other Linux desktops as well. See the supported list of desktop environments in my fork of wallpaper.rs.
On windows, this app seems to have trouble setting the wallpaper for virtual desktops. Technically, this app should set the wallpaper for all monitors' desktops, but this has not been tested (yet).
To build this app, you need to have installed
-
cargo install rinf
Rinf can also be installed with cargo-binstall.
Once the prerequisites are installed, use these commands to run the app:
git clone --recurse-submodules https://github.com/2bndy5/daily-wallpaper-images.git
cd daily-wallpaper-images
rinf message
flutter run
Messages sent between Dart and Rust are implemented using Protobuf.
If you have newly cloned the project repository
or made changes to the .proto
files in the ./messages
directory,
run the following command:
rinf message
This will generate dart code in ./lib/messages/
directory, and the
corresponding rust generated code is in ./native/hub/src/messages
.
Now you can run and build this app just like any other Flutter projects.
flutter run
For detailed instructions on writing Rust and Flutter together, please refer to Rinf's documentation.