Hi Joe, Joseph J VLcek wrote: > Keith Mitchell wrote: >> Hi, >> >> The Text Installer, being built on the curses module of Python, is >> expected to work on most terminal types 'by default,' with the >> expectation that the underlying Python curses module, Ncurses >> library, and terminfo data will correctly handle the calls used. With >> that in mind, there are three terminal types that will get explicit >> testing: >> >> sun-color >> vt100 >> xterm* >> >> *xterm getting tested is a side effect of developing the Text >> Installer from a gnome desktop, and frequently running it from a >> gnome-terminal. >> >> My question is, are there any other major terminals that deserve >> explicit testing? >> >> - Keith > > Is there a documented list of terminals which the "Python curses > module" is supposed to support? > > I briefly poked around the docs.python.org and did not find a list. > > If a documented list of terminals supported by "Python curses module" > can be found it could help us decide what set we should test on.
Since build 124, the Python curses module delivered in SUNWPython (and SUNWPython26) is linked against the Ncurses library. The Ncurses library in turn delivers a number of terminfo entries to /usr/gnu/share/terminfo. For a full list: pkg contents SUNWncurses | grep terminfo However, the existence of a terminfo entry doesn't guarantee that the Text Installer will run properly on the terminal. If the terminfo entry is incorrect, outdated, or does not support functionality used by the Text Installer, the results are indeterminate. In the case of incorrect or outdated entries, bugs should be filed against SUNWncurses. For example, sun-color was incorrect as of build 124 - though it should be correct in 125. The biggest example of the non-supported functionality case is color: on terminals that don't support color, attempts to call curses functions that manipulate color will error out. In this specific case, it's easy enough to check if the terminal supports color and branch the code based on that. Most other situations either have explicit curses calls for checking if the functionality exists, or intelligent fallbacks implemented automatically. - Keith > > Joe
