UNIX Windows
jacob at Nrl-Css.ARPA
jacob at Nrl-Css.ARPA
Wed Apr 4 10:04:00 AEST 1984
From: Rob Jacob <jacob at Nrl-Css.ARPA>
I just came across a recent message on info-unix asking about my
window manager program (WM) for Unix. I described it at the
USENIX conference in Washington last January. I originally
wrote WM for a PDP-11/45 running vanilla v6 Unix. (This was a
long time ago!) I wanted to do it without any kernel changes. I
have since ported it to v7, 2.8bsd, 4.1bsd, 4.1c on a SUN, and,
soon, 4.2, all without kernel mods.
WM runs as a collection of user processes, connected by pipes.
(Yes, this means you can't run screen editors and other neat
programs inside it yet. But you will be able to run them in
4.2bsd, where I use PTY's instead of pipes.)
I haven't posted the code, but I'll be glad to mail it to anyone
who is interested. There are presently 3 1/2 versions of the
program, so tell me which you are interested in. Source for
each is about 80k bytes. I'll mail them to anyone who is
interested if you're on the arpanet or if your uucp path
won't choke on that size message -- or send me a tape and I'll
put all the versions on it. I'd also be glad to hear from
anyone with general questions or comments on this stuff and/or
to send them a copy of my USENIX paper.
These are the versions of the program that I have now--
wm.v6 runs on vanilla v6 Unix, a relic from the ancient past.
wm.v7 runs on vanilla v7 Unix on a PDP-11, also on 2.8bsd, on
a VAX on 4.1bsd and (probably) 4.2bsd, and on a SUN on
4.1c, but it doesn't exploit the later Unixes. Uses
TERMCAP if you have it, but can also run without it.
This is the most robust and portable version, but it lacks
some of the neat features of the later ones.
wm.v7c runs on v7 Unix systems that have CURSES. This has
been tested only on 4.1bsd on a VAX, but should work on
v7 or 2.8bsd on a PDP-11 if it will fit. It runs faster
and has some extra features, but is a little less robust
and less portable than wm.v7.
wm.v42 (this is the 1/2 version) completely redesigned to use
features available only in 4.2bsd Unix, namely
non-blocking i/o and PTY's. HOWEVER, I have not been
able to test it properly on 4.2, so I suspect it needs
a little hacking to make it run. I have sent it to
some people who report that they got it to run on their
4.2 systems, but "caveat emptor" until we get 4.2 up
here again so I can fix it.
Finally, this is a brief description of what the program (all
versions) does: WM manages a collection of windows on a display
terminal. Each window has its own shell, running in parallel
with those in the other windows. This permits a user to conduct
several interactions in parallel, each in its own window. The
user can move from one window to another, re-position a window,
or create or delete a window at any time without losing his or
her place in any of the windows. Windows can overlap or
completely obscure one another; obscured windows can be "lifted"
up and placed on top of the other windows.
Hope this answers your questions,
Robert Jacob
ARPANET: jacob at nrl-css
UUCP: {decvax,linus}!nrl-css!jacob
SNAIL: Code 7590, Naval Research Lab, Washington, D.C. 20375
More information about the Comp.unix
mailing list