diff options
author | Li Zefan <lizf@cn.fujitsu.com> | 2010-04-13 23:46:02 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2010-04-14 09:34:19 -0400 |
commit | 22c7eca61e51296643bb0a379fc726fda8f3b015 (patch) | |
tree | ee313b7cf959db1aa0e4fb33174fa8c4a1c8af3b /scripts/kconfig/lxdialog | |
parent | 7b5d87215b38359ecadf7a69575b11e140a00484 (diff) |
menuconfig: add support to show hidden options which have prompts
Usage:
Press <Z> to show all config symbols which have prompts.
Quote Tim Bird:
| I've been bitten by this numerous times. I most often
| use ftrace on ARM, but when I go back to x86, I almost
| always go through a sequence of searching for the
| function graph tracer in the menus, then realizing it's
| completely missing until I disable CC_OPTIMIZE_FOR_SIZE.
|
| Is there any way to have the menu item appear, but be
| unsettable unless the SIZE option is disabled? I'm
| not a Kconfig guru...
I myself found this useful too. For example, I need to test
ftrace/tracing and want to be sure all the tracing features are
enabled, so I enter the "Tracers" menu, and press <Z> to
see if there is any config hidden.
I also noticed gconfig and xconfig have a button "Show all options",
but that's a bit too much, and I think normally what we are not
interested in those configs which have no prompt thus can't be
changed by users.
Exmaple:
--- Tracers
-*- Kernel Function Tracer
- - Kernel Function Graph Tracer
[*] Interrupts-off Latency Tracer
- - Preemption-off Latency Tracer
[*] Sysprof Tracer
Here you can see 2 tracers are not selectable, and then can find
out how to make them selectable.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts/kconfig/lxdialog')
-rw-r--r-- | scripts/kconfig/lxdialog/menubox.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c index fa9d633f293c..1d604738fa13 100644 --- a/scripts/kconfig/lxdialog/menubox.c +++ b/scripts/kconfig/lxdialog/menubox.c | |||
@@ -383,6 +383,10 @@ do_resize: | |||
383 | case 'n': | 383 | case 'n': |
384 | case 'm': | 384 | case 'm': |
385 | case '/': | 385 | case '/': |
386 | case 'h': | ||
387 | case '?': | ||
388 | case 'z': | ||
389 | case '\n': | ||
386 | /* save scroll info */ | 390 | /* save scroll info */ |
387 | *s_scroll = scroll; | 391 | *s_scroll = scroll; |
388 | delwin(menu); | 392 | delwin(menu); |
@@ -390,8 +394,10 @@ do_resize: | |||
390 | item_set(scroll + choice); | 394 | item_set(scroll + choice); |
391 | item_set_selected(1); | 395 | item_set_selected(1); |
392 | switch (key) { | 396 | switch (key) { |
397 | case 'h': | ||
398 | case '?': | ||
399 | return 2; | ||
393 | case 's': | 400 | case 's': |
394 | return 3; | ||
395 | case 'y': | 401 | case 'y': |
396 | return 3; | 402 | return 3; |
397 | case 'n': | 403 | case 'n': |
@@ -402,18 +408,12 @@ do_resize: | |||
402 | return 6; | 408 | return 6; |
403 | case '/': | 409 | case '/': |
404 | return 7; | 410 | return 7; |
411 | case 'z': | ||
412 | return 8; | ||
413 | case '\n': | ||
414 | return button; | ||
405 | } | 415 | } |
406 | return 0; | 416 | return 0; |
407 | case 'h': | ||
408 | case '?': | ||
409 | button = 2; | ||
410 | case '\n': | ||
411 | *s_scroll = scroll; | ||
412 | delwin(menu); | ||
413 | delwin(dialog); | ||
414 | item_set(scroll + choice); | ||
415 | item_set_selected(1); | ||
416 | return button; | ||
417 | case 'e': | 417 | case 'e': |
418 | case 'x': | 418 | case 'x': |
419 | key = KEY_ESC; | 419 | key = KEY_ESC; |