EDIT:
Apparently, Conky now supports true transparency - see http://wiki.conky.be/index.php/1.8.0_tour. As far as I know, the panel's still don't have transparency, and since this can theoretically be applied to any program that allows you to set a background colour, it might still be useful for someone.
Sorry I haven't been updating this, I pretty much forgot about it, and for some stupid reason apparently I didn't get the forums to email me when anyone responded. Apologies. Next time I boot into Ubuntu I'll run through it again and update it.
Hi guys
There are a couple of posts around with this problem - both conky and the panels in Gnome don't have true transparency. This usually creates problems with Compiz - having individual wallpapers on each desktop and semi/fully transparent cubes create glitches where the parts covered by these programs show are not transparent.
Well, I spent a while on the program, and I came up with a solution. It's pretty workaround-ish, and it could probably be improved on, but I'll post it here anyway. This is my first tutorial... ever, I think, so bare with me.
This should work with any program that you can change the background colour of. I'm using Intrepid (8.10), but this should work on anything with compiz. If you just want the panels transparent, or just conky transparent, skip the parts that tell about the other bits. Please keep in mind that this tutorial does make use of a compiz plugin that is still in development and could be unstable.
Ok, so the way we're going to do this is to use a plugin still in development to make certain colours transparent, and then colour the panels and conky's background that colour. Then we have to make the plugin initialise every boot. Here goes...
Step 1: Install everything we need.
1.a: That which is in the repo's: Lineakd, as well as a few programs needed to compile the Greenscreen plugin, and a settings manager for compiz. Open a terminal and enter:
Code:
sudo aptitude update
and then
Code:
sudo aptitude install lineakd compiz-bcop compiz-dev build-essential libtool libglu1-mesa-dev libxss-dev libcairo2-dev git-core compizconfig-settings-manager
1.b: Now we need to download and install the Greenscreen plugin, which is the core of everything...
Create a new folder to hold the sources in...
Code:
mkdir compizplugins
Now we'll download the source for the Greenscreen plugin...
Code:
git clone git://anongit.compiz-fusion.org/users/kristianerikson/cf-greenscreen
And then compile the plugin:
If there were no errors, it's installed. To let compiz see it, you'll need to restart compiz - the easiest way to do this is to log out and then back in. Now to set everything up.
Step 2: Configure everything.
2.a: Configure the Greenscreen plugin.
Open CompizConfig Settings Manager (System -> Preferences -> CompizConfig Settings Manager)
Select the tick mark next to Greenscreen (under Accessibility), then click on the Greenscreen button to configure the plugin itself. Set the key combination for "Toggle screen filtering" to "<Shift><Control><Alt>d" (To do this, click the pen and paper icon the the right of the button and enter it into the box that appears). Set the Filtered colour to transparent (click it, drag the Opacity slider to the left). Change the value of Filtered Windows to "type=dock" and Exclude windows to "(any) & !(type=dock)".
Then we need to pick a colour that we want to make transparent. This is a bit tricky. We want a colour that won't appear very frequently, that contrasts well with the text and that will blend into the background easily. This is important because text in conky and the panels is anti-aliased - its edges will be outlined in a colour just off what we pick. I have white and light grey text everywhere, and a darkish background, so I picked #363B38. If you have a lighter background and darker text, try something like #EFFAF3. Make sure you pick a bizarre colour - make sure the blue, red and green values are slightly different. This will make it less likely that an icon will use the colour you pick.
2.b: Configure conky
Conky's configuration file, .conkyrc, can remain pretty much unchanged. You will need to make the following changes, though:
own_window yes
own_window_type dock
own_window_transparent no
own_window_colour XXXXXX
Change XXXXXX to the colour you selected in step 2.a, without the #.
2.c: Configure the Panel
Right click on the panel you want to change and select Properties. In the background tab, select solid colour and change the colour to the one you selected earlier. Set the Opacity to 100% (full right).
3: Make it all work.
Press control+alt+shift+d. If everything worked, this will initialise the greenscreen plugin and the panel's and conky's backgrounds will become transparent. Now we need to make Ubuntu initialise the plugin on boot. To do this, we essentially just need to run the following command AFTER everything that should be transparent has opened:
Code:
xsendkeys "shift+control+alt+d"
I did this by creating a script that ran conky in the background, waited 5 seconds, and then sent the command. Here it is:
Code:
#!/bin/bash
conky &
sleep 5
xsendkeys "shift+control+alt+d"
Then I replaced Conky with this script in the sessions dialog (System -> Preferences -> Sessions).
If you don't use conky, you can probably just add that script without the "conky &" line to the dialog.
Thanks for reading! I hope this works for people, and that it wasn't too hard to follow. Please, if you have comments or (constructive) criticisms, post them. If you think you have a better way to do this, let us know!
Enjoy
- Josh
Bookmarks