lkml.org 
[lkml]   [2015]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] menuconfig: Search from everywhere
From
Date
[Removed Yann. Web searches should explain why.]

On Mon, 2015-02-09 at 19:12 +0600, Alexander Kuleshov wrote:
> If we want to see search window again, for example after typo
> or for another search, we need to press on '< Exit >' and than
then

> execute new search. Let's make '/' active everywhere.

Everywhere or just in the "Search Results" screen itself?

A drawback of menuconfig is its stacked interface. Each search and jump
pushes two screens to its stack of screens. I'm often surprised at the
number of screens I generated by searching around a bit. Does searching
from withing search results again push another screen onto the stack?

Anyhow, if hitting enter and "/" bothers you a redesign of the search
functionality would be a better idea. Eg, make it have a input area on
top (to type in the query) and an text area below it (to display
results). Which is probably not worth the, presumably rather big,
effort.

> Signed-off-by: Alexander Kuleshov <kuleshovmail@gmail.com>
> ---
> scripts/kconfig/lxdialog/textbox.c | 4 ++++
> scripts/kconfig/mconf.c | 8 ++++++++
> 2 files changed, 12 insertions(+)
>
> diff --git a/scripts/kconfig/lxdialog/textbox.c b/scripts/kconfig/lxdialog/textbox.c
> index 1773319..958770d 100644
> --- a/scripts/kconfig/lxdialog/textbox.c
> +++ b/scripts/kconfig/lxdialog/textbox.c
> @@ -141,6 +141,10 @@ do_resize:
> while (!done) {
> key = wgetch(dialog);
> switch (key) {
> + case '/':
> + key = 9;
> + done = true;
> + break;
> case 'E': /* Exit */
> case 'e':
> case 'X':
> diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
> index 4dd3755..d49fa45 100644
> --- a/scripts/kconfig/mconf.c
> +++ b/scripts/kconfig/mconf.c
> @@ -446,7 +446,15 @@ again:
> str_get(&res), 0, 0, keys, &vscroll,
> &hscroll, &update_text, (void *)
> &data);
> + if (dres == 9) {
> + free(sym_arr);
> + str_free(&title);
> + list_del(trail.prev);
> + str_free(&sttext);
> + search_conf();
> + return;
> + }
> +
> again = false;
> for (i = 0; i < JUMP_NB && keys[i]; i++)
> if (dres == keys[i]) {

Thanks,


Paul Bolle



\
 
 \ /
  Last update: 2015-02-11 18:41    [W:0.046 / U:10.540 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site