This is a collection of patches for ctwm, which is an enhanced version of the twm window manager for X11R6. ctwm supports, among other things, multiple virtual desktops.
ctwm also has the ability (along with plain twm) to support multiple icon managers. However, each icon manager can only handle a single class of window. The first patch adds the ability for an icon manager to support multiple 'classes'. For instance, with stock ctwm, I can set an icon manager for "Netscape" windows. However, I don't only run Netscape, but also several other web browsers, usually with several windows of each type open. With this patch, I can create a "Netscape,mozilla-bin,opera" icon manager, and have all 3 browsers together (and seperated from everything else).
A second patch is provided to fix up compile problems on some platforms. ctwm is built using yacc(1) to generate the config-file parsing code. yacc(1) these days is being phased out in favor of bison(1) which is mostly compatible, but not as forgiving in some places. The given patch makes it work with bison 1.28. This is believed to be unnecessary with ctwm 3.7 and later.
The third patch adds a '-cfgchk' parameter to let you check the format of your config file without actually (re)starting ctwm; useful when you're making changes and trying to track down what stupid thing you did this time :) This patch was integrated in the 3.7-alpha cycle, so it's only needed on 3.6 and earlier.
This first patch allows multiple classes of windows to be put in one window manager. It actually does this by expanding some deeper capabilities of ctwm, so it has some other ramifications. Have fun finding them :)
This patch applies to the CTWM version 3.7. ctwm.wman.diffs is a version which applies to 3.6 and to 3.5.2c. Older 3.7 alphas and betas, you're on your own. I haven't tried it against anything older; it may or may not work, but it's probably time to upgrade by now. The diff contains a patch both to the source and to the manpage. I expect (though I haven't tested) that the patch could, with a bit of manual massaging, be made to apply to plain old twm as well, but I'm in no hurry to test it.
This second patch fixes up gram.y so it will compile under bison(1) (as opposed to original yacc(1)). It was made against version 3.6; it will probably apply to 3.5.2 with a little manual fiddling, but it won't automatically. ctwm 3.7 should be just fine on its own, and shouldn't need this at all (nor should it apply).
And this puppy is a patch which adds a command-line option '-cfgchk' to check over the config file and note any errors (or just say "it's alright"). Useful thing to do, rather than restarting your whole wm just to see if there's any errors.
This patch is against 3.6. I also have a patch (ctwm-3.5.2c.cfgchk.diffs), which is against 3.5.2c. As of 3.7, this capability is integrated into the main distribution, so it's unnecessary.