"James Harris" <james.harri...@gmail.com> wrote in message news:kvmvpg$g96$1...@dont-email.me... > Am looking for a TUI (textual user interface) mechanism to allow a Python > program to create and update a display in text mode. For example, if a > command prompt was sized 80x25 it would be made up of 80 x 25 = 2000 > characters. The Python program would need to be able to write to any of > those 2000 characters at any time though in practice the display would > normally be arranged by dividing it up into non-overlapping rectangular > regions. > > I have seen that there are various libraries: urwid, newt, console, dialog > etc. But they seem to be either for Unix or for DOS, not for both. I am > looking for a library that will run under either.
In case anyone else is following this, people have emailed me directly suggesting ncurses, pdcurses and these: Pygcurse (http://inventwithpython.com/pygcurse/) UniCurses (http://sourceforge.net/projects/pyunicurses/) Naturally, all of these are centred on curses. I have been reading up on it and must say that the whole curses approach seems rather antiquated. I appreciate the suggestions and they may be what I need to do but from what I have seen of curses it was designed principally to provide common ways to control cursor-based terminals. That was a-la-mode in the days when we had terminals with different cursor control strings and I remember programming VT100 and VT52 monitors or terminals like them. But now it seems cumbersome. I haven't thought too much about it so this is not a design proposal but it might be better to divide a display up into non-overlapping windows and treat each one separately. Writes to one would not be able to affect the others. A given window could allow writes to fixed locations or could behave as a glass teletype, writing to the bottom of the window and scrolling as needed, or could behave as a viewing port into a data structure. Something like that may be more useful to a programmer even if it has to use curses underneath because that's all that the OS provides. James -- https://mail.python.org/mailman/listinfo/python-list