Solved: Re: Missing python curses functions?
Tony Flury
tony.flury at btinternet.com
Tue Jun 23 19:54:38 EDT 2020
Maybe you should raise a bug (bugs.python.org) and flag that this
function is missing.
It could be that it can be introduced by whoever is maintaining the
existing code.
On 20/05/2020 08:31, Alan Gauld via Python-list wrote:
> On 19/05/2020 20:53, Alan Gauld via Python-list wrote:
>
>> One of the functions discussed that does not appear to have
>> a Python equivalent is attr_get() which gets the current
>> attributes.
> OK, Using inch() I've written the following function:
>
>
> def attr_get(win):
> """ return current window attributes.
> If a character exists at the bottom right position it will be lost!
> """
> y,x = win.getmaxyx() # how many lines in the window?
> win.insch(y-1,0,' ') # insert a space at bottom left
> ch = win.inch(y-1,0) # now read the char (including attributes)
> win.delch(y-1,0) # remove the char from window
> return ch
>
> And it can be used like:
>
> import curses
> scr = curses.initscr()
> # uncomment next line to test
> # scr.attrset(curses.A_UNDERLINE)
>
> atts = attr_get(scr)
> if atts & cur.A_UNDERLINE:
> scr.addstr("Underline is on")
> else:
> scr.addstr("Underline is off")
>
> scr.refresh()
> scr.getch()
> curses.endwin()
>
> Just in case its useful to anyone else...
More information about the Python-list
mailing list