lkml.org 
[lkml]   [1996]   [Mar]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectExplanation of Menuconfig keys (was RE: Linux-1.3.79)

The purpose of this message is to clarify why the Menuconfig interface
uses certain keyboard keys and displays things in certain ways.

Sorry for the length of this message, but I'm on my soapbox today.

I'm not sure if the quoting is right here , sorry if it's not. This
message came through Usenet channels and may have been mangled somewhere.

On 28 Mar 1996, Dave Barr wrote:

> In article <Pine.SUN.3.91.960326230140.29905A-100000@rodan.syr.edu>,
> Mark E. Levitt <melevitt@mailbox.syr.edu> wrote:
> > Hmm, menuconfig no longer allows you to press enter and set option.
> >i.e., pressing enter while "normal floppy support" is highlighted just
> >beeps, rather than giving you the radio selection box (yes, no, module).
> > Using the keyboard and presse 'y', 'n', or 'm' work though...
>
> Looks like a feature, not a bug.
>
> I like the new design, I thought the initial menuconfig's were a first
> step but the UI was grossly inconsistent.

Perhaps, but different peoples' opinions about how a UI should operate are
EXTREMELY varied. I have learned this big time from doing Menuconfig.

I can change an operation to suit a few persons' requests and a few other
people will complain. No matter how it looks, or what keys you have to
press to get there, or how buttons are labled, or how a menu choice is
phrased, (you get the idea), someone will feel that is it incorrect and
someone else will disagree. It's very hard to please everyone. I try,
but it's hard.

Menuconfig has been an exercise (or maybe that should be exorcise ;-)) in
compromise and patience.

> However, I would like to see some sort of (Y/N/M) indication on each
> item saying if it is available as a module.

The indicator IS THERE. Read the top of the menu. If an option has
pointed brackets <> around it then it is module capable. That was the
best way I could think of to indicate tristates without increasing the
line lengths and making the display too busy. Some lines are already too
long as it is (ie. SOUND).

I think the current indicators are more visually effective. The [YN ],
[YNM ] thing is too busy to repeat down a menu 10 or twenty times and is
uneccesarily redundant (as is this paragraph). If you read the
instructions at the top of the menu and use the [] and <> brackets as
visual clues, you don't need to be told on EVERY SINGLE MENU LINE that you
can press Y/N or Y/N/M.

> It's disconcerting to
> hit 'm' on an item and still be presented with (*). I think the
> (*) should be replaced with (Y) to be consistent.
>
> Something like:
>
> ( ) [YN ] Something w/o module support
> ( ) [YNM] Something with module support
> (Y) [YNM] A compiled-in item
> (M) [YNM] A module item

I don't thing the 'Y' inside brackets is as effective a visual flag as the
'*' character. I wanted the three visual clues to be VERY distinctively
different. So, [*] means it on, [ ] means its off and <M> is the odd man
out. Exclusively using alpha characters as flags can lead to a visual
blending of the indicators which makes it difficult to visualize your
setup at a glance.
Beside, if an option doesn't have pointed brackets <> around it you
shouldn't be pressing 'M' anyway. If you hit 'M' and are presented with a
'Y' rather than a '*' would that be any less disconcerting? I doubt it.
If an option can't be a module, it just CAN'T be a module, so it MUST be
built in. Therefor, the selection can be marked by '*' or 'Y' or the
computer can honk at you. Either way it's not what you expected when you
press that 'M' key which you shouldn't have done to begin with if you
read the instructions and the <> brackets were missing.

I chose to allow menuconfig to accept the 'M' in a Y/N option for
convenience because I knew people would try it, but within a boolean
selection, 'M' translates to 'Y' for convenience/safety/sanity. Also, in
a related way, if you switch a master option like CONFIG_SCSI from 'Y' to
'M' then all dependent options that where set to 'Y' will become 'M'
automatically because they MUST. Can you see the relationship?

I hope this clarifies things.
__
William E. Roadcap mailto://roadcapw@cfw.com
TITUS Software ftp://titus.cfw.com/pub
Waynesboro, Va (USA) http://www.cfw.com/~roadcapw




\
 
 \ /
  Last update: 2005-03-22 13:36    [from the cache]
©2003-2011 Jasper Spaans