Deutsch   English   Français   Italiano  
<mailman.79.1736902451.2912.python-list@python.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.mixmin.net!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From: Grant Edwards <grant.b.edwards@gmail.com>
Newsgroups: comp.lang.python
Subject: Re: Tools to help with text mode (i.e. non-GUI) input
Date: Tue, 14 Jan 2025 19:54:09 -0500 (EST)
Lines: 30
Message-ID: <mailman.79.1736902451.2912.python-list@python.org>
References: <2113dab2-59ba-408e-b34a-78722d525f8c@yahoo.co.uk>
 <3ab7002b-689d-4609-96d7-bb388513f227@yahoo.co.uk>
 <4YX8tK2xv4znb1c@mail.python.org>
 <0c3821d3-78c1-45c0-81da-81f9fb4c4f02@yahoo.co.uk>
 <mailman.70.1736844978.2912.python-list@python.org>
 <lhmh5l-rhnv.ln1@q957.zbmc.eu> <4YXnZ9475vznWGk@mail.python.org>
X-Trace: news.uni-berlin.de RtEQDVEotz+j6spmASLIOABc1UPUC1nDc5GtT6Slb7IQ==
Cancel-Lock: sha1:LQzCLBbHRZm3n7/K8D8IkRqmNKQ= sha256:E0SsqJnRyLM5fyfnsC1oeAzbEKMtSmVrAZz/DGFb5bc=
Return-Path: <grant.b.edwards@gmail.com>
X-Original-To: python-list@python.org
Delivered-To: python-list@mail.python.org
Authentication-Results: mail.python.org; dkim=none reason="no signature";
 dkim-adsp=none (unprotected policy); dkim-atps=neutral
X-Spam-Status: OK 0.016
X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'gui': 0.05; 'processor':
 0.09; 'rendering': 0.09; 'subject:GUI': 0.09; 'terminal': 0.09;
 'widgets': 0.09; 'window.': 0.09; 'from:addr:grant.b.edwards':
 0.16; 'from:name:grant edwards': 0.16; 'gtk': 0.16; 'gui.': 0.16;
 'low-level': 0.16; 'step.': 0.16; 'widgets.': 0.16; 'wrote:':
 0.16; 'python': 0.16; 'grant': 0.17; 'instead': 0.17; 'gnu': 0.19;
 'to:addr:python-list': 0.20; 'all,': 0.20; 'input': 0.21;
 'written': 0.22; 'maybe': 0.22; 'command': 0.23; 'run': 0.23;
 'code': 0.23; 'stuff': 0.25; 'configure': 0.26; 'library': 0.26;
 'project.': 0.27; 'chris': 0.28; 'output': 0.28; 'header:User-
 Agent:1': 0.30; 'code,': 0.31; 'program,': 0.31; '(as': 0.32;
 'python-list': 0.32; 'window': 0.32; 'same': 0.34;
 'from:addr:gmail.com': 0.34; 'trying': 0.35; 'yes,': 0.35;
 'source': 0.36; 'way': 0.38; 'thanks': 0.39; 'use': 0.39;
 "that's": 0.39; 'enough': 0.39; 'handle': 0.39; 'want': 0.40;
 'lower': 0.62; 'involved': 0.63; 'everything': 0.63; 'your': 0.64;
 'top': 0.65; 'well': 0.65; 'choose': 0.68; 'message-id:invalid':
 0.69; 'little': 0.73; 'subject:. ': 0.73; 'remarkably': 0.84;
 'subject:Tools': 0.84; 'subject:input': 0.84; 'subject:text':
 0.84; 'screen,': 0.93; 'green': 0.96
User-Agent: slrn/1.0.3 (Linux)
X-BeenThere: python-list@python.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: General discussion list for the Python programming language
 <python-list.python.org>
List-Unsubscribe: <https://mail.python.org/mailman/options/python-list>,
 <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive: <https://mail.python.org/pipermail/python-list/>
List-Post: <mailto:python-list@python.org>
List-Help: <mailto:python-list-request@python.org?subject=help>
List-Subscribe: <https://mail.python.org/mailman/listinfo/python-list>,
 <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID: <4YXnZ9475vznWGk@mail.python.org>
X-Mailman-Original-References: <2113dab2-59ba-408e-b34a-78722d525f8c@yahoo.co.uk>
 <3ab7002b-689d-4609-96d7-bb388513f227@yahoo.co.uk>
 <4YX8tK2xv4znb1c@mail.python.org>
 <0c3821d3-78c1-45c0-81da-81f9fb4c4f02@yahoo.co.uk>
 <mailman.70.1736844978.2912.python-list@python.org>
 <lhmh5l-rhnv.ln1@q957.zbmc.eu>
Bytes: 4809

On 2025-01-14, Chris Green via Python-list <python-list@python.org> wrote:

> Yes, thanks all, maybe just straightforward curses is the way to go.
> Looking at some of the 'cleverer' ones they end up looking remarkably
> like GUI code, in which case I might as well use a GUI.

The source code to configure and handle a UI with a certain set of
input widgets is going to be pretty much the same regardless of the
low-level screen bashing details involved in rendering the widgets.

You choose a TUI toolkit like curses panel/menu/forms instead of a GUI
toolkit like gtk because you need your app to run on a terminal
instead of on a X11/wayland screen, not because you want your app to
be simpler than the code for a GUI app (as you've seen, it isn't).

> I have written a (fairly simple) Gtk based python program, I was
> just trying to avoid all the GUI overheads for a little new project.

If you want to avoid the [TG]UI overhead, then command line options
are your friend. If that's not sophisticated enough the gnu "readline"
library with a simple command processor is a common next step.

Or you can use curses to print some help stuff at the top of the
terminal window and then do everything based on single-stroke "command
keys" that print output in the lower part of the terminal window.

--
Grant