| Store | Cart

curses curiosity

From: Christopher Swingley <cswi...@iarc.uaf.edu>
Mon, 12 May 2003 09:47:33 -0800
Greetings!

This morning I was playing with the curses module and have hit upon 
something I can't figure out.  I won't go so far as to call it a bug, 
since these things usually work out to programmer error.

Here's a sample program demonstrating the curiosity:

    #! /usr/bin/env python

    import curses
    import curses.wrapper

    def main(window):
        (max_y, max_x) = window.getmaxyx()
        window.addch(max_y - 1, max_x - 2, ord('+')) # OK
        window.addch(max_y - 2, max_x - 1, ord('+')) # OK
        window.addch(max_y - 1, max_x - 1, ord('+')) # ERR?
        window.refresh()

        while 1:
            c = window.getch()
            if c == ord('q'):
                break

    curses.wrapper(main)

When run, this results in:

    Traceback (most recent call last):
        File "./curses_bug.py", line 18, in ?
            curses.wrapper(main)
        File "/usr/lib/python2.2/curses/wrapper.py", line 44, in wrapper
            res = apply(func, (stdscr,) + rest)
        File "./curses_bug.py", line 10, in main
            window.addch(max_y - 1, max_x - 1, ord('+')) # ERR?
    _curses.error: addch() returned ERR

(Python 2.2.2, Debian GNU/Linux unstable)

My understanding is that getmaxyx() returns the columns and rows of the 
window, which would mean that one minus each should yield the lower 
right corner of the screen.  The two lines above the error demonstrate 
that I can access the spaces just above and to the left of the mytical 
lower right corner.  FYI, I also tried window.addstr(), with the same 
results.

What am I doing wrong?  How does one put a character in the lower right 
corner?

Thanks,

Chris
-- 
Christopher S. Swingley          email: cswingle at iarc.uaf.edu
IARC -- Frontier Program         Please use encryption.  GPG key at:
University of Alaska Fairbanks   www.frontier.iarc.uaf.edu/~cswingle/

Recent Messages in this Thread
Christopher Swingley May 12, 2003 05:47 pm
Christopher Swingley May 12, 2003 07:24 pm
Messages in this thread