I still prefer twm-style window manager configuration, and that's just one of the reasons I use ctwm.

ctwm is a variant of the twm window manager. It was created by Claude Lecommandeur. Its main divergence from twm is its virtual workspaces, but it also has many features that stock twm lacks.

This page is not any kind of attempt to make a real web page for ctwm. See Richard Levitte's ctwm page for that.

Last updated: 2005/10/18 00:41:50

My AlwaysSqueezeToGravity patch

ctwm's squeeze operation reduces a window to its title bar, or to a horizontal line if the window has no title bar. Additionally, if the window has no title bar, the window is squeezed according to its gravity--either "north" (towards the top of the display) or "south" (towards the bottom of the display). Windows marked to "AutoSqueeze" will be squeezed automatically when they lose focus, and unsqueezed when they regain focus.

I really like using "AutoSqueeze" for windows that always appear on my display/workspace, such as the workspace manager and my "home" xterm.

Unfortunately for me though, my "home" xterm which sits at the bottom of the screen (xterm -geom 132x24-1-1) gets squeezed upwards ("North") and becomes an annoyance in the middle of the screen instead of being out of the way:

screen shot from before the patch was applied
(Try this JPEG image if your browser doesn't support PNG yet.)

So, I created a simple patch to ctwm which allows specified windows to squeeze according to their gravity--even if they have title bars. The only real change in behavior is that specified windows that have titlebars and a southward gravity will squeeze to the south instead of north. In my case, that puts the titlebar of my "home" xterm neatly at the bottom of the display:

screen shot from after the patch was applied
(Try this JPEG image if your browser doesn't support PNG yet.)

RPMs for Fedora Core 4

My AlwaysSqueezeToGravity patch is included in ctwm-3.7:

ctwm-3.7-1.i386.rpm (md5=be2ee733fdb0c3c54c3b5b7e3d927b2b)

ctwm-3.7-1.src.rpm (md5=e02e33a54bd2f44e85bb354ac6fffe83)


Let me know if you have any suggestions for improving the RPM (but nowadays I'm really just using the ctwm.spec file provided in the tarball).