Subject: window(1)
To: None <>
From: Richard Rauch <>
List: netbsd-users
Date: 01/29/2003 09:28:20
(I'm not sure where is really the best place to post this.  Some
people use current-users for this sort of thing, but IMHO that's
the wrong place to discuss ideas, unless the ideas only relate to
features found only in -current...)

We have a program called window that ships with the base system.
I learned about it and used it before I set up X for the first
time, so I have a bit of nostalgia for it.  (^&

The window sources seem to be fairly stagnant.  I think that this
is for several reasons, probably including:

 * Perhaps X is more pervasive (more memory, faster CPU's, cheaper
   graphics hardware, and perhaps better support on existing ports).

 * wscons does virtual consoles.  (And it looks like someone
   has finally committed a scrollback-buffer to wscons in the
   mainline -current.)

 * GNU screen is in pkgsrc and does most/all of the things that
   window does, and some things that window doesn't (or does them
   better---e.g., it emulates a VT100-like terminal so you can
   run screen, ssh out to another box, and set TERM to something
   that will almost certainly work).

   (GNU EMACS also provides a lot of comparable functionality
   if you create split windows and run shell processes...)

I still think that it would be desirable to have window kept
around, and improved.  It is under the Berkeley license (which
I find more agreeable, personally), and is "one of our own",
originating under 4.3BSD (okay, not originating under NetBSD,
but under a BSD).  It also provides things that wscons still
doesn't support (cut and paste and simultaneous views of
concurrent windows---also dynamically resizable).

I'd like to:

 * Export the existing window's TERMCAP to our termcap database.
   (Maybe also push it out to terminfo?)  At the very least, a
   NetBSD user should be able to run window, ssh to another
   NetBSD box, and get better-than-dumb-terminal behavior.
   (With luck, maybe the entry will spread to other termcap's.)

 * Modify window to emulate a more common terminal type (or
   define a new "window-v3" TERM setting as a superset of something
   like a VT220).

 * Add "missing" features (the one that springss to my mind is
   GNU screen's ability to reconnect a disconnected terminal:
   ssh to a remote, run screen, lose the connect, reconnect, run
   screen again, and your old context/processes are ready and
   waiting for you).

Before I commit myself to this, I thought that I'd test the waters.
Does anyone object (why?).  What would be a better term-type, if
not VT220 (or is the current window-v2 really okay, if you happen
to know that <X> is common in termcap's and more or less compatible)?
What other features might be added?

And, then perhaps the most important: If some or all of the above
were to be done, would it be likely to be accepted into the NetBSD
sources?  (^&

  "I probably don't know what I'm talking about."