Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #197194

Re: Tools to help with text mode (i.e. non-GUI) input

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Alan Gauld <learn2program@gmail.com>
Newsgroups comp.lang.python
Subject Re: Tools to help with text mode (i.e. non-GUI) input
Date Fri, 17 Jan 2025 18:11:47 +0000
Lines 40
Message-ID <mailman.83.1737137511.2912.python-list@python.org> (permalink)
References <2113dab2-59ba-408e-b34a-78722d525f8c@yahoo.co.uk> <3ab7002b-689d-4609-96d7-bb388513f227@yahoo.co.uk> <mailman.68.1736808383.2912.python-list@python.org> <87plko9acw.fsf@nosuchdomain.example.com> <844b5f22-623a-42c0-941c-addd3a469687@yahoo.co.uk>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
Content-Transfer-Encoding 7bit
X-Trace news.uni-berlin.de 4QI7IbDojZjaC2WgzR8vUAsJyRs3sGHqlxAygKkzfySg==
Cancel-Lock sha1:n8lB4eOCH2sgnTZuH/rpYNi3Bq0= sha256:HdxqQzudAe6VwVwvADOqsM6iJd0s5lofxbny09IO7dY=
Return-Path <learn2program@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
Authentication-Results mail.python.org; dkim=pass reason="2048-bit key; unprotected key" header.d=gmail.com header.i=@gmail.com header.b=XIF9wUNh; dkim-adsp=pass; dkim-atps=neutral
X-Spam-Status OK 0.011
X-Spam-Evidence '*H*': 0.98; '*S*': 0.00; '(which': 0.04; 'codes': 0.07; 'directly.': 0.07; 'world"': 0.07; '"hello': 0.09; 'subject:GUI': 0.09; 'writes:': 0.09; 'import': 0.15; '*nix': 0.16; 'easily.': 0.16; 'flickr': 0.16; 'from:name:alan gauld': 0.16; 'gauld': 0.16; 'input,': 0.16; 'message-id:@yahoo.co.uk': 0.16; 'photo-blog': 0.16; 'received:mail-wm1-x330.google.com': 0.16; 'url-ip:79.170.44.132/32': 0.16; 'url-ip:79.170.44/24': 0.16; 'url-ip:79.170/16': 0.16; 'url-ip:79/8': 0.16; 'url:alan-g': 0.16; 'url:alan_gauld': 0.16; 'url:alangauldphotos': 0.16; 'values,': 0.16; 'whilst': 0.16; 'wrote:': 0.16; 'python': 0.16; "can't": 0.17; 'url:amazon': 0.19; 'to:addr:python-list': 0.20; 'to:name:python-list@python.org': 0.24; 'library': 0.26; 'bit': 0.27; '>>>': 0.28; 'chris': 0.28; 'etc': 0.28; 'it,': 0.29; 'whole': 0.30; 'header:User-Agent:1': 0.30; 'packages': 0.31; 'takes': 0.31; 'default': 0.31; 'program': 0.32; 'python-list': 0.32; 'but': 0.32; 'received:192.168.1': 0.32; "i'm": 0.33; 'header:In-Reply-To:1': 0.34; 'received:google.com': 0.34; 'package': 0.34; 'from:addr:gmail.com': 0.34; 'lists': 0.37; "it's": 0.37; 'author': 0.37; 'received:192.168': 0.37; 'use': 0.39; 'least': 0.39; 'text': 0.39; 'alan': 0.40; 'design,': 0.40; 'difficult': 0.40; 'learn': 0.40; 'want': 0.40; 'url- ip:18.239/16': 0.61; 'mode': 0.62; 'showing': 0.62; 'follow': 0.62; 'here': 0.63; 'full': 0.64; 'becomes': 0.64; 'that,': 0.68; 'site': 0.68; 'url:author': 0.69; 'url-ip:18/8': 0.72; 'subject:. ': 0.73; 'quickly': 0.80; 'position': 0.81; 'blown': 0.84; 'bold': 0.84; 'mouse': 0.84; 'subject:Tools': 0.84; 'subject:input': 0.84; 'subject:text': 0.84; 'url-ip:184.30.158/24': 0.84; 'green': 0.96
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1737137509; x=1737742309; darn=python.org; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=qinbbfMgDCcpW1C7CtrC52q03Z5XufpL0FKCGTng+ag=; b=XIF9wUNhZ74IXvf5shxcmo1x8eejZ1M7zaa8o6tBk/vg+bcZMsOCGF2F7k/FAg6VMg H6YtIxPf1TlqklzeHnuvgbWrXC7WBIonRyx1zmBcJ1WR/s+7pMO0VB4Mxvv2w3XqoDRg 9zH90QP1Ql6Z3ZkjfUlVm+WL4/uqZCAM6LSY/2rDNai3q7rt5d894OHBOAuqbZ7OwiZU JHZfAP1uu0ifuaUi6weoliJz86trBiNrDnA94i+TVHn2z6TOx+FAcZAhs/uIyCTs6z5u O8sjqPhfLsoHjT/CjxkqgmSDSg21VWVQp+5yq1BT2SvzF0QgfVqc7Y/IcUmKewmkwE/z j7kA==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1737137509; x=1737742309; h=content-transfer-encoding:in-reply-to:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qinbbfMgDCcpW1C7CtrC52q03Z5XufpL0FKCGTng+ag=; b=RrhQOxu+nx7TQ6eipjXdcPPVDeM4d4+nH8lEshHj67nq2kQivgJzO9d7UTj7cDTyQS Vwo4JDFXTZOvvJ6xviYnG4Kvs9mWgv/DYGPjRMMX5bQR+eCn68jjkpQVkeqiEhST3ZHa PGjABmaXje6h80QxlF8nTw7Ar0CC2u9Gne6DopJn4JlT6MNHKRbKYPPXNOO93XhWiH+T F//k/nT9KhTj9yFVcG5zkbMzVljKMJ+NuySU7u2LLRjwsc43dBTLLdGEWJNH4Vdk2rhZ cuUMeJ7ZZREFj8xH/+yyxDGOS1pXtEZ8nMCPku/+7/ibuPKAIRkNb7uh7V/ORzRaRt3W t38g==
X-Gm-Message-State AOJu0Yx1lvfLIj9x8oo6V6D40ZIe29Z7fMIT8SPp2LM6JzuT9W0jMF+l Sbwb9PtNkKJRtOootpkDbVKDd6HF0g4HRcH8756Vd+Wvo2SnwIl3Rfp3oA==
X-Gm-Gg ASbGncviNmkMCvBUd1USWlPUPs8u5gdF34DH3Kpn+uUkc4nNCN5G0PNT7yeiU/w6eHB rqCwg27xIEDRH4XnJHjbRWfnOcvdF1YHTRkVOWwXd1avQthl42NNX7kvxMzsC4bVGj3IG4JGzt/ Qn/dV4sPO6JaEaRPeEJ2/C7XllZ/6LWVhKvr8wHJJSmYVQq5lJtAfVFxoan4zZCgREeycCA8UxA JrX+04P2rEHlQ9h+DkA+6eWzVjCxzcZSTyiz03hz7bpCne1u42TOtGkjDTnmonc1hciZqjuDQ==
X-Google-Smtp-Source AGHT+IHcqs4++eUOc0/B9Li5xhmxvwWQm5ClxX5pftcwDygp1RlQGUQ3c4gr9BTE+KVnt36tzEv7aw==
X-Received by 2002:a05:600c:4c06:b0:434:92f8:54a8 with SMTP id 5b1f17b1804b1-437c6a86b58mr104192465e9.0.1737137508590; Fri, 17 Jan 2025 10:11:48 -0800 (PST)
X-Google-Original-From Alan Gauld <alan.gauld@yahoo.co.uk>
User-Agent Mozilla Thunderbird
Content-Language en-GB
In-Reply-To <87plko9acw.fsf@nosuchdomain.example.com>
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 <844b5f22-623a-42c0-941c-addd3a469687@yahoo.co.uk>
X-Mailman-Original-References <2113dab2-59ba-408e-b34a-78722d525f8c@yahoo.co.uk> <3ab7002b-689d-4609-96d7-bb388513f227@yahoo.co.uk> <mailman.68.1736808383.2912.python-list@python.org> <87plko9acw.fsf@nosuchdomain.example.com>
Xref csiph.com comp.lang.python:197194

Show key headers only | View raw


On 15/01/2025 00:41, Keith Thompson via Python-list wrote:
> Alan Gauld <learn2program@gmail.com> writes:
>> On 11/01/2025 14:28, Chris Green via Python-list wrote:
>>> I'm looking for Python packages that can help with text mode input,
>>
>> The standard package for this is curses which comes as part
>> of the standard library on *nix distros.
> 
> The thing about curses (which may or may not be a problem) is that, by
> design, it takes over the whole screen.  If you want to do simpler text
> manipulations (showing a dismissible message, showing bold text, etc.)
> without interfering with existing text, curses can't do it, at least not
> easily.

It's not that difficult to use the terminfo codes directly. But
that won't give access to things like lists of default values, mouse
control etc that the OP wanted. But for simple text characteristics
and moving the cursor around terminfo works ok even if a bit tedious.

Here is "hello world" in bold...

import curses
curses.setupterm()
bold = curses.tigetstr('bold').decode('ascii')
normal = curses.tigetstr('sgr0').decode('ascii')

print(bold, 'Hello world', normal)

Whilst you can position the cursor etc it very quickly
becomes easier to just use full blown curses.

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

RE: Tools to help with text mode (i.e. non-GUI) input Alan Gauld <learn2program@gmail.com> - 2025-01-13 22:46 +0000
  Re: Tools to help with text mode (i.e. non-GUI) input Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-01-14 16:41 -0800
    Re: Tools to help with text mode (i.e. non-GUI) input Alan Gauld <learn2program@gmail.com> - 2025-01-17 18:11 +0000
      Re: Tools to help with text mode (i.e. non-GUI) input Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2025-01-17 11:03 -0800
        Re: Tools to help with text mode (i.e. non-GUI) input Mats Wichmann <mats@wichmann.us> - 2025-01-17 14:11 -0700
    Re: Tools to help with text mode (i.e. non-GUI) input Grant Edwards <grant.b.edwards@gmail.com> - 2025-01-17 16:09 -0500

csiph-web