{{Article summary text|[[Compton]] &ndash; A bug-fixed fork of dcompmgr, which is a fork of xcompmgr}}

−

{{Article summary wiki|AIGLX}}

−

{{Article summary wiki|Xorg}}

−

{{Article summary wiki|Window Manager}}

{{Article summary end}}

{{Article summary end}}

−

Xcompmgr is a simple [[Wikipedia:Compositing window manager|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.

+

[http://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr] is a simple [[Wikipedia:Compositing window manager|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 and similar composite managers.

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

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

−

== Prerequisites ==

+

== Installation ==

−

Xcompmgr requires the following:

+

Before installing Xcompmgr, make sure you have installed and correctly configured [[Xorg]]. If you have a custom setup, also turn on the [[Composite]] extension for the X Server.

−

* [[Xorg]] must be installed, configured and running

−

* [[Composite]] must be enabled via graphics drivers or [[AIGLX]]

−

== Installation ==

+

Xcompmgr can be [[Pacman|installed]] with the package {{Pkg|xcompmgr}}, available in the [[official repositories]]. For transparency also install {{Pkg|transset-df}} from the [[official repositories]].

−

Install packages {{Pkg|xcompmgr}} and {{Pkg|transset-df}}, available in the [[official repositories]].

+

+

=== Forks and updated versions ===

+

There are some forks available, with various bugfixes:

+

* {{App|xcompmgr-dana|One of the first forks of Xcompmgr.|http://oliwer.net/xcompmgr-dana/|{{AUR|xcompmgr-dana}}}}

+

* {{App|xcompmgr_tint2|A fork of Xcompmgr that contains a patch for enabling real transparency in [[Tint2]].|http://www.freedesktop.org/wiki/Software/xapps|{{AUR|xcompmgr_tint2-git}}}}

+

* {{App|[[Compton]]|A fork of Xcompmgr that contains most of the previous fixes as well as many others.|https://github.com/chjj/compton|{{AUR|compton-git}}}}

== Configuration ==

== Configuration ==

−

To load xcompmgr, simply run:

+

To load {{ic|xcompmgr}}, simply run:

$ xcompmgr -c

$ xcompmgr -c

Line 45:

Line 44:

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

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

−

transset-df n

+

$ transset-df [opacity]

−

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

+

where {{ic|opacity}} is a number between '''0''' and '''1''', 0 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, {{ic|transset-df .25}} will set the target window to 75% opacity.

−

−

== Troubleshooting ==

−

=== Mozilla Firefox crashes when entering a Flash site ===

−

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

−

export XLIB_SKIP_ARGB_VISUALS=1

−

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

+

Once execution, the mouse cursor will transform to a cross-hair. Simply click the desired window and the transparency will change to the value specified. For example, {{ic|transset-df .25}} will set the target window to 25% transparency (75% opacity).

This is fixed by installing hsetroot and setting the background color by executing {{ic|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 {{Ic|.xinitrc}} and Awesome setting the background afterwards via feh.

−

I solved this by putting

−

hsetroot -solid "#000066"

−

in my .xinitrc just before xcompmgr.

−

== Tips ==

+

== Tips and tricks ==

−

=== Starting/Stopping xcompmgr on Demand ===

+

=== Start/Stop Xcompmgr on demand ===

−

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

+

This script allows easy (re)starting and stopping of the compositing manager.

+

{{hc|~/.bin/comp|<nowiki>

#!/bin/bash

#!/bin/bash

#

#

Line 110:

Line 87:

"-s") stopcomp; exit ;;

"-s") stopcomp; exit ;;

*) comphelp ;;

*) comphelp ;;

−

esac

+

esac</nowiki>

−

+

}}

−

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.

−

=== Toggle on/off xcompmgr with one hot-key only ===

+

For ease of use, you can bind this script to a hot-key using, for example, [[Xbindkeys]]. This allows for fast restart or temporary composition removal if needed without interrupting other work.

−

Using the status part of the script above.

+

=== Toggle Xcompmgr ===

Assign the following script to any hot-key:

Assign the following script to any hot-key:

−

#!/bin/bash

#!/bin/bash

Line 131:

Line 106:

exit 0

exit 0

−

=== Forks and updated versions ===

+

== Troubleshooting ==

−

As xcompmgr in no longer maintained, you may consider using the {{Aur|xcompmgr-dana}} or the {{Aur|compton-git}} packages from the AUR. These versions include a few bugfixes, and allow you to set menu transparency with the -m parameter :

+

=== Mozilla Firefox crashes when entering a Flash site ===

+

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

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

+

+

=== BadPicture request in awesome ===

+

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 [[feh]] and restart [[awesome]].

+

+

=== Screen not updating in awesome after resolution change ===

−

#!/bin/bash

+

When using an external monitor, you may encounter problems when automatically changing display resolutions: a part of the screen becomes "stuck" and no longer updates itself. This problem occurs because of the initial resolution change (happening before Xcompmgr starts) as well as [[awesome]] setting the background via [[Feh]].

−

−

compton -m.80

−

Replace 80 with the opacity you want, in percents. This works for any menu, including the Openbox main menu.

+

To fix it, you need to install {{Pkg|hsetroot}}, from the [[official repositories]], and put the following line in {{ic|.xinitrc}}, just before {{ic|xcompmgr}}:

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 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.

Configuration

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 [opacity]

where opacity is a number between 0 and 1, 0 being transparent and 1 being opaque.

Once execution, the mouse cursor will transform to a cross-hair. 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 25% transparency (75% opacity).

Tips and tricks

Start/Stop Xcompmgr on demand

This script allows easy (re)starting and stopping of the compositing manager.

Screen not updating in awesome after resolution change

When using an external monitor, you may encounter problems when automatically changing display resolutions: a part of the screen becomes "stuck" and no longer updates itself. This problem occurs because of the initial resolution change (happening before Xcompmgr starts) as well as awesome setting the background via Feh.