Tuesday 4 August 2009

So what *are* all those window options in Conky, anyway???

At the risk of sounding completely ignorant, I never really did get why everyone seems to use "own_window yes" in their Conky config settings...Until now! So I'm going to enlighten y'all, with a couple examples.

I have always, in my Conkys, used "own_window no" because it was simpler. I didn't have to worry about setting the hints correctly or transparency...It was just one line.

However, I've just now upgraded to Conky 1.7.1.1 as per the DEB file here. And when I used my normal Conky with "own_window no", precisely nothing happened.

Yikes!

After consulting the official Conky documentation for config settings, I decided to try:
own_window yes
own_window_transparent yes
own_window_type desktop

as it seemed the simplest method.

And that gave me this:

From My Little Desktop Photos


Uh, still not right.

So then I tried:
own_window yes
own_window_transparent yes
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below

but even that wasn't right because it then gave me shadows around my desktop, thanks to Compiz.

From My Little Desktop Photos


Turns out, though, there is an option in Compiz Config Settings Manager to let you select the windows to decorate or to shadow. If you specify the class of your Conky window as "Conky", you can then exclude that from shadows, by changing it to "any& !(class=Conky)", as below:

From My Little Desktop Photos


So, to summarise, to get the same effect as using "own_window no", you have to use the following in your Conky config:
own_window yes
own_window transparent
own_window_class Conky
own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below

and add "any& !(class=Conky)" to the Shadow windows option in the Window Decorations screen of Compiz Config Settings Manager.

So here's my final screenie:

From My Little Desktop Photos

2 comments:

  1. Nice set-up, londonali1010! What font is that please!

    ReplyDelete
  2. In my case, removing the shadow is done with :
    "& !(class=Conky)" without quotes

    It fails with your "any& !(class=Conky)" without quotes.
    My conky version is : 1.8.0-1
    My compiz version is : 0.8.4-4

    ReplyDelete