Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4029459imm; Mon, 11 Jun 2018 06:00:26 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKM4SuvYacCW/Rh8dZAKkOPD6Y0lIGIpmkzlgPhw5tkt+441ARi9T391lmCZvNtRyimgXp2 X-Received: by 2002:a63:2b15:: with SMTP id r21-v6mr14861377pgr.269.1528722026693; Mon, 11 Jun 2018 06:00:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528722026; cv=none; d=google.com; s=arc-20160816; b=MekI7Hg0dudwxs3YfWlnkjvR6xswv4TyM9h3Uxqt0dn3J8SNoIMPt/cLnM4xmItdUC 5br4IOTVuw5QkdWGjEbCHroECtAsSH/WAiINHmQOknz111rtuDEPUo5F4WGa35wfdcY6 OqKOvVd1eHUr9/Up9OukNq6H6Cs2bLt3cc0T+r5I9ASU3m4INAsHQKNaxp8onNgohZEd E6nVnMVEQNDZK5aG7QWUBuVmrQU/8zmcS1TJgOU3a6SbRxckmxc6aMQdUpHG8yaErtGT r+WiISAlxAgL2lDXcg2QiAfIyKxWfKATA7LbhhOIe8GvsG2V/kBHQr6hoTc39BusqVEe dpHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=HvP+mvwmXmRpCjPANL494H0KHRUzdxEkvPnvtAfNCOM=; b=ivprg5pmC8Jw3a4ZaUALuUMrYoXDn/JULf0SaHZMGkPA6Q5p0J5U1k90CPBixvumN2 UViWxu/wDuJj9jsEJRIrsiR2zTAxFmtY3RprMzyPb274hct/+odN2QsS3KuKl3eA+v1Q yhLIPp+hsePpez1YNTrS8aIW6oFo9uUP8qt2l+CnXXpCE3PQqN5HxmQnGPFzeCFJwVap WK4Uh1AezW3YDczgIKrJjpEZfWYnHmAsqtWT+ph+eDI8HaZ1VCvN1oG3/2+u2n/jo+X8 +SfdsljaeBImV1isZahMlvdisHPJSQO0K0btGP8E9j9RFkQJxB0/5hjtYM+UCv3NdLQ8 JRiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gouders.net header.s=gnet header.b=jKyZ413b; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g7-v6si10995821plo.214.2018.06.11.06.00.12; Mon, 11 Jun 2018 06:00:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gouders.net header.s=gnet header.b=jKyZ413b; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933152AbeFKM73 (ORCPT + 99 others); Mon, 11 Jun 2018 08:59:29 -0400 Received: from services.gouders.net ([141.101.32.176]:36280 "EHLO services.gouders.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933082AbeFKM7Z (ORCPT ); Mon, 11 Jun 2018 08:59:25 -0400 Received: from lena.gouders.net ([193.175.198.193]) (authenticated bits=0) by services.gouders.net (8.14.8/8.14.8) with ESMTP id w5BCq6mj028784 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Mon, 11 Jun 2018 14:52:17 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gouders.net; s=gnet; t=1528721540; bh=Pxcoe5KNDn1Lwvd2K0J51uJ5V+ChNW7fl2zW/X/EGHI=; h=From:To:Cc:Subject:Date; b=jKyZ413bbgjIyOSQnJ5gB2HBBVO9RV5caoeMq80nUoH/X/SUHthUYn3nL51uzF8Z3 CFBxIueL2C+WqUMddj3eqf4r5fomhOkidlruErC69+v2wc/6P35q2yWNUeF2LEvxir ZIrbQFi2vhZ/IDoWmilv1tuX/YJQFXpUf9XV0GZ4= From: Dirk Gouders To: Masahiro Yamada , Randy Dunlap , Linux Kbuild mailing list , Linux Kernel Mailing List , Segher Boessenkool , Sam Ravnborg Cc: Dirk Gouders Subject: [RFC v5 0/1] i-search navigation for mconf Date: Mon, 11 Jun 2018 14:51:54 +0200 Message-Id: <20180611125155.21470-1-dirk@gouders.net> X-Mailer: git-send-email 2.16.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, I reworked the prototype for the i-search navigation concept. It is now more thoroughly tested and hopefully not a waste of time to have a look at it. For the focus-sensitive help text, I modified the function print_autowrap() and for now called it print_autowrap_fill(). It could replace the old function but does a bit more work than it. With this navigation concept, mconf's behavior (in i-search mode) is quite different from the known one, most noticeably the need to switch focus to the buttons to be able to use . Ideas are very welcome. Interesting in i-search mode is the ability to not only search item strings, but also their selection marks. So, one can search for items selected as a module, for example. Dirk Changes in v5: * More thoroughly tested code * Hotkey navigation concept completely dropped * Printable characters except special ones form the search string * Focus-sensitive help text above menu * DEL erases search string * Matching string is highlighted in selected menu item * README help text adjusted Changes in v4: * Prototype: consequent i-search navigation concept Changes in v3: * Use current git tree to make the patch apply. * Eliminate debugging output to stderr. Changes in v2: * Additionally to CTRL-s, \ can be used to start isearch. * Raw mode is off by default an can be enabled by an environment variable MENUCONFIG_RAW_MODE. * I also added a variable for toggling raw mode but did not implement anything else. * The isearch indicator is now displayed as soon as isearch is started. * Any key except \, CTRL-s, alphanumeric characters and space terminates isearch and -- except ESC ESC -- is further processed, e.g. ENTER terminates isearch and is then used to navigate into a submenu. * Problems with mismatches and matches above the current position were fixed. Dirk Gouders (1): i-search navigation for mconf scripts/kconfig/lxdialog/dialog.h | 3 + scripts/kconfig/lxdialog/menubox.c | 489 +++++++++++++++++++++++++++---------- scripts/kconfig/lxdialog/util.c | 106 +++++++- scripts/kconfig/mconf.c | 68 ++++-- 4 files changed, 506 insertions(+), 160 deletions(-) -- 2.16.4