Xcompmgr

From ArchWiki
Revision as of 21:55, 29 September 2009 by Lord Xadar (Talk | contribs)

Jump to: navigation, search


Introduction

Xcompmgr is a simple composite window 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 Openbox and Fluxbox users seeking a more elegant desktop.

Prerequisites

Xcompmgr requires the following:

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

Installation

Both xcompmgr and the transparency tool transset, are available from the standard repositories:

# pacman -S xcompmgr transset

Configuration

To load xcompmgr, simply run:

$ xcompmgr -c

To have it load every time X starts, add the following to your ~/.xinitrc:

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 -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 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 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 .25 will set the target window to 75% transparency.

Troubleshooting

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 either creating a executable file in /etc/profile.d called flash.sh including this line:

export XLIB_SKIP_ARGB_VISUALS=1

Or adding the line into line 184 of /opt/mozilla/bin/firefox.

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

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

Some Tips

Starting/Stopping xcompmgr on Demand

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

#!/bin/bash
#
# 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"
  exit
}

function checkcomp () {
  ( ps -e | grep xcompmgr &>/dev/null ) && exit 1
  exit 0
}

function stopcomp () {
  ( ps -e | grep xcompmgr &>/dev/null ) && killall xcompmgr
}

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

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

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.

Additional Resources

  • AIGLX
  • Xgl
  • Composite -- A Xorg extension required by composite managers
  • Compiz Fusion -- A composite and window manager offering a rich 3D accelerated desktop environment
  • Compiz -- The original composite/window manager from Novell
  • Xcompmgr -- A simple composite manager capable of drop shadows and primitive transparency
  • Beryl -- A composite/window manager forked from Compiz (since merged to become Compiz Fusion)
  • Wikipedia: Compositing Window Managers