Skip to content

Wallpapers and WallpaperSelector

gh0stzk edited this page Jul 31, 2025 · 3 revisions

WallSelect Script Overview

wallselector

The WallSelect script provides a visual preview of selectable wallpapers located in each theme’s walls directory. Every one of the 18 themes contains its own wallpaper folder at: ~/.config/bspwm/rices/**THEME**/walls, allowing each theme to include wallpapers tailored to its color scheme and aesthetic.

What makes this tool especially convenient is its automation. The first time you run WallSelect within a specific theme, it generates thumbnails for all images in that theme’s walls folder.

Important

The initial execution of the script in a theme might take 2–5 seconds, as it generates thumbnails for all wallpapers. After that, subsequent executions are instant.

Why thumbnails?

To ensure lightweight and consistent performance when rendering the selection menu. Since wallpapers can be large files (often exceeding 10MB) and come in various aspect ratios, displaying full-sized images would be inefficient and visually inconsistent.

You can freely add, delete, or rename images within a theme’s walls directory. The script automatically reflects these changes. This is possible because alongside each thumbnail, an .md5 checksum file is created and used for cache validation. If the image changes (even if it keeps the same filename), the script detects it via the checksum and regenerates the corresponding thumbnail to keep the preview up to date.

In summary: To update the wallpapers for a specific theme, simply modify the contents of: ~/.config/bspwm/rices/THEME/walls Changes will be detected and applied automatically.

Change Wallpaper engine

You can choose one of the 5 options that exist to set your wallpaper.

  • Theme: Will load a random image from the ~/.config/bspwm/rices/**THEME**/walls directory. There you can add or delete the images you want as you wish.

  • CustomDir: Same as the Theme option but you can choose the directory from which the image will be loaded at random.

  • CustomImage: You can select an image and it will not change even if you restart, whenever you return to that theme, that image will prevail.

  • AnimatedWall: You can choose a video or gif to set as wallpaper. There are only three file types that you can select for this action (mp4, mkv, gif)

  • Slideshow: Changes the wallpaper every 15 minutes with a random image from the theme’s walls directory.

Supported file types for not animated walls include almost all, jpeg, png, webp, tiff, bmp.

The wallpapers are in webp format because I don't want the repository to be too heavy. I Added the packages libwebp and webp-pixbuf-loader to the dependencies in order for your file browser (in my case thunar) to be able to display the thumbnails. However, you can add more wallpapers in the format you want "jpg, png etc..."

Change wallpaper engine

There are 2 ways to do it.

Manually by editing the file ~/.config/bspwm/rices/theme you are in/theme-config.bash change the ENGINE variable for one of the 5 options, and if necessary, write the path to the desired directory or image in the respective variables.

Shot-2024-12-12-081333

Or you can use my RiceEditor app to change it and apply on the fly your changes.

Shot-2024-12-12-075313

If you do it manually you will have to restart bspwm with super + alt + r or change the theme and return to the same theme again.

The changes are per theme, in each theme, you can have a different engine. That is, in one theme you can have an image without it changing, in another theme you can have an animated wallpaper, in another you can have a random image from the directory that you decide, etc..

Animated wallpapers You can choose to set your animated wallpaper between 3 different types of files, mp4, mkv and gif.

I added some animated wallpapers in the folder ~/.config/bspwm/src/assets/ in mp4 format and with a size of 1600x900

Clone this wiki locally