[news] TWM -- Revised Edition -- Again

Eeri Kask Eeri.Kask at inf.tu-dresden.de
Sun Jan 3 09:45:58 PST 2010

Hello TWM users,

As a followup to


may I here present some efforts to improve twm even further a little.

(1) All included advancements are completely configurable by
autoconf which is exploited now by


and "./configure --help" outputs all optionally configurable features.

(2) On twm usability side there have been invented/updated keywords

    ClientBorderWidth  [ { win-list } ]
    NoClientBorderWidth  { win-list }

    RandomPlacement  [ { win-list } ]
    NoRandomPlacement  { win-list }

    DecorateTransients  [ { win-list } ]
    NoDecorateTransients  { win-list }

(3) On visual appearance side XRender support has been added and so
replaced _NET_WM_WINDOW_OPACITY based transparency by
XRenderFillRectangle() and in few cases XRenderComposite().  There
is nothing spectacular about it per se


but nevertheless looks like an improvement over using
_NET_..._OPACITY based transparency.  The boolean command line keyword


turns off XRender support,


in .twmrc turns it on.  It has to be turned on.

(4) A prerequisite for xcompmgr based composited transparency are
novel command line keywords


which enable to instruct twm to create its own graphical items
(menus, frame windows, icon managers, icons, info window, etc)
using the specified visual and depth instead of the root-window
defalut visual/depth, e.g.

    -visual TrueColor  -depth 32

effectively puts twm into ARGB-32 bit mode.  In case of problems twm
falls back to root-window default visual/depth.

(5) Then finally, there has been some activity in making twm a
flexible client on X11-screen regarding other applications in
respect to frame geometry and focus management.  E.g. twm tolerates
frame geometry changes by external entities and passes these
geometry requests along to the client embedded into that particular
frame window.  Twm only protects client icon- and its own
icon-manager windows to be moved completely off screen. This
flexibility makes it possible to e.g. run some kind of pager
application beneath twm creating a "virtual" workspace under twm.
Further, twm accepts external focus assignments to its frame windows
and forwards these focus requests to corresponding clients
respecting their ICCCM policies.  In fact, one could remove the
SloppyFocus support from twm again and run a standalone focus
manager beneath twm implementing arbitrary user-configurable client
focusing rules.

/* In fact that latter item (5) is probably of "academic value" but
nevertheless represents the only intriguing paradigm in window
managers' technologies: monolitic versus decomposed window
management.  The latter may be thought of as a loose set of
independent small X11 background utilities implementing the users'
desired features in the UNIX fashion: one small utility completing
one simple task and doing that (bugfree or even) efficiently.  So if
twm had been designed this in mind it only would have consisted of a
core servicing the SizeHints-subset of ConfigureRequest and
everything else implemented by standalone tools.  :-)  */

To automatically install the current twm variant please download and
run the above script, or download and manually apply everything in


For archiving purposes let me attach the above pack to this posting.

Last but not least huge thanks to guys helping in debugging and
discussing ideas for twm.

Greetings and have fun, please tell about bugs and improvement ideas,

    Eeri Kask

-------------- next part --------------
A non-text attachment was scrubbed...
Name: TWM-Tweaked.sh
Type: application/x-shellscript
Size: 714 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20100103/c421a4a3/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: twm-1.0.4-tweaked-diffs.tar
Type: application/x-tar
Size: 266240 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20100103/c421a4a3/attachment.tar>

More information about the xorg mailing list