[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RP] Re: ncurses issues
From: |
John Meacham |
Subject: |
Re: [RP] Re: ncurses issues |
Date: |
Mon Jul 14 13:47:35 2003 |
User-agent: |
Mutt/1.4.1i |
Also be sure to start screen with the '-U' option if you are in a
unicode locale and have a unicode enabled terminal. (mostly the case
nowadays). to find out if that is the case, check if $LANG ends with
UTF-8. not all versions of screen can autodetect this and it can cause
terminal corruption when using non ascii drawing characters.
John
On Mon, Jul 14, 2003 at 07:50:21PM +0200, Nikolai :: lone-star :: Weibull wrote:
> On Thu, Jul 10 2003, Nikolai :: lone-star :: Weibull wrote something
> resembling:
> > Hi. Has anyone ever experienced screen display corruption when running
> > ncurses based applications using line-drawing characters? An example
> > that (sometimes) produces this behavior is:
> > xterm -> screen -> raggle/giFTcurs
> > and after switching from it to another (full-sized) window and back the
> > display will be all corrupted, with almost all characters replaced with
> > really-low-ascii characters (i.e. the characters 0 through 12) (like the
> > hearts, clubs, spades, and diamonds card characters).
> >
> > hope my problem is somewhat clear, and a solution is at hand,
> > nikolai
> >
> gotta love replies to self ;-):
> anyway, i've been investigating and have found a solution.
>
> The Problem:
> It seems that screen stores the output of (n)curses applications
> incorrectly in the scrollback buffer/window buffer/or whatever
> you prefer to call it. It stores the 'enter alternate character
> set'/'exit alternate character set' escape sequences used by
> (n)curses to draw the line characters incorrectly. The
> sequences (for screen) are ^N and ^O (alternate character set use
> is enabled by the \E(B\E)0) sequence) in the terminfo database.
> And this is what applications use. The scrollback buffer,
> however, stores the enter/exit sequences as \E(0 and \E(B. This
> is, at least, what is stored in the paste buffer when the
> scrollback buffer is copied (^A g SPACE G $ >) and written to a
> file (^A : writebuf curses-corruption.output). When moving
> between windows the display needs to be updated, and thus the
> contents of the scrollback buffer is written to the terminal,
> which gets the incorrect enter/exit sequences which, as many
> have noticed, totally mess up your display. I assume this is
> the problem at least, since sending the escape sequences 'by
> hand' (printf '\e(0' or printf '\e(B' at a shell prompt) to the
> terminal has the same effect.
>
> The Solution:
> Simply remove the 'enacs', 'rmacs', 'smacs' entries from the
> screen terminfo definition and recompile it with 'tic'. This,
> of course, will only work if your font supports line drawing
> characters without a character set switch.
>
> hope this helps,
> nikolai
>
> P.S.
> To the ratpoison people: A similar question was asked on your list; hope
> this answer helps.
> D.S.
>
> --
> ::: name: Nikolai Weibull :: aliases: pcp / lone-star :::
> ::: born: Chicago, IL USA :: loc atm: Gothenburg, Sweden :::
> ::: page: www.pcppopper.org :: fun atm: gf,lps,ruby,php,war3 :::
> main(){printf(&linux["\021%six\012\0"],(linux)["have"]+"fun"-97);}
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps1
> _______________________________________________
> Ratpoison-devel mailing list
> address@hidden
> https://lists.sourceforge.net/lists/listinfo/ratpoison-devel
--
---------------------------------------------------------------------------
John Meacham - California Institute of Technology, Alum. - address@hidden
---------------------------------------------------------------------------