From ArchWiki
Revision as of 18:19, 5 August 2012 by Christof42 (Talk | contribs) (Starting/Stopping xcompmgr on Demand)

Jump to: navigation, search

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary text Template:Article summary text Template:Article summary text Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Xcompmgr is a simple composite manager, capable of rendering drop shadows and, with the use of the transset utility, primitive window transparency. Designed solely as a proof-of-concept, xcompmgr is a lightweight alternative to Compiz Fusion and similar composite managers.

Because it does not replace any existing window manager, it is an ideal solution for users of lightweight window managers, seeking a more elegant desktop.


Xcompmgr requires the following:

  • Xorg must be installed, configured and running
  • Composite must be enabled via graphics drivers or AIGLX


Install packages xcompmgr and transset-df, available in the official repositories.


To load xcompmgr, simply run:

$ xcompmgr -c

To have it load at session start, add the following to xprofile:

xcompmgr -c &

Instead of -c you can experiment with the other switches to modify the drop-shadows or even enable fading. Below is a common example:

xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &

For a full list of options, run:

$ xcompmgr --help

Window Transparency

Although its practical use is limited, due to its slow performance, the transset-df utility can be used to set the transparency of individual windows.

To set the transparency of a program window, make sure the desired program is already running, then execute:

transset-df n

.. where n is a number from 0 to 1, zero being transparent and 1 being opaque.

Once executed, the mouse cursor will transform to a crosshair. Simply click the desired window and the transparency will change to the value specified. For example, transset-df .25 will set the target window to 75% opacity.


Fluxbox windows won't raise

This is fixed in fluxbox CVS after 0.9.10. See [1] for more info.

A workaround in 0.9.10 is to set the layer of the Slit to "Desktop" (flux menu -> Configure -> Slit -> Layer -> Desktop).

Mozilla Firefox crashes when entering a Flash site

You can fix it by creating an executable file named /etc/profile.d/flash.sh containing this line:


Warning! this will disable compositing effects aswell as cause kwin to not function and cairo-compmgr to crash.

Background turns light gray briefly after logging in (e.g. in Openbox)

This is fixed by installing hsetroot and setting the background color by executing hsetroot -solid "#000000" (just type the code of the colour you want instead of 000000) before xcompmgr.

BadPicture request in awesome wm

if you get the following error in awesome:

 error 163: BadPicture request 149 minor 8 serial 34943
 error 163: BadPicture request 149 minor 8 serial 34988
 error 163: BadPicture request 149 minor 8 serial 35033

just install the package feh and restart awesome.

Chromium & Xcompmgr & Awesome & Conky

I got some problems at startup after changing the displayresolution and autostarting Chromium in AwesomeWM (laptop with external monitor). In Combination with Conky there is always some part of the screen "stuck", the problem came from my resolution change at start via .xinitrc and Awesome setting the background afterwards via feh. I solved this by putting

hsetroot -solid "#000066"

in my .xinitrc just before xcompmgr.


Starting/Stopping xcompmgr on Demand

This script (e.g. in ~/bin) allows easy (re)starting and stopping of the compositing manager.

# Start a composition manager.
# (xcompmgr in this case)

function comphelp () {
  echo "Composition Manager:"
  echo "   (re)start: COMP"
  echo "   stop:      COMP -s"
  echo "   query:     COMP -q"
  echo "              returns 1 if composition manager is running, else 0"

function checkcomp () {
  ( ps nc -C xcompmgr &>/dev/null ) && exit 1
  exit 0

function stopcomp () {
  ( ps nc -C xcompmgr &>/dev/null ) && killall xcompmgr

function startcomp () {
# Example settings only. Replace with your own.
  xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 &

case "$1x" in
    "x") startcomp;;
  "-qx") checkcomp;;
  "-sx") stopcomp; exit;;
      *) comphelp;;

I bound COMP and COMP -s to two hot keys in IceWM because there are a few glitches using xcompmgr in this WM. This allows for fast restart or temporary composition removal if needed without interrupting other work.

Starting/Stopping xcompmgr on Demand with one key short-cut

An edit of the upper script.

Assign the following script to any key:

  1. !/bin/bash

STATUS=`ps nc -C xcompmgr | wc -l`

if [ $STATUS = "1" ]; then

       echo "Turning xcompmgr ON"
       xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &


       echo "Turning xcompmgr OFF"
       pkill xcompmgr &


exit 0