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
------------------------------------------------------------------------------