A GNOME Shell extension that sets different wallpapers for different workspaces. Perfect for visually distinguishing between your workspaces on GNOME Shell (works on Wayland).
- Per-workspace wallpapers: Configure up to 4 unique wallpapers
- Smart fallback: Workspaces beyond the 4th automatically use the first workspace's wallpaper
- Instant switching: Wallpaper changes only when you switch workspaces (not based on window visibility)
- Clean UI: Simple settings dialog with image preview
- Supports GNOME 45-49
- Workspace 1: Uses
workspace-1-wallpaper - Workspace 2: Uses
workspace-2-wallpaper - Workspace 3: Uses
workspace-3-wallpaper - Workspace 4: Uses
workspace-4-wallpaper - Workspaces 5+: Uses
workspace-1-wallpaper(first workspace wallpaper as fallback)
The wallpaper changes only when you switch between workspaces, providing a consistent visual experience.
- GNOME Shell 45+
- Fedora 43 Wayland GNOME (tested)
- Standard GNOME libs (Gio, Gtk, Adw, Meta)
-
Create the extensions directory:
mkdir -p ~/.local/share/gnome-shell/extensions/workspace-wallpaper@rohithmahesh3 -
Copy all files to the extension directory:
cp -r /home/rohithmahesh/Dev/2wallpapers/* ~/.local/share/gnome-shell/extensions/workspace-wallpaper@rohithmahesh3/
-
Compile schemas:
glib-compile-schemas ~/.local/share/gnome-shell/extensions/workspace-wallpaper@rohithmahesh3/schemas/ -
Restart GNOME Shell:
- On Wayland: Log out and log back in
- On X11: Press
Alt+F2, typer, and press Enter
-
Enable the extension:
gnome-extensions enable workspace-wallpaper@rohithmahesh3Or use the GNOME Extensions app to enable it.
- Open the Extensions app
- Find Workspace Wallpaper extension
- Click the Settings (gear) icon
- Select a wallpaper for each of the 4 workspaces
- Switch between workspaces to see the wallpaper change
Make sure the extension is in the correct directory:
ls ~/.local/share/gnome-shell/extensions/workspace-wallpaper@rohithmahesh3/You should see: extension.js, metadata.json, prefs.js, schemas/, etc.
If the extension doesn't appear after installation:
dbus-send --session --dest=org.gnome.Shell --type=method_call /org/gnome/Shell org.gnome.Shell.Extensions.ReloadExtensionsThen restart GNOME Shell.
Forked from 2wallpapers by @dudumaroja.
Modified to support per-workspace wallpapers instead of window-based wallpaper switching.
- Original extension: @dudumaroja
- Modified by: @rohithmahesh3