Scroll to navigation

ICEWMBG(1) User Commands ICEWMBG(1)


 icewmbg - a background settings manager for the IceWM window manager


icewmbg [OPTIONS]


icewmbg can assign a colour or image to the X11 desktop background. Common image formats are supported. Each icewm(1) work space can have its own background.

When the background image has changed, icewmbg can be notified to update the background. When switching work spaces, it checks the image file modification time. If the file has changed, it reloads the image from file.

icewmbg supports semi-transparency. Semitransparent background images and colours can be configured.

It uses RandR or Xinerama to support backgrounds on all connected monitors. When monitors appear/disappear, or change their resolution, icewmbg will adjust. It supports an option for one large background over all monitors.

It will update the "_ICEWMBG_IMAGE" property of the root window to the path of the background image whenever it changes the desktop background.

icewmbg is started automatically by icewm-session(1).



Where multiple values can be given for images or colours, they are separated by comma's. Each such value may be enclosed in double quotes. If FILE is a directory, all images from that directory are used in sorted order. If the value starts with an exclamation mark, as in !FILE, the images from the directory FILE are permuted randomly. Image file names or directory names may have glob(7) wildcards,

Replace an existing icewmbg. If there is a running icewmbg, it is instructed to quit. The new icewmbg will take over.
Tell the running icewmbg to quit. This option is used by icewm-session(1) when icewm(1) exits.
Tell the running icewmbg to restart itself. This is useful when settings in have changed. If no icewmbg is active, it starts one.
Shuffle the list of background images randomly. This option may be given again whenever the running icewmbg should reshuffle its list of background images.
Load preferences from FILE.
Use the theme named THEME.
Load background images from each FILE. This overrules the "DesktopBackgroundImage" preference. When more than one image is given, they are assigned to each workspace in the given order.
Use background colours from each COLOR. This overrules the "DesktopBackgroundColor" preference.
Load transparency images from each FILE. This overrules the "DesktopTransparencyImage" preference.
Use transparency colours for each NAME. This overrules the "DesktopTransparencyColor" preference.
Disable/Enable centring background. This overrules the "DesktopBackgroundCenter" preference.
Disable/Enable scaling background. This overrules the "DesktopBackgroundScaled" preference.
Disable or enable a single background over all monitors. This overrules the "DesktopBackgroundMultihead" preference.
Cycle over the list of background images every SECONDS. This overrules the "CycleBackgroundsPeriod" preference.


Use DISPLAY to connect to the X server. If this option is missing then DISPLAY is read from the environment variable "DISPLAY".
Print a brief usage statement to stdout and exit.
Print the program version to stdout and exit.
Print copying permissions to stdout for the program and exit.
Use a slower synchronous mode communication with X11 server.



By default icewmbg loads settings from the icewm(1) preferences file. See icewm-preferences(5) for details. The settings read are:

  DesktopBackgroundCenter    - Display desktop background centered
  DesktopBackgroundScaled    - Display desktop background scaled
  DesktopBackgroundColor     - Desktop background color(s)
  DesktopBackgroundImage     - Desktop background image(s)
  ShuffleBackgroundImages    - Shuffle the list of background images
  SupportSemitransparency    - Support for semitransparent terminals
  DesktopTransparencyColor   - Semitransparency background color(s)
  DesktopTransparencyImage   - Semitransparency background image(s)
  DesktopBackgroundMultihead - One background over all monitors
  CycleBackgroundsPeriod     - Seconds between cycling over backgrounds

If these settings are set in the preferences file, they can be overridden by the theme in the theme defaults file. To prevent this, set these preferences in prefoverride instead. See icewm-prefoverride(5).


Each work space can have a unique image. Specify multiple images to DesktopBackgroundImage separated by comma's. Or give at least one directory with images. The images are assigned to each work space in the order given. When icewm changes work space, the running icewmbg will adapt the desktop background to the assigned image.

If you specify more images then there are work spaces, then CycleBackgroundsPeriod can set a period. When the period expires, icewmbg will switch to the next set of images. If you give less images than there are work spaces, then icewmbg will reuse previous images for the remaining work spaces.


Often a background image has a different width or height than the screen. The image can then be replicated (tiled), centered or scaled. This is controlled by "DesktopBackgroundCenter" and "DesktopBackgroundScaled". What happens for their combination is given by the following table:

  center:0 scaled:0 = The background is replicated in both directions.
  center:1 scaled:0 = The background is centered, but not scaled.
  center:1 scaled:1 = Fill one dimension and preserve the aspect ratio.
  center:0 scaled:1 = Fill both dimensions and preserve the aspect ratio.


    # For four unique desktop backgrounds for four work spaces do:
    icewmbg -p -i image0,image1,image2,image3 &
    # Or create a directory with the four images and do:
    icewmbg -p -i /path/to/directory &
    # The images should have proper image filename extensions.


icewmbg supports the following signals:

icewmbg will restart itself.
icewmbg will terminate.
icewmbg will reshuffle the list of background images and update the backgrounds of all work spaces.


icewm(1), icewm-preferences(5), icewm-prefoverride(5), wmsetbg(1), xsetbg(1), xwallpaper(1).


Please report bugs at <>.


Brian Bidulock <>.

See --copying for full copyright notice and copying permissions.


IceWM is licensed under the GNU Library General Public License. See the COPYING file in the distribution or use the --copying flag to display copying permissions.

2023-02-05 icewm 3.3.1