Tools to help with text mode (i.e. non-GUI) input
Keith Thompson
Keith.S.Thompson+u at gmail.com
Fri Jan 17 14:03:16 EST 2025
Alan Gauld <learn2program at gmail.com> writes:
> 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)
Cool -- but I think you want:
print(bold, 'Hello world', normal, sep='')
> Whilst you can position the cursor etc it very quickly
> becomes easier to just use full blown curses.
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u at gmail.com
void Void(void) { Void(); } /* The recursive call of the void */
More information about the Python-list
mailing list