Python3 curses behavior
Vlasov Vitaly
vnigtha at gmail.com
Sun Feb 10 17:06:00 EST 2013
суббота, 9 февраля 2013 г., 23:22:47 UTC+4 пользователь Terry Reedy написал:
> On 2/9/2013 6:23 AM, Vlasov Vitaly wrote:
>
> > Hello.
>
> >
>
> > I found strange behavior of curses module, that i can't understand. I
>
> > initialize screen with curses.initscr(), then i create subwin of
>
> > screen with screen.subwin(my_subwin_sizes). After that i fill subwin
>
> > with my_char in for-loop. On last char in last line subwin.addch()
>
> > raises exception.
>
>
>
> I have never used curses but I have used text screens. I suspect that
>
> addch moves the cursor to the position beyond where the character is
>
> added, but there is no such position. I remember having problems writing
>
> to the last char of a 24x80 screen without getting either a scroll or
>
> beep if scrolling was disabled.
>
>
>
> > This is my problem. Why? How to fix it?
>
>
>
> Perhaps this will help:
>
> window.leaveok(yes)
>
> If yes is 1, cursor is left where it is on update, instead of being at
>
> “cursor position.” This reduces cursor movement where possible. If
>
> possible the cursor will be made invisible.
>
>
>
> > (If i will ignore exception, then last char will be displayed)
>
>
>
> Otherwise, just catch the exception, as you already discovered.
>
>
>
> > Here simple example: http://pastebin.com/SjyMsHZB
>
>
>
> --
>
> Terry Jan Reedy
Thank you.
I tried everything in my test script.
win.leaveok() - no effect
curses.cur_vis() - no effect
win.scrollok() - start newline and place cursor on it
It's only one last option:
on last line last char try/except with pass.
More information about the Python-list
mailing list