This site functions as an archive of Conner's Blog, which was a blog from 2006-2014 located at Images and links are likely to be broken.

Conky with Compiz

Yesterday I wrote about compiling conky from source. Today I want to give a quick rundown on how I set up conky to run with Compiz Fusion with multiple desktops.

First, this doesn't work perfectly, unfortunately conky uses pseudo transparency, which means it draws it's own background. This means that if you run one conky instance it will draw the first background it finds. Which is fine until you use multiple background. This causes conky to have the first desktops background on any other desktops you move to. Looks kind of funny.

First a caveat, by using this method you will no longer have desktop icons. If this is a problem for you, this method won't be your best solution.

First the windows settings in my conkyrc:

own_window yes
own_window_hints undecorated
own_window_type normal
own_window_transparent no

This lets conky draw inside it's own window, does not show borders, and draws a background.
Second you should Nautilus from drawing your desktop. This is also what keeps you from having icons. Run
gconf and go to apps>nautilus>preferences and unpick "show_desktop"

At this point you could quit, but conky will be in your taskbar, and won't have transparency. So the next step is to make changes to your compiz settings. Go to System>Preferences>CompizConfig Settings Manager. (If you do not have this entry run sudo apt-get compizconfig-settings-manager)

First go to Window Management and select Window Rules. In each of the following boxes add the following entry "class=Conky". Skip Taskbar, Skip Pager, Below, Sticky, None movable windows, Non resizable windows, Non minimizable windows, Non Maximizable windows, None closable windows, and No Focus. This will force conky to remain below your windows and sit on all desktops.

Next set some transparency. Click back, then General Options. Choose the Opacity Settings Tab, and choose New under Window Opacities. Under the option Opacity windows put class=Conky. For the window values I use 50, but you can play with this until it suits you.

Now conky should meld well with your desktop, and allow you to have different backgrounds on each desktop.