Random Wallpapers for Gnome 3 is a gnome-shell extension that fetches a random wallpaper from an online source and sets it as desktop background.
Install and try the extension at extensions.gnome.org.
- Various configurable wallpaper sources
- Multiple sources to create a pool of sources
- History of previous images
- Save your favourite wallpaper
- Add images to a block list
- Set the lock screen background
- Timer based renewal (Auto-Fetching)
- Load a new wallpaper on startup
- Pause the timer when desired
- Support for multiple monitors using third party tools
- Execute a custom command after every new wallpaper
Archives from the release page can be installed and uninstalled using the gnome-extensions command line tool with the commands below.
gnome-extensions install <path-to-archive>
gnome-extensions uninstall randomwallpaper@iflow.space
Installing this way has following advantages:
- Updating the extension using git (
git pull && ./build.sh
) - Switching between versions and branches using git (run
./build.sh
after switching branch).
Requires blueprint-compiler
and npm
at install and update time.
Clone the repository and run ./build.sh && ./install.sh
in the repository folder to make a symbolic link from the extensions folder to the git repository.
This installation will depend on the repository folder, so do not delete the cloned folder.
Then open the command prompt (Alt+F2) end enter r
to restart the gnome session.
In the case you are using Wayland, then no restart should be required.
Now you should be able to activate the extension through the gnome-tweak-tool.
To uninstall the extension, run ./install uninstall
or manually delete the corresponding symbolic link.
Requires blueprint-compiler
and npm
at install and update time.
Clone or download the repository and copy the folder randomwallpaper@iflow.space
in the repository to $XDG_DATA_HOME/gnome-shell/extensions/
(usually $HOME/.local/share/gnome-shell/extensions/
).
Run ./build.sh
inside the repository.
Then open the command prompt (Alt+F2) end enter r
to restart the gnome session.
In the case you are using Wayland, then no restart should be required.
Now, you should be able to activate the extension through the gnome-tweak-tool.
You can follow the output of the extension with ./debug.sh
. Information should be printed using the existing logger class but can also be printed with global.log()
(not recommended).
To debug the prefs.js
use ./debug.sh prefs
.
This can be done with the command:
glib-compile-schemas --targetdir="randomwallpaper@iflow.space/schemas/" "src/schemas"
Requires blueprint-compiler
:
blueprint-compiler batch-compile "src/ui" "randomwallpaper@iflow.space/ui" "src"/ui/*.blp
Requires npm
:
npm install
npx --silent tsc
- Build UI for settings using the blueprint-compiler language in
src/ui/mySource.blp
- see Workbench for a live preview editor. - Create and add a settings layout to the
src/schemas/….gschema.xml
. Also add your source to thetypes
enum. - Create your logic hooking the settings in a
src/ui/mySource.ts
- Add the new source to
src/ui/sourceRow.ts:_getSettingsGroup()
, don't forget the import statement. - Create a adapter to read the settings and fetching the images and additional information in
src/adapter/mySource.ts
by extending theBaseAdapter
. - Add your adapter to
src/wallpaperController.ts:_getRandomAdapter()
, don't forget the import statement.
If you enjoy this extension and want to support the development, then feel free to buy me a coffee. 😉 ☕