Backtestground Explained

The following walk-through will explain the idea behind and the use of the 4 command line tools from the Backtestground collection.

Background Contexts

An image that may contain panels, docks, icons and windows, all on a transparent background in place of a wallpaper, is what I call a background context. These can be used to layer them on top of wallpapers, to evaluate wallpapers in another context than your current environment.


Create the setup you want regarding what is and isn’t visible on the screen.

Change the background to white. On Ubuntu/GNOME, you can just right-click any empty dektop space and choose Change Desktop Background. Doing so on another workspace allows you to keep the Appearance Preferences window open while maintaining the desired setup on the initial workspace.

Take a screenshot, name it on_white.png. For this guide, lets say you save it in bg_test in your home directory.

Change the background to black, make another screenshot, call it on_black.png.

Edit both screenshots to remove differences such as the mouse pointer (remove it entirely or make sure it’s in the same position) and the time of day (copy that part of the panel from one image to the other).

Open a terminal (Applications: Accessories: Terminal) and enter:
cd bg_test
extract-background-context on_white.png on_black.png

The result will be called context.png.

Context in several resolutions

But what if you need to combine the context with wallpapers in other resolutions?
context-to-common-resolutions context.png

the results will be saved in a new directory context_resolutions. On Ubuntu/GNOME, you can have a quick look with
eog context_resolutions/
and use the arrow keys to move through the images.

Wallpaper in several resolutions

Have a wallpaper and need it in other resolutions, scaled and cropped to the varying aspect ratios?
to-common-resolutions background.png

Results will be saved in a new directory background_resolutions.

This way you can simulate the outcome of the Style: Zoom setting in Appearance Preferences, Background tab on systems running at one of the resolutions (though the interpolation and thus the image quality might be different).


Now we have all those separate context and wallpaper images in several resolution, but need them layered:
combine-per-resolution background_resolutions/ context_resolutions/

Results will be saved in a new directory background_resolutions_under_context_resolutions.


to-common-resolutions and context-to-common-resolutions use the same configuration file: ~/.config/backtestground_resolutions (or ~/.backtestground_resolutions, if there’s no .config directory. Executing one of them will create the file if necessary, filled with a list of the 14 default resolutions. Resolutions are specified in width, height order. Formatting doesn’t matter and all text will be ignored.

About thorwil
I'm a designer from Germany. My main interests are visual and interaction design, free/open-source software and (electronic) music.

Comments are closed.