Received: by 10.192.165.148 with SMTP id m20csp5304627imm; Tue, 1 May 2018 12:35:42 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqd7QoTRze6AKEVc7YEd0W0GQyZwZqMb3uT+vr1ELwGWKrMjGcgsYih5eOWvf6Gnlpy3HRY X-Received: by 10.98.11.3 with SMTP id t3mr16888804pfi.32.1525203342436; Tue, 01 May 2018 12:35:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525203342; cv=none; d=google.com; s=arc-20160816; b=uGCwTginzvO/3LwyXAdAEMesV2ihibe96y6xf6eymQS+VnApHQXQ4S/xZ7pwuR1Y1R ckVzXo3nn0ipBMgEVGj80Ufs5e4Gq1Y+bs+GN+kRfgCN2I7n7UyxTCFGi2XGgqVKHwFG kmcs/dO/+Jggag2sK+2X08rI5/DsAh9yfKy8+ha3olkGDGemx8Ls4NnaYLetsf3qOYwh 3QJODrmKgP5XmHSGJmYUdFe1j3R1lGf3WlLYl15z7AT5PAVX5Aeh/CJAFAae25qNz/Bk U+oAEZwKMTidBdlIqw+j9OMD8Y0d+BzcDaU1d7MK633Ix+CFlnt/Vc/rTPZjnXWcRn+q 0RSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:arc-authentication-results; bh=ozViUSpJha9KxoAj97RCBJBKDi3bKEnnwn70iybK+Bg=; b=A3YNGO2y+yDYBcy3oR1z07qtJR4F6ksBmywNIATQ7l3gYQPT5OiiefKZgiolOmyimL A/GQsqpDbAIl/USyLKKmqdt0BFb/OaKW73n1RKo7TMd7lKIj83KejCLLjlLAANb48Df2 GLC9m/HgPHoO09QoYE5OXTEke0tZcsNWQXNTcFVDzl5W3vaEYY6dV3f1EmWYWp7pNzI5 bMiJVqavhO5iDc7sa8W4dmZmZ4uk8UT2lg5FsvUg+HessBLnrFbExoelD8oe35Jj9+Tp ECglJyjygvbPI6YfmvDGGYhgrN5Q1xSGtqddIaO3peXs7YULESUsddCo+0fGxdaNsGcB BNyw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=MCPh2cVh; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o21-v6si10053219pll.447.2018.05.01.12.35.26; Tue, 01 May 2018 12:35:42 -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=@gmail.com header.s=20161025 header.b=MCPh2cVh; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751069AbeEATdy (ORCPT + 99 others); Tue, 1 May 2018 15:33:54 -0400 Received: from mail-oi0-f44.google.com ([209.85.218.44]:41761 "EHLO mail-oi0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750755AbeEATdx (ORCPT ); Tue, 1 May 2018 15:33:53 -0400 Received: by mail-oi0-f44.google.com with SMTP id 11-v6so10906097ois.8; Tue, 01 May 2018 12:33:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ozViUSpJha9KxoAj97RCBJBKDi3bKEnnwn70iybK+Bg=; b=MCPh2cVhHloOnB+dCpV1oa527dcadTWqyh4+HP1ydte704cUoQRS1GRDXc6azZfpTe KrjDMHWKNsUYjg1oF3N90J7dwxCqsuMfxi36kK5Cs3yS0ak/+a5OR2vocajEfp6Krhdd fsFw3vKJJ7LjJU8NyuMsJkddgNrkZybOUC9lDHET/7nTAzk20oENSRgXeXZ0YiOQdRLv tsPlTKAXPiMUgMFz/kXLqr9PuKyOHSZ+GP5Y/BFAmIgJ0DgDcFzwot5xdHcDXhlwdTm4 RQm2i3WQEVH+aUXtDKmsNkzZpHEKlQEJEY05Pnnnmg/yY2B0CRLMjee7kP/+Gx9E/Ubp Ov2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=ozViUSpJha9KxoAj97RCBJBKDi3bKEnnwn70iybK+Bg=; b=Gz4C8Or50tX9aCn5pYGorfE0CSP8yP6U3y43urQfgOf/qp/bOdeKgPmboEZ+W2+r+X tdtdBuBLASg6wpAG0zekui83ADCEDBEL/rLOajl2wG01oCeTBiWLGWo2aBbiu/PEptfT cBGtSZJW0CIgJj//I4NYxa5FYUZiD57TaSRZLfW7eWoj/5/jm+kCtXmBLXfeZOY8X5l5 cQy1E33y9ZOOXXD5gcI5/sQ8ccTOuOXTYfS4cbFMBVnfvUKod/KxvSuiV9NdvLEx+XLO FLcNVn8Tc8XpMPrOKPHzLrnusfBqSDN8nvVgX1j7PCO1TqT6jxP05CwW21DEkP1XgHCQ A5wA== X-Gm-Message-State: ALQs6tBBJVhD3B8OrM2IqGZtKf1lmNBPDeB2KAh0bjat00tPsyZ9EX+u Wg70fpgImCtPWPZ50Yp1nHaUCw/DbE61Ts6iEYFfBw== X-Received: by 2002:aca:6818:: with SMTP id d24-v6mr10086551oic.66.1525203232736; Tue, 01 May 2018 12:33:52 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:185:0:0:0:0:0 with HTTP; Tue, 1 May 2018 12:33:52 -0700 (PDT) In-Reply-To: References: <25f6b309-9346-7e28-beeb-a37e69a91ce8@infradead.org> From: Ulf Magnusson Date: Tue, 1 May 2018 21:33:52 +0200 Message-ID: Subject: Re: [ANNOUNCE] Kconfiglib menuconfig implementation To: Randy Dunlap Cc: Linux Kbuild mailing list , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, May 1, 2018 at 8:52 PM, Randy Dunlap wrote: > On 05/01/2018 11:13 AM, Randy Dunlap wrote: >> On 05/01/2018 10:56 AM, Randy Dunlap wrote: >>> On 04/30/2018 05:57 PM, Ulf Magnusson wrote: >>>> Hello, >>>> >>>> Kconfiglib (https://github.com/ulfalizer/Kconfiglib) now has a >>>> terminal menuconfig implementation, implemented in plain curses >>>> (which is in the Python standard library). >>>> >>>> The interface should feel familiar to people used to mconf. It has >>>> some features that mconf lacks: >>>> >>>> - Seamless resizing >>>> >>>> - Unicode support >>>> >>>> - Runs on Windows (via 'pip install windows-curses', which uses >>>> PDCurses) >>>> >>>> - Improved information displays: >>>> >>>> * All expressions are split into readable chunks >>>> >>>> * Menus and comments have information displays >>>> >>>> - Relatively easy-to-read and easy-to-tweak code. >>>> >>>> Kconfiglib automatically invalidates symbols as needed, and >>>> values can never get stale, which helps. >>>> >>>> Some upcoming features are mouse support and a search feature that >>>> can jump directly to the definition of a symbol. The jump-to feature >>>> will use a "show-all" mode in case the symbol isn't visible. >>>> >>>> See the Kconfiglib GitHub page for screenshots. The menuconfig >>>> implementation is at >>>> https://github.com/ulfalizer/Kconfiglib/blob/master/menuconfig.py. >>>> The docstring at the top has some more information. >>> >>> Hi, >>> >>> I'm probably missing some python additive (I hope it's that easy), but >>> menuconfig.py is not liking the "degree" symbol in drivers/net/can/peak= _canfd/Kconfig: >>> >>> config CAN_PEAK_PCIEFD >>> depends on PCI >>> tristate "PEAK-System PCAN-PCIe FD cards" >>> ---help--- >>> This driver adds support for the PEAK-System PCI Express FD >>> CAN-FD cards family. >>> These 1x or 2x CAN-FD channels cards offer CAN 2.0 a/b as well a= s >>> CAN-FD access to the CAN bus. Besides the nominal bitrate of up = to >>> 1 Mbit/s, the data bytes of CAN-FD frames can be transmitted wit= h >>> up to 12 Mbit/s. A galvanic isolation of the CAN ports protects = the >>> electronics of the card and the respective computer against >>> disturbances of up to 500 Volts. The PCAN-PCI Express FD can be >>> operated with ambient temperatures in a range of -40 to +85 =C2= =B0C. >>> >>> >>> kconfiglib.KconfigSyntaxError: >>> Malformed ascii in drivers/net/can/peak_canfd/Kconfig >>> Context: b't temperatures in a range of -40 to +85 \xc2\xb0C.\n' >>> Problematic data: b'\xc2' >>> Reason: ordinal not in range(128) >> >> BTW, after modifying 4 other instances of this "error," I have it runnin= g. >> Now looking/testing. :) > > Hi Ulf, > > Here are a few comments for you FWIW. > > menuconfig.py uses the terminal window space better than menuconfig: > fewer margins, less Help text so more usable lines. > > ESC/q is nicer than in ESC+ESC in menuconfig. > > What is the lower colored line for? I don't see it being used. It's just a separator above the help text with the keys. Also has arrows pointing down when the window is scrolled up. Maybe the help text could appear directly at the bottom with a different background color instead. Not sure if it'd get uglier. > > On Quit, don't need to prompt for Save when the file is already saved > or has not been modified. Will fix. I had gotten the idea that mconf always prompted, so I got lazy for the initial version. :) > > When menuconfig displays the Kconfig menu tree and it is over term-width > characters, it truncates on the left so that the user can see all of > the current menu name. menuconfig.py truncates on the right so that > the current menu name may be partially lost or totally lost. You mean the menu path at the top? Will fix that. > > To enable=3Dy a tristate symbol, cannot enter Y, must do Space Space to c= ycle > from N to M to Y. Had never noticed that feature in mconf. I'll add it. > > No / symbol search. I use that a lot, but I don't claim to be a > typical user. It's planned. It will also support jumping directly to a symbol in the menu tree, which is a feature I've always missed in mconf. A "show all" mode will be added at the same time, that shows invisible symbols. Jumping to an invisible symbol can then turn it in automatically. > > > Thanks. > -- > ~Randy Cheers, Ulf