Subject: Re: On the topline menu
To: Jarkko Torppa <torppa@cute.fi>
From: Chris G. Demetriou <cgd@alpha.bostic.com>
List: macbsd-general
Date: 06/18/1994 23:06:27
[ i've said this N times to various people in private mail, so... ]

> Why should kernel provide a top-line menu and take something usable away ?

Actually, it goes further than that:

WHY SHOULD THE KERNEL PROVIDE ANY SORT OF USER-INTERFACE MANAGEMENT?

This is NOT MacOS.  IF you want menus, they should be done in
a user-land program.  If you want a status line, it _maybe_ should
be done by the kernel, as part of the terminal emulation, but
it more likely should be done by a user-land program.  Some people
think that virtual terminals are a good exception to this rule;
i could agree with that.

The bottom line is, _NOTHING_ relating to user-interface should
be in the kernel.  Virtual terminals are somewhat acceptable,
because (if done right) can give you an awful lot better support
when done in-kernel.  However, pretty much all of the rest
of these bits of code DO NOT BELONG IN THE KERNEL.


the console driver should provide several things to the user-land utilities:
	(1) a tty interface, which perhaps does some terminal
		emulation.  This is for character applications, e.g.
		getty.
	(2) mappable video memory.
that's it.  If you want to deal with a mouse, OPEN THE MOUSE'S DEVICE.
If you want to put a menu on the screen, or a status bar, or do screen
splitting, log in and run a program (such as screen, or whatever you'd
care to hack up) that does it for you.

But DON'T put put menus in the kernel...


cgd

------------------------------------------------------------------------------