Received: by 10.192.165.148 with SMTP id m20csp4386193imm; Mon, 30 Apr 2018 17:58:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrFMUVuTjt9TPtNwHyj0rZUvrmG7zBakx3Aun/vGNapFoaEyJGfvGU8VnSdxoUU/6ETnrsy X-Received: by 2002:a65:5844:: with SMTP id s4-v6mr11617663pgr.232.1525136326374; Mon, 30 Apr 2018 17:58:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525136326; cv=none; d=google.com; s=arc-20160816; b=v3RGat4jPrqwJITegVu965jl/3YrFk8g49Vv1X1clKXFUC4dI5GOtGND+A3ZugP7w/ U76+53wyZ4qtXN584Nyt5wYQ2qUcKhQ5zz2FeGxSbX7dvD4tO31qLYXi7XKjMq8b1SzS +eLXW+OJuKcGb4gS50Q0zQrutyw6OGjjMt2FfdmEJ9ZyPaWsetHiFVTYeNLpAj9mqdeX sWzs3IknYNe4owv/A2GSjbhRwHW0JIr0BGXkY6TcM49eN36QNXet9MmW6mFz8o3UnqKY NfKMd3KgUn66bSZCYR4hElx4JnSN5/yuS1i2mmqYBOPrvopmquRvZpfYa6OKKMCiqDvf AfYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:to:subject:message-id:date:from :mime-version:dkim-signature:arc-authentication-results; bh=d5piF3XHfM1DwMBFYnJnkj27kOjsKRoa5XJ1eCl0w+k=; b=NZizJTIzOzlWQ1FLW+zxHHWpfKDQYtP0fWJimRDAR9gjMrhCYbXYFh7oUpDSW4ZlUD nq4vDj8aEQXj7wi9mS6uFyT5q+JICehV8N4D5EEbhIyHbVPF/ugLvRRhW+vy8ZC7jURC xUftHZc9nGv/eKy1v8FtNFTCurCLBSk0gO6LgR5bpps7TcuZXgj2KPTA/Um6YEU7OOXs ZjZRHhw2k1IFLO0niDLkBOv+tbRPcXSMSd/5q00A6oyNyWK34Le4mZsVwRF2qUvRoiBo RrbgDbtpZVmLDuB0Ey42K6S1D082VsRp00tCpf3NLfrhD+A7CtKfahiGyZRmiC8vQvO2 736g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=u39hIDj0; 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 f5-v6si6870556pga.595.2018.04.30.17.58.31; Mon, 30 Apr 2018 17:58:46 -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=u39hIDj0; 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 S1755866AbeEAA5E (ORCPT + 99 others); Mon, 30 Apr 2018 20:57:04 -0400 Received: from mail-ot0-f176.google.com ([74.125.82.176]:43784 "EHLO mail-ot0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751365AbeEAA5D (ORCPT ); Mon, 30 Apr 2018 20:57:03 -0400 Received: by mail-ot0-f176.google.com with SMTP id y10-v6so11560486otg.10; Mon, 30 Apr 2018 17:57:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=d5piF3XHfM1DwMBFYnJnkj27kOjsKRoa5XJ1eCl0w+k=; b=u39hIDj0hIou+5rdOzCCVylezxa4oc2YpWRXl8U8OzqQoEh3lRUkANX/tfPzRyHJNn RX4MWqQ46KWvfRuvodyHQMd/HWzeju0TD0MOC9rCRTVdtQZWdYxWRzrXkWdEDoQ9p/nm MaO2Bg3U7Kxfmtaa/kB6Yl7RYogwt/ovtHSEdKx0FTpEMo5SapUaD0CZ1g3FNqZ1nDOp 3KQnwH7xSOY0udvQ5EQKygy6CGdHGLfQia8wd2vypoHWi+tvZ3q+nXUBqzgv0M/AgNEW BwiGhjxyRtB7dz//G9mN8gGMKG9OhvqGF6ztY/Cez2+2UVsbPtmnS0dFicQ8VqjXy/ym MWFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=d5piF3XHfM1DwMBFYnJnkj27kOjsKRoa5XJ1eCl0w+k=; b=kCRZA7KE7lF1da3V0IRpPejPhvVaBcEe9YQbtCpdAKAK41QwGJfRLhjkEW5FZ/jOaH dyttj+HOco3vGexAJI/qQmpCtsOvuiKCVe+HYID/GLuTGzxLRgtcwDG5YiIdftqFcTB7 Dcw47PJyP18ZJcJ1U5tUixp4P1KplxXP7rwOZeZbD3qhKp1o6pE7BEioX5tPuo0ZJDJP kcpTp1OSjdwLZyC1JPmGTsGrFbsVlwRFLh5dvnYAHF0nCusWAkr1TFgkKgNfHUiqt2mS 89nxwLi1X/oPMEcUyKTSYDsxy7OX0wNl3QTrAisku6qY3DQeLdL0EtZAn6rNb7WGXXsB oEhA== X-Gm-Message-State: ALQs6tBnsXULUinr5Wi7Kpg6NHD53vdjLyELbiLShAN2hjEzFvsCNjH9 J/50RMH154Oc5LDNh9a27rOuHxOkQy14MJH3QUrO1vQA X-Received: by 2002:a9d:5e0b:: with SMTP id d11-v6mr5346071oti.148.1525136222272; Mon, 30 Apr 2018 17:57:02 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:185:0:0:0:0:0 with HTTP; Mon, 30 Apr 2018 17:57:01 -0700 (PDT) From: Ulf Magnusson Date: Tue, 1 May 2018 02:57:01 +0200 Message-ID: Subject: [ANNOUNCE] Kconfiglib menuconfig implementation To: Linux Kbuild mailing list , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. Cheers, Ulf