Tools to help with text mode (i.e. non-GUI) input
Alan Gauld
learn2program at gmail.com
Fri Jan 17 13:11:47 EST 2025
On 15/01/2025 00:41, Keith Thompson via Python-list wrote:
> Alan Gauld <learn2program at 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
More information about the Python-list
mailing list