XWinWrap is a small utility written a loooong time ago that allowed you to stick most of the apps to your desktop background. What this meant was you could use an animated screensaver (like glmatrix, electric sheep, etc) or even a movie, and use it as your wallpaper. But only one version of this app was ever released, and it had a few problems, like:

  1. Well, sticking didn’t work. So if you did a “minimize all” or “go to desktop” kind of thing, your “wallpaper” got minimized as well.

  2. The geometry option didn’t work, so you could not create, e.g., a small matrix window surrounded by your original wallpaper.

Seeing no-one picking it up, I decided to give it a bit of polish last weekend by fixing the above problems and also add a few features. And here it is, in its new avatar “Shantz XWinWrap”.

Video:

Usage:

Notes:

  1. The download file above contains 32 bit as well as 64 bit binaries. (Deb packages for ubuntu/debian are also included in the same file)

  2. Though a lot of options are shown below, the only ones you’d most likely need are “fs”, “g”, “ov” and “sh”)

  3. The modified source code can be browsed/downloaded from the Shantz XWinWrap Launchpad Bzr repository

xwinwrap [-g {w}x{h}+{x}+{y}] [-ni] [-argb] [-fs] [-s] [-st] [-sp] [-a] [-b] [-nf] [-o OPACITY] [-sh SHAPE] [-ov] -- COMMAND ARG1...
Options:
-g    - Specify Geometry (w=width, h=height, x=x-coord, y=y-coord. ex: -g 640x480+100+100)
-ni   - Ignore Input
-d    - Desktop Window Hack. Provide name of the "Desktop" window as parameter
-argb - RGB
-fs   - Full Screen
-s    - Sticky
-st   - Skip Taskbar
-sp   - Skip Pager
-a    - Above
-b    - Below
-nf   - No Focus
-o    - Opacity value between 0 to 1 (ex: -o 0.20)
-sh   - Shape of window (choose between rectangle, circle or triangle. Default is rectangle)
-ov   - Set override_redirect flag (For seamless desktop background integration)
-debug - Enable Debug messages

Examples:

(Examples use glmatrix however you can use something like mplayer, vlc, electric sheep etc instead of these)

  • To run glmatrix in fullscreen wallpaper mode
./xwinwrap -ov -fs -- /usr/lib/xscreensaver/glmatrix -root -window-id WID
  • To run glmatrix in a small window wallpaper mode
./xwinwrap -ov -g 400x400+400+200 -- /usr/lib/xscreensaver/glmatrix -root -window-id WID
  • To run glmatrix in small circle wallpaper mode
./xwinwrap -ov -g 400x400+400+200 -sh circle -- /usr/lib/xscreensaver/glmatrix -root -window-id WID
  • To run glmatrix in small triangular wallpaper mode
./xwinwrap -ov -g 400x400+400+200 -sh triangle -- /usr/lib/xscreensaver/glmatrix -root -window-id WID

ChangeLog:

15-Feb-2009:

  1. Fixed the bug where XFetchName returning a NULL for “name” resulted in a crash. Props to Kevin

  2. Provided an option to specify the desktop window name.

  3. Added Debug messages.

18-Oct-2008:

  1. Fixed a bug where the generated window overlapped other windows.

28-Aug-2008:

  1. Fixed “sticky”, now it sticks like a true wallpaper to your desktop.

  2. Fixed “geometry” option. Now you can create smaller windows and draw/position them anywhere on your screen.

  3. Added non-rectangular shaped windows option. Now, you can create circular or triangular windows with xwinwrap to get that cool effect.