Small screen problem
Posted in 1993
Alan, Thanks for responding to my post about terminal display problems. Amongst other things you wrote: :Some but not all ports in some but not all versions [hoo, boy! how's that for :definite?] of Informix include code to clear the screen before RUNning any :command. The repaint then restores the screen after the RUN is complete. : :I encountered this problem, too. Screen flashed on Sun workstation running :4GL program built with Sun Unix I-4GL version 2.10. Screen did NOT flash on :DOS workstation running SAME PROGRAM built with DOS I-4GL RDS version 2.10. And the marketing droids say "Just re-compile your software and it will run!" I do wish they wouldn't make these "cosmetic" changes to the back end. Adding new, useful features is one thing, this just makes life tiresome. :This *might* be a termcap problem. Maybe the vt100 termcap does not have :reset codes to correspond to the screen clear command being issued by :Informix. I'm somewhat out of my depth here, so take this comment with :a LARGE grain of salt. <:-( Whilst I was commuting about London yesterday, I considered this again. It is possible. I'm not using the vt100 termcap as shipped by Sun. A colleague and myself hacked up a "proper" one for a falco some time ago, and this has worked fine up until this problem. The other vt100 clone we're using works fine with this modified termcap too. Still, the fact that it doesn't go wrong on the other machine is something I had decided to look into today. :->When the routine later clears the screen in accordance with the :->instructions in the software, the first letter of that mis-displayed :->line is left on the screen. :----------- :This is because Informix is very "smart" about screen management. It only :repaints what has changed, to reduce total I/O to the screen. This applies :to screen clear also; Informix won't bother to blank areas that are already :blank. Unfortunately, Informix doesn't know that the first characters are :incorrectly positioned, so it does not blank them. If the user presses ^R, :this tells Informix to refreash the entire screen, and it will clear up the :garbage. It should also work for the mispositioned display array block. Presumably, the ^R will call some kind of stty command to re-sane the screen. Perhaps I'll try and call such a piece of code myself. Regards Neil