From 9be6b7b91487470bd15895184c500a4771edd0c0 Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Fri, 3 May 2019 03:04:40 +0200 Subject: guiconfig: Add a Tkinter-based menuconfig This is a graphical configuration interface written in Tkinter. Like menuconfig.py, it supports showing all symbols (with invisible symbols in red) and jumping directly to symbols. Symbol values can also be changed directly from the jump-to dialog. When single-menu mode is enabled, a single menu is shown at a time, like in the terminal menuconfig. Only this mode distinguishes between symbols defined with 'config' and symbols defined with 'menuconfig'. Compatible with both Python 2 and Python 3. Has been tested on X11, Windows, and macOS. To avoid having to carry around a bunch of GIFs, the image data is embedded in guiconfig.py. To use separate GIF files instead, change _USE_EMBEDDED_IMAGES to False. The image files can be found in https://github.com/ulfalizer/Kconfiglib/tree/screenshots/guiconfig. A new `make guiconfig` target in the Makefile patch will run the GUI configuration interface on the Linux kernel. --- kconfiglib.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'kconfiglib.py') diff --git a/kconfiglib.py b/kconfiglib.py index 09efe4f..43a9959 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -51,12 +51,20 @@ This target runs the curses menuconfig interface with Python 3 (Python 2 is currently not supported for the menuconfig). +make guiconfig +-------------- + +This target runs the Tkinter menuconfig interface. Both Python 2 and Python 3 +are supported. To change the Python interpreter used, pass +PYTHONCMD= to 'make'. The default is 'python'. + + make [ARCH=] iscriptconfig -------------------------------- This target gives an interactive Python prompt where a Kconfig instance has been preloaded and is available in 'kconf'. To change the Python interpreter -used, pass PYTHONCMD= to make. The default is "python". +used, pass PYTHONCMD= to 'make'. The default is 'python'. To get a feel for the API, try evaluating and printing the symbols in kconf.defined_syms, and explore the MenuNode menu tree starting at -- cgit v1.2.3