[news] TWM -- Revised Edition

Eeri Kask Eeri.Kask at inf.tu-dresden.de
Tue Sep 30 10:20:25 PDT 2008

Hello TWM users,

Having tweaked the TWM since last year to turn it into something 
contemporary in look and handy in function, today as a landmark of 
approaching zero items in my own kept TWM bugs-, todo- and wish-list may 
I use the moment to present this humble effort which has kept me pretty 
busy in the leisure time since then.

(*) Initially significant emphasis went into introducing and finetuning 
Xft truetype font support which is now a per-screen startup configurable 
feature.  If e.g. the Xft subsystem is not available TWM automatically 
falls back to X11 core font renderer.  (If started with '-truetype' one 
can turn Xft off intentionally.)

X11 core font names and Xft font names can be used arbitrarily 
intermixed in .twmrc as each font name is first attempted to resolve as 
XLFD name and only if this fails, then as Xft name.

(*) Further, sloppy focus is now seamlessly integrated into TWM at its 
most core.  In the same sweep the icon manager highlighting now follows 
focus and not mouse, making a lot sense for keyboard users caring less 
about mouse.

(*) Keyboard-aided mouse navigation has been enhanced as well. It is a 
high priority to control TWM comfortably by keyboard (with the exception 
of 'f.move', 'f.resize'), so the functions

     f.warpnext, f.warpprev
     f.forwiconmgr, f.backiconmgr, ...
     f.nexticonmgr, f.previconmgr
     f.warpto "", f.warptoiconmgr ""

all having to do with mouse warping along client windows have been 
overworked to expose kind of a unified, consistent behaviour (e.g. all 
tied to 'WarpUnmapped', and all respect originally only by 'window-ring' 
saved mouse location coordinates).

(*) Invented is 'f.swapiconmgrentry' as a simple mechanism for run-time 
icon manager manual sorting which now leads to arbitrary 
client-to-client mouse travelling by at most two "keystrokes", using the 
icon manager as a switchboard.

(*) There is Xinerama support which can be turned off by '-xinerama' 
command line parameter leading to TWM treating the logical screen at 
full size (but possibly loosing icon managers, icon regions and client 
windows into dead areas).

Into this improvement category belongs 'RandomPlacement' algorithm which 
got a preliminary step first looking for an empty area on screen large 
enough to fit the window prior to placing it blindly at some 'random' 

(*) The '-v' command line option gives some more info on startup and on 

(*) Last but not least several old bugs have been corrected: most 
notably related to multiscreen configurations and to 'f.focus'; and icon 
manager navigation functions no longer should occasionally unexpectedly 
refuse service, except if rendered dysfunctional by 'NoIconManagers'.

(*) A script of all enhancements (at varying level of detail) is 
attached as "NEWS.RevisedEdition" and the man page is uptodate.  (If one 
agrees to read one entry in the man page, the 'IconManagerGeometry' is 
the item worth a look.)

Keeping up the tradition of X development not to impose policy and even 
less taste all visual/functional enhancements are not only tunable but 
the .twmrc file if kept as is, leads to no change in TWM traditional 
look and function with the exception of (1) coloured icons if provided 
by clients; and (2) the semantics of 'WarpCursor' is slightly broadened: 
in addition now automatic warping into transient windows of focused 
clients occurs if they get mapped.

Though, the whole effort has lead to increase in TWM executable file by 
a factor of circa 1.2 which is very unfortunate, the foremost 
contributors being (referencing the x86_64 platform)

     Xft  (by ~ 8 Kbytes)
     Xinerama  (~ 8 Kbytes)
     Xrandr  (~ 4 Kbytes)
     sloppy focus  (~ 4 Kbytes)
     visual appearance improvements altogether  ~ 12 Kbytes

Concluding, here are presented various TWM enhancement proposals; anyone 
caring I am happy to invite to comment/discuss/review these, and 
anything related how to further finetune/improve TWM ... as an X11 
window- (not necessarily an office desktop-) manager.  :-)

Let me here in retrospect express my sincere thank you to all guys 
having helped to chase bugs and figure out better ways in making TWM better,

     Eeri Kask

P.S. To automatically compile, run
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: NEWS.RevisedEdition
URL: <http://lists.x.org/archives/xorg/attachments/20080930/a7fb9f0a/attachment.ksh>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: twm-1.0.4-tweaked-diffs.tar
Type: application/x-tar
Size: 204800 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080930/a7fb9f0a/attachment.tar>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TWM-RevisedEdition.png
Type: image/png
Size: 134585 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080930/a7fb9f0a/attachment.png>

More information about the xorg mailing list