Fluxbox Transparency with xcompmgr

The program xcompmgr handles many different composite effects concerning transparency and fading, and does so very well with fluxbox on my computer.

It should be noted that I am using an Nvidia 7300 GS graphics card with a non-free driver. My /etc/X11/xorg.conf settings for my nvidia card are at the bottom of this guide. Nvidia users may wish to check their /etc/X11/xorg.conf to make sure composite is enabled before going any further.

I do not know if xcompmgr will work for you with a different graphics card. I would appreciate input from people with ATI and Intel cards as to the settings they use that allow composite effects or xcompmgr to work with their graphics cards.

On to the guide. Nothing difficult here. For experienced users, just telling you that xcompmgr works now with nvidia cards and probably others, would be be enough. For inexperienced users, or for those who like lazy copy and paste guides, continue below;)

Step 1. In a terminal as root:

apt-get update && apt-get install xcompmgr

Step 2a. Xcompmgr intregrates very well with fluxbox, allowing you to set the ‘alpha’ level of your windows and menus with the fluxbox controls. ‘Alpha’ is the transparency level of a given window on your screen. This ranges from 0-255 with 0 being transparent, and 255 being solid.

In order for xcompmgr to function, ‘force-psuedo-transparency’ must be turned off. You can find the switch for this by looking in ‘configuration’ In your fluxbox menu.

Look at the screenshot (in the link above) for a menu guide on where to go in order to change your psuedo-transparency to off, and the settings for alpha.
You can also change these settings by going to ~/.fluxbox/init and changing the option there.

Either way, the goal is to turn ‘psuedo-tranparency’ to off, as xcompmgr will be taking over this feature, and having it on will create problems.

Step 2b. While you are there, you may wish to set an initial transparency level for your windows and menu.

Step 3. Open a terminal and enter ‘

xcompmgr -h

‘ Listed are all of the commands you can use with xcompmgr. This step keeps me from having to explain the options I have listed below, and familiarizes you a bit with xcompmgr.

Step 4. Check to see how xcompmgr works with your settings. Open a terminal and enter:

xcompmgr -c

This keeps things basic, and allows you to kill xcompmgr easily if things go wrong.

After this, if everything works okay on your system after starting xcompmgr from a terminal, you may wish to do one, or all of the following.

Add lines to start and kill xcompmgr from your keyboard.

Edit ~/.fluxbox/keys and add:

##### xcompmgr #####

Mod1 v :Exec killall xcompmgr
Mod1 c :Exec xcompmgr -c
## Mod1 c :Exec xcompmgr -fF -I-.004 -O-.004 -D2 -cC -t-4 -l-6 -r6

The line that is commented out is my personal setting. Try it if you wish by commenting out the other ‘mod1 c’ line and uncommenting the longer version. As shown, Typing ‘alt’ + ‘v’ will killall xcompmgr, while ‘alt’ + ‘c’ enables it. Make sure to check for key conflicts.

And/Or . .

Add a toggle to your menu to start/stop desktop effects.

Here is the menu entry to add to your custom ~/.fluxbox menu. If you are using ‘menu1’ from the wiki for your custom menu, then this line is already present.

[ToggleCmd {Exec xcompmgr -c} {Exec pkill xcompmgr}] (Toggle Effects)

And/Or . . .

Add an entry to have xcompmgr startup when fluxbox does.

Here is the code to place in ~/.fluxbox/startup

###### xcompmgr #######
xcompmgr -c &
#xcompmgr -fF -I-.004 -O-.004 -D2 -cC -t-4 -l-6 -r6 &

Both examples are shown. Uncomment whichever suits, or make your own.

Here are the relevent portion of the options I have enabled in my /etc/X11/xorg.conf.

Nvidia and xorg are both changing rapidly, and now enable a lot of options by default that not too long ago had to be added. Anyway . . .

Section "Device"
Identifier "Device 0"
Driver "nvidia"
Option "IgnoreDisplayDevices" "TV"
Option "Coolbits" "1"
Option "AddARGBGLXVisuals" "true"
Option "TripleBuffer" "false"
#BusID "PCI:1:0:0"

##### For composite use... #####
Option "DamageEvents" "1"
BoardName "nVidia Corporation G71 [GeForce 7300 GS]"

Section "Extensions"
Option "Composite" "enable"

Again, please post xorg settings for those users that have intel or ati cards concerning good composite options. Thank you.


Please comment if you are using this  ‘how -to’.  All suggestions and comments welcome.