|  | This is David Hogan's 9wm updated to behave more like | 
|  | Plan 9's rio.  Since I cannot get approval for the changes | 
|  | and I'd prefer not to resort to patches, I have renamed it "rio". | 
|  |  | 
|  | Current incompatibilities that would be nice to fix: | 
|  |  | 
|  | - The command-line options should be made more like Plan 9. | 
|  |  | 
|  | - Should work out a protocol between 9term and rio so that: | 
|  | * 9term can tell rio to blue its border during hold mode | 
|  |  | 
|  | - Should change window focus on b2/b3 clicks and then | 
|  | pass along the click event to the now-focused window. | 
|  |  | 
|  | - Should change 9term to redirect b3 clicks to rio so that rio | 
|  | can put up the usual b3 menu. | 
|  |  | 
|  | Axel Belinfante contributed the code to handle border grabbing | 
|  | for resize and various other improvements. | 
|  |  | 
|  | The original README is below. | 
|  |  | 
|  | - russ cox | 
|  | rsc@swtch.com | 
|  | 30 march 2004 | 
|  |  | 
|  |  | 
|  | 9wm Version 1.2 | 
|  | Copyright 1994-1996 David Hogan. | 
|  |  | 
|  | What is 9wm? | 
|  | ============ | 
|  |  | 
|  | 9wm is an X window manager which attempts to emulate the Plan 9 window | 
|  | manager 8-1/2 as far as possible within the constraints imposed by X. | 
|  | It provides a simple yet comfortable user interface, without garish | 
|  | decorations or title-bars. Or icons.  And it's click-to-type.  This | 
|  | will not appeal to everybody, but if you're not put off yet then read | 
|  | on.  (And don't knock it until you've tried it.) | 
|  |  | 
|  | One major difference between 9wm and 8-1/2 is that the latter provides | 
|  | windows of text with a typescript interface, and doesn't need to run a | 
|  | separate program to emulate a terminal.  9wm, as an X window manager, | 
|  | does require a separate program.  For better 8-1/2 emulation, you should | 
|  | obtain Matthew Farrow's "9term" program (ftp://ftp.cs.su.oz.au/matty/unicode), | 
|  | version 1.6 or later (earlier versions don't cooperate with 9wm in | 
|  | implementing "hold mode").  Of course, you can run xterm under 9wm as well. | 
|  |  | 
|  | What is 9wm not? | 
|  | ================ | 
|  |  | 
|  | 9wm is not a virtual window manager.  It is not customisable to any | 
|  | great extent.  It is not large and unwieldy, and doesn't use the X | 
|  | toolkit.  Requests to make it any of these things will be silently | 
|  | ignored (or flamed if I have had a bad day :-)  If you want tvtwm | 
|  | or mwm, you know where to get them... | 
|  |  | 
|  | Where do I get it? | 
|  | ================== | 
|  |  | 
|  | The latest version of 9wm is held at ftp://ftp.cs.su.oz.au/dhog/9wm | 
|  |  | 
|  | Author | 
|  | ====== | 
|  |  | 
|  | 9wm was written by David Hogan (dhog@cs.su.oz.au), a postgraduate | 
|  | student at the Basser Department of Computer Science, University | 
|  | of Sydney (http://www.cs.su.oz.au/~dhog/). | 
|  |  | 
|  | Licence | 
|  | ======= | 
|  |  | 
|  | 9wm is free software, and is Copyright (c) 1994-1996 by David Hogan. | 
|  | Permission is granted to all sentient beings to use this software, | 
|  | to make copies of it, and to distribute those copies, provided | 
|  | that: | 
|  |  | 
|  | (1) the copyright and licence notices are left intact | 
|  | (2) the recipients are aware that it is free software | 
|  | (3) any unapproved changes in functionality are either | 
|  | (i) only distributed as patches | 
|  | or (ii) distributed as a new program which is not called 9wm | 
|  | and whose documentation gives credit where it is due | 
|  | (4) the author is not held responsible for any defects | 
|  | or shortcomings in the software, or damages caused by it. | 
|  |  | 
|  | There is no warranty for this software.  Have a nice day. | 
|  |  | 
|  | How do I compile/install it? | 
|  | ============================ | 
|  |  | 
|  | Assuming your system is correctly configured, you should only need to | 
|  | run xmkmf to generate the Makefile, and then run make or make install. | 
|  | make install.man should copy the manpage (9wm.man) to the appropriate | 
|  | directory. | 
|  |  | 
|  | If the make fails, complaining that the function _XShapeQueryExtension | 
|  | does not exist, try removing the "-DSHAPE" from the Imakefile, and | 
|  | run xmkmf and make again. | 
|  |  | 
|  | If you don't have imake, or it is misconfigured, or you would prefer | 
|  | not to use it, try copying the file "Makefile.no-imake" to "Makefile", | 
|  | then edit the definitions in this Makefile to suit your system.  This | 
|  | may require defining suitable compilation flags for your system | 
|  | (normally imake does this for you).  For instance, on AIX you must | 
|  | include "-DBSD_INCLUDES" in CFLAGS. | 
|  |  | 
|  | How do I use it? | 
|  | ================ | 
|  |  | 
|  | See the manual page for details.  You should probably read the | 
|  | man page for 9term as well. | 
|  |  | 
|  | What if I find a bug? | 
|  | ===================== | 
|  |  | 
|  | Please mail all bug reports to 9wm-bugs@plan9.cs.su.oz.au, so | 
|  | that I can incorporate fixes into the next release.  If you can | 
|  | tell me how to fix it, all the better. | 
|  |  | 
|  | Known Problems/Bugs | 
|  | =================== | 
|  |  | 
|  | 9wm tries hard to emulate 8-1/2, but isn't 100% compatible.  If | 
|  | you are an experienced 8-1/2 user, please be patient with it. | 
|  |  | 
|  | One intentional difference between 9wm and 8-1/2 is in the behaviour | 
|  | of the menu when the last hidden item is unhidden.  Under 8-1/2, when | 
|  | the menu is next used, it pops up with "New" selected.  Under 9wm, | 
|  | the (new) last menu item will be selected.  This is a feature.  It | 
|  | may be confusing if you frequently switch between 9wm and 8-1/2. | 
|  | If you don't like this feature, email me for the one line fix. | 
|  |  | 
|  | There have been some problems encountered when resizing 9term on | 
|  | some platforms.  This turns out to be a problem in 9term (actually | 
|  | in libXg, to be precise).  Newer versions of 9term should be | 
|  | immune to this, see matty@cs.su.oz.au if your 9term needs fixing. | 
|  |  | 
|  | Some client programs do weird things.  One of these is Frame Maker. | 
|  | It appears that if it has a modal dialog on the screen, then if any | 
|  | of its windows are current, all keypresses are redirected to the | 
|  | modal dialog.  This is not 9wm's fault -- Frame Maker is doing this. | 
|  |  | 
|  | Programs like Netscape Navigator like to put riddiculously long | 
|  | icon name properties on their windows, of the form "Netscape: blah blah". | 
|  | There is no way that I know of to stop netscape from doing this.  For this | 
|  | reason, 9wm truncates labels at the first colon it finds.  This keeps the | 
|  | button 3 menu from becoming excessively wide.  Note that with same | 
|  | applications, you can use an iconName resource to set the label; this | 
|  | works well for "xman", whose default icon name of "Manual Browser" | 
|  | is a tad too long. | 
|  |  | 
|  | See Also | 
|  | ======== | 
|  |  | 
|  | http://www.cs.su.oz.au/~dhog/ | 
|  | The 9wm Home Page | 
|  |  | 
|  | ftp://ftp.cs.su.oz.au/matty/unicode/ | 
|  | for source to 9term (get README first) | 
|  |  | 
|  | ftp://plan9.att.com/plan9/unixsrc/sam/ | 
|  | for source && info on Rob Pike's editor "sam" | 
|  |  | 
|  | ftp://rtfm.mit.edu/pub/usenet/news.answers/unix-faq/shell/rc | 
|  | for information on a publically available implementation | 
|  | of the Plan 9 shell "rc" for unix (or look in comp.unix.shell). | 
|  |  | 
|  | ftp://viz.tamu.edu/pub/rc | 
|  | for source to the abovementioned implementation of rc. | 
|  |  | 
|  | http://plan9.att.com/plan9/ | 
|  | http://plan9.att.com/magic/man2html/1/8%c2%bd | 
|  | for information on Plan 9 (including the 8-1/2 manual entry) | 
|  |  | 
|  | Acknowledgements | 
|  | ================ | 
|  |  | 
|  | Thanks to Rob Pike for writing the original 8-1/2 program (and | 
|  | before that, mux) which inspired the writing of 9wm. | 
|  |  | 
|  | Thanks to John Mackin, whose gwm "wool code" for emulating mux | 
|  | was also an inspiration: I used it (and hacked it) until I got | 
|  | too frustrated with gwm's large memory requirements and lack of | 
|  | speed (sorry Colas!), and decided to write a dedicated program. | 
|  |  | 
|  | Thanks to Matthew Farrow for writing 9term. | 
|  |  | 
|  | A big thanks to Dave Edmondson for adding support for | 
|  | multi-screen displays. | 
|  |  | 
|  | The following people helped beta test 9wm: | 
|  |  | 
|  | John Mackin | 
|  | Noel Hunt | 
|  | Fred Curtis | 
|  | James Matthew Farrow | 
|  | Danny Yee | 
|  | Arnold Robbins | 
|  | Byron Rakitzis | 
|  | micro@cooper.edu |