Xinerama support for vtwm
Eeri Kask
Eeri.Kask at inf.tu-dresden.de
Sun May 18 06:37:49 PDT 2008
Hello vtwm users,
www1.inf.tu-dresden.de/~ek1/vtwm-20080210-tweaked-diffs.tar
includes a patchset containig the backport of the Xinerama support
recently developed for twm. It is to be applied against the 20080210
trunk version of the vtwm source code; execute
svn export http://cadaver.deadbeast.net/svn/vtwm/trunk
to download this. Not entering the local 'trunk/' subdirectory, running
www1.inf.tu-dresden.de/~ek1/VTWM-Tweaked.sh
should download the above patchset and compile the tweaked vtwm with
Xinerama enabled. (Having been asked to supply compile
scripts/instructions, so here I am happily doing this.) :-)
*****
How this Xinerama support looks like and how it was created is somewhat
tedious/unnecessary to describe here, though this dummy screenshot
www1.inf.tu-dresden.de/~ek1/TheGimp-Xinerama.png
shows some of the development/testing environment.
In short, the left half is a circular Xnest/Xdmx Xinerama mockup
(spanning 9 tiles), 'fdclock' running in the background and vtwm
managing the vertically-zoomed ghostscript window (depicting the
implemented full-zoom algorithm enlarging the pink sample window into
green). The right half is twm-managed X11 physical screen used to take
the screenshot by gimp.
(As xcompmgr seemingly does not run on Xinerama, the vtwm "screen" looks
somewhat flat.)
The most important implementation aspect to be noted here probably is,
the zoom functions (fullzoom included) only zoom across Xinerama tiles
which the client window already intersects, and do not perform a kind of
"global maximise", spanning the client across Xinerama tiles resulting
in a maximum possible area covered.
Second, the vtwm/twm window manager elements (iconmanagers, icon
regions, virtual-display window, doors, etc) falling onto "dead areas"
by .vtwmrc configuration are brought back onto visible area with the
least possible effort. This means, under certain unlucky conditions
these elements may appear one ontop of some other, if the geometric
computations so result. (I did not put any effort into tracking screen
coverage in this respect as being unnecessary complexity, which can be
in fact easily avoided by .vtwmrc configuration.)
Having tested this code for some time already, though I am not using
Xinerama very extensively myself, so I have to rely largely on any
problem reports, ideas, etc. one may encounter.
Have fun,
Eeri Kask
More information about the xorg
mailing list