Received: by 10.192.165.148 with SMTP id m20csp1339739imm; Wed, 2 May 2018 19:47:54 -0700 (PDT) X-Google-Smtp-Source: AB8JxZo1OEnNObuqWOKWItlkvyR60a5kkn0b4hlr47OmLAzejZ5VWcJyO7OpV0vrEDRYbybHL+DE X-Received: by 10.98.33.28 with SMTP id h28mr20953128pfh.249.1525315674052; Wed, 02 May 2018 19:47:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525315674; cv=none; d=google.com; s=arc-20160816; b=diB178SwwoJ578hp+qZTlR5Vt5wn+jEX97R1XdFQz3HnQ+OvxRrWlxhRHM3pvRA3/R FcSxOKSh601Qj38mbNaPi9v+Aaj0+1zmyAMxRwfbMlE0UGwnw3ZavelA7UpAiWCbCoif PwhtW1I2IAQU1XqAfhVa4INy+Aj0CxRNqlP/quMZLd0xP0RV+3two7oikTsric9GDJIL p5eGuSt3nGIzyy+z2479oJ4rw4HexvXLWCJIH51DhpZbyaPFDkR89Z2KWdHdHZUqV1kQ aaaBPDk+kQNpGnmGf0MYi/RsmBLoS++B1Ze/yLtW6bsbkoEqAwhPedPoLY8frg2H+U3Q TcLw== 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=3RY7osmkaAC10cuWGlQHQMdSBYPAZxZ0nZos9aNyJ1M=; b=f0ylBER88S3avqhw90UbiR7notEuNs3uo9Dc5N09dJtbCGl0Bm7apd8tkjlaVS+HMR eDYDJEYl2iFAHosiIyLUirGnTaP/xpEUkjx8oZ7mDHO0txc8NQAq7mCZyqvdEFGIPQg+ jkRUGkhhafzxSTLKgqiadah9siCvOB9eB7ZuSwCUAZWMBFINiZGfJ1FYDrO/maa4dEC7 dXSsoJ6GoA31sJKJcCb/iy6Eu//ntPtuOb8oSw4GSJXexfG14z97jgZvH+Q085r2MwdG 2iXDWY2cu1BbktgGEpMyo9TNRiG2bC2rpK4GJ7CmCRqaKnSwVzi1hfiWii9855lvPtac KzIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=hN2jL8Vq; 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 n11-v6si12546928plg.565.2018.05.02.19.47.39; Wed, 02 May 2018 19:47:54 -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=hN2jL8Vq; 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 S1752039AbeECCr2 (ORCPT + 99 others); Wed, 2 May 2018 22:47:28 -0400 Received: from mail-ot0-f180.google.com ([74.125.82.180]:46347 "EHLO mail-ot0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751929AbeECCrZ (ORCPT ); Wed, 2 May 2018 22:47:25 -0400 Received: by mail-ot0-f180.google.com with SMTP id t1-v6so18980591ott.13; Wed, 02 May 2018 19:47:25 -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=3RY7osmkaAC10cuWGlQHQMdSBYPAZxZ0nZos9aNyJ1M=; b=hN2jL8VqPGuuVpOEkYVnnIgx8nEo7YiSF4655HznvUrQR/yKxp7mx24lLsNaX6+BvN 29aTIifB2kt3wpoSVgeGLevaFTtoICgng96VLjdpiN6WigWA9fhA4hv+khIT7zgqtnrJ SDlGN3gJKW+F2TEiyTPNl3dCUJV3NvR/yX94j6l672UWLXwIjC1M6NtWX06kUym7zNEU eWXQlWnN1waBN3yniWdLkYOSBr8EzmO1Q+WnvNwGXfLTQOh+c3VRhOws2DRAArDebP6t KEEr+900VwREVV1GzPhO43XCE3O86Rg8lzPHfvf2MsIZRMMc3r+mdChdTQkbq9Nb2zLc +J7A== 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=3RY7osmkaAC10cuWGlQHQMdSBYPAZxZ0nZos9aNyJ1M=; b=YyDjmeCf+Cu2dV4W2wn2m+Y6LeqlqzUpcdCMs7v29idpWZb9T4O1hSfY5Q+4E1zup4 +Ft8sQT+rk9R01FDnoe4RUzh4nk2rgtyvEOuJts+VSeHVCv/5irMkhZajBEhah7565k6 xtPpLDXoNFjWB0AtAdCPolR0tL9zXVnXhS7GTaj+7SXhGKVPBpvxIiPVfccaqzj7pqyd P1mRGfqJL6I00ZnhgbYuC2W+N5CnJHG0mYfhNSN94ujWXwbiALlvkYtQTGYMLN1xMcc2 37PRa6EDyY82+LtP4zsI1UkhwNG2yJgw5U+RVEoyIF4PPmCL7uHXYcmVFKGpkx5Md58Q FJbQ== X-Gm-Message-State: ALQs6tCLR9YSJVHGoAQdI63Pt5VtJz7h/Ym18dmPVmW6kJ2C0CGVHvis pOg5il3WKQscSVSI980htAygLpgXtuQlXxjciNoaw5aD X-Received: by 2002:a9d:37f6:: with SMTP id x109-v6mr120174otb.182.1525315645108; Wed, 02 May 2018 19:47:25 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:1bbc:0:0:0:0:0 with HTTP; Wed, 2 May 2018 19:47:24 -0700 (PDT) In-Reply-To: References: <25f6b309-9346-7e28-beeb-a37e69a91ce8@infradead.org> From: Ulf Magnusson Date: Thu, 3 May 2018 04:47:24 +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 might show "Show-all mode enabled" now too. ;) > > On Quit, don't need to prompt for Save when the file is already saved > or has not been modified. Fixed. > > 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. Fixed. The menu path now scrolls to the right as needed. Maybe "..." could be displayed as well, though I'm not sure if it's helpful in practice. > > To enable=3Dy a tristate symbol, cannot enter Y, must do Space Space to c= ycle > from N to M to Y. Fixed. > > No / symbol search. I use that a lot, but I don't claim to be a > typical user. Coming soon. I have added a "show-all" mode in preparation for it, as you might want to jump to invisible symbols. Screenshot: https://raw.githubusercontent.com/ulfalizer/Kconfiglib/screensh= ots/screenshots/ss9.png > > > Thanks. > -- > ~Randy Thanks for the feedback! Tell me if you spot anything else. Cheers, Ulf