Blame


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