rbraun@spdcc.COM (Rich Braun) (05/29/91)
I'm in the midst of porting a DOS application to SCO Unix, and have run into a design issue which might have been solved already. The application uses 16 colors (I think; maybe only 8) for character- oriented displays. It handles character colors by simply setting values in the high byte of each element of the display memory (which is a 80 x 25 x 2-byte array). I want this thing to be portable across Unix platforms, and am therefore using terminfo routine calls. But I'd like to duplicate the "look and feel" from DOS, at least for the console terminal of an SCO system. It appears to me that terminfo isn't powerful enough to handle this without adding extra attributes, and I don't have any example applications which try to do this (the source code to 'ecu' does some of this but doesn't try to go crazy with multiple colors). SCO documentation doesn't even tell you that the escape sequences to set colors are <ESC>[=H, <ESC>[=F, etc. On a semi-related point, I'd like to be able to set attributes in the character map without having to fetch the characters out and put them back. (For highlighting menu items, etc.) The DOS code uses functions like "set_attr (x,y,numchars,attrbits)" to do this, and I don't see an equivalent in terminfo. Yet I'm pretty sure the internals of terminfo should easily allow this. Any suggestions or sample code? Thanks, -rich