plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

README (7383B)


      1 This is David Hogan's 9wm updated to behave more like 
      2 Plan 9's rio.  Since I cannot get approval for the changes
      3 and I'd prefer not to resort to patches, I have renamed it "rio".
      4 
      5 Current incompatibilities that would be nice to fix:
      6 
      7 - The command-line options should be made more like Plan 9.
      8 
      9 - Should work out a protocol between 9term and rio so that:
     10 	* 9term can tell rio to blue its border during hold mode
     11 
     12 - Should change window focus on b2/b3 clicks and then
     13   pass along the click event to the now-focused window.
     14 
     15 - Should change 9term to redirect b3 clicks to rio so that rio
     16   can put up the usual b3 menu.
     17 
     18 Axel Belinfante contributed the code to handle border grabbing
     19 for resize and various other improvements.
     20 
     21 The original README is below.
     22 
     23 - russ cox
     24 rsc@swtch.com
     25 30 march 2004
     26 
     27 
     28                            9wm Version 1.2
     29                    Copyright 1994-1996 David Hogan.
     30 
     31 What is 9wm?
     32 ============
     33 
     34 9wm is an X window manager which attempts to emulate the Plan 9 window
     35 manager 8-1/2 as far as possible within the constraints imposed by X.
     36 It provides a simple yet comfortable user interface, without garish
     37 decorations or title-bars. Or icons.  And it's click-to-type.  This
     38 will not appeal to everybody, but if you're not put off yet then read
     39 on.  (And don't knock it until you've tried it.)
     40 
     41 One major difference between 9wm and 8-1/2 is that the latter provides
     42 windows of text with a typescript interface, and doesn't need to run a
     43 separate program to emulate a terminal.  9wm, as an X window manager,
     44 does require a separate program.  For better 8-1/2 emulation, you should
     45 obtain Matthew Farrow's "9term" program (ftp://ftp.cs.su.oz.au/matty/unicode),
     46 version 1.6 or later (earlier versions don't cooperate with 9wm in
     47 implementing "hold mode").  Of course, you can run xterm under 9wm as well.
     48 
     49 What is 9wm not?
     50 ================
     51 
     52 9wm is not a virtual window manager.  It is not customisable to any
     53 great extent.  It is not large and unwieldy, and doesn't use the X
     54 toolkit.  Requests to make it any of these things will be silently
     55 ignored (or flamed if I have had a bad day :-)  If you want tvtwm
     56 or mwm, you know where to get them...
     57 
     58 Where do I get it?
     59 ==================
     60 
     61 The latest version of 9wm is held at ftp://ftp.cs.su.oz.au/dhog/9wm
     62 
     63 Author
     64 ======
     65 
     66 9wm was written by David Hogan (dhog@cs.su.oz.au), a postgraduate
     67 student at the Basser Department of Computer Science, University
     68 of Sydney (http://www.cs.su.oz.au/~dhog/).
     69 
     70 Licence
     71 =======
     72 
     73   9wm is free software, and is Copyright (c) 1994-1996 by David Hogan.
     74   Permission is granted to all sentient beings to use this software,
     75   to make copies of it, and to distribute those copies, provided
     76   that:
     77 
     78       (1) the copyright and licence notices are left intact
     79       (2) the recipients are aware that it is free software
     80       (3) any unapproved changes in functionality are either
     81             (i) only distributed as patches
     82         or (ii) distributed as a new program which is not called 9wm
     83                 and whose documentation gives credit where it is due
     84       (4) the author is not held responsible for any defects
     85           or shortcomings in the software, or damages caused by it.
     86 
     87   There is no warranty for this software.  Have a nice day.
     88 
     89 How do I compile/install it?
     90 ============================
     91 
     92 Assuming your system is correctly configured, you should only need to
     93 run xmkmf to generate the Makefile, and then run make or make install.
     94 make install.man should copy the manpage (9wm.man) to the appropriate
     95 directory.
     96 
     97 If the make fails, complaining that the function _XShapeQueryExtension
     98 does not exist, try removing the "-DSHAPE" from the Imakefile, and
     99 run xmkmf and make again.
    100 
    101 If you don't have imake, or it is misconfigured, or you would prefer
    102 not to use it, try copying the file "Makefile.no-imake" to "Makefile",
    103 then edit the definitions in this Makefile to suit your system.  This
    104 may require defining suitable compilation flags for your system
    105 (normally imake does this for you).  For instance, on AIX you must
    106 include "-DBSD_INCLUDES" in CFLAGS.
    107 
    108 How do I use it?
    109 ================
    110 
    111 See the manual page for details.  You should probably read the
    112 man page for 9term as well.
    113 
    114 What if I find a bug?
    115 =====================
    116 
    117 Please mail all bug reports to 9wm-bugs@plan9.cs.su.oz.au, so
    118 that I can incorporate fixes into the next release.  If you can
    119 tell me how to fix it, all the better.
    120 
    121 Known Problems/Bugs
    122 ===================
    123 
    124 9wm tries hard to emulate 8-1/2, but isn't 100% compatible.  If
    125 you are an experienced 8-1/2 user, please be patient with it.
    126 
    127 One intentional difference between 9wm and 8-1/2 is in the behaviour
    128 of the menu when the last hidden item is unhidden.  Under 8-1/2, when
    129 the menu is next used, it pops up with "New" selected.  Under 9wm,
    130 the (new) last menu item will be selected.  This is a feature.  It
    131 may be confusing if you frequently switch between 9wm and 8-1/2.
    132 If you don't like this feature, email me for the one line fix.
    133 
    134 There have been some problems encountered when resizing 9term on
    135 some platforms.  This turns out to be a problem in 9term (actually
    136 in libXg, to be precise).  Newer versions of 9term should be
    137 immune to this, see matty@cs.su.oz.au if your 9term needs fixing.
    138 
    139 Some client programs do weird things.  One of these is Frame Maker.
    140 It appears that if it has a modal dialog on the screen, then if any
    141 of its windows are current, all keypresses are redirected to the
    142 modal dialog.  This is not 9wm's fault -- Frame Maker is doing this.
    143 
    144 Programs like Netscape Navigator like to put riddiculously long
    145 icon name properties on their windows, of the form "Netscape: blah blah".
    146 There is no way that I know of to stop netscape from doing this.  For this
    147 reason, 9wm truncates labels at the first colon it finds.  This keeps the
    148 button 3 menu from becoming excessively wide.  Note that with same
    149 applications, you can use an iconName resource to set the label; this
    150 works well for "xman", whose default icon name of "Manual Browser"
    151 is a tad too long.
    152 
    153 See Also
    154 ========
    155 
    156 http://www.cs.su.oz.au/~dhog/
    157     The 9wm Home Page
    158 
    159 ftp://ftp.cs.su.oz.au/matty/unicode/
    160     for source to 9term (get README first)
    161 
    162 ftp://plan9.att.com/plan9/unixsrc/sam/
    163     for source && info on Rob Pike's editor "sam"
    164 
    165 ftp://rtfm.mit.edu/pub/usenet/news.answers/unix-faq/shell/rc
    166     for information on a publically available implementation
    167     of the Plan 9 shell "rc" for unix (or look in comp.unix.shell).
    168 
    169 ftp://viz.tamu.edu/pub/rc
    170     for source to the abovementioned implementation of rc.
    171 
    172 http://plan9.att.com/plan9/
    173 http://plan9.att.com/magic/man2html/1/8%c2%bd
    174     for information on Plan 9 (including the 8-1/2 manual entry)
    175 
    176 Acknowledgements
    177 ================
    178 
    179 Thanks to Rob Pike for writing the original 8-1/2 program (and
    180 before that, mux) which inspired the writing of 9wm.
    181 
    182 Thanks to John Mackin, whose gwm "wool code" for emulating mux
    183 was also an inspiration: I used it (and hacked it) until I got
    184 too frustrated with gwm's large memory requirements and lack of
    185 speed (sorry Colas!), and decided to write a dedicated program.
    186 
    187 Thanks to Matthew Farrow for writing 9term.
    188 
    189 A big thanks to Dave Edmondson for adding support for
    190 multi-screen displays.
    191 
    192 The following people helped beta test 9wm:
    193 
    194 	John Mackin
    195 	Noel Hunt
    196 	Fred Curtis
    197 	James Matthew Farrow
    198 	Danny Yee
    199 	Arnold Robbins
    200 	Byron Rakitzis
    201 	micro@cooper.edu