Present Location: News >> Blog >> Xorg's Composite Extension

Blog

> Xorg's Composite Extension
Posted by prox, from Charlotte, on July 20, 2008 at 20:04 local (server) time

I've been toying with some Xorg eyecandy today, for some reason (trying to make my pseudo-transparent aterms act like OS X's Terminal.app).  I started with the Xorg/Transparency guide on the Gentoo Wiki that directed me to enable the Composite Extension and then run some X11 applications to show off its capabilities.

I first added the following to my /etc/X11/xorg.conf:

Section "Extensions"
     Option "Composite" "Enable"
EndSection

Then I added the following to the Device section for my nVidia video card:

Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"

Then I restarted X11.  Unfortunately, it seemed that all of those options have been enabled for awhile now, so I took them out, and it appeared that the composite extension was still running.  Oh well, no harm done.

I then started playing with xcompmgr, a utility that provides some basic compositing effects, and transset[-df], a utility that toggles the opacity of arbitrary windows:

xcompmgr

Unfortunately, I felt an instant performance hit when the composite manager was running.  Windows would redraw slightly slower than before, and this could be seen when switching desktops.

I then added compositing support to Xfwm4, and played with the options available with that:

xfwm4 compositing

There weren't many options that I liked (almost liked the "opacity of inactive windows"), so I just enabled the compositor and left everything disabled.  transset[-df] still worked, and I set some keybindings to increase/decrease opacity of arbitrary windows via a couple keyboard shortcuts.

All of this was nice (bleh, slow, but nice), but my initial goal was not achieved.  I just want my terminal backgrounds to be 25% transparent - not pseudo-transparent.  Apparently this functionality has not been built into aterm yet.  However, it has been added to GNOME Terminal, I soon found out.

I configured a custom profile in GNOME Terminal, and told it to be 25% transparent.  It seemed to work!  Unfortunately, any window resize, movement, or focus change (switching workspaces) incurs a 800-1200ms delay where everything X-related locks up.  No good.

So, if I knew anything about Xlib-related programming, I would add the following to Aterm:

So, I'm back where I started.  Compositing disabled, for now.

> Add Comment

New comments are currently disabled for this entry.