bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: address@hidden: Still Active?]


From: Bob Rossi
Subject: Re: address@hidden: Still Active?]
Date: Mon, 20 Jun 2005 21:54:54 -0400
User-agent: Mutt/1.3.28i

On Mon, Jun 20, 2005 at 05:31:42PM -0400, Thomas Dickey wrote:
> On Mon, 20 Jun 2005, Bob Rossi wrote:
> 
> >On Mon, Jun 20, 2005 at 04:24:16PM -0400, Thomas Dickey wrote:
> >I was wondering if I might ask about the ACS_VLINE variable. I'm writing
> >a curses based interface to the GNU debugger (GDB). Unfortunately, when I
> >use the ACS_VLINE char, some users have reported that the terminal looks
> >incorrect.
> >
> >It could very well be a configuration error on my part, and I was just
> >hoping to get some advice on the use of this variable. I use the
> >variable like this,
> >  waddch(win, ACS_VLINE);
> >am I supposed to check the system somehow to see if the terminal
> >supports this char? or does ncurses do that for me? Any other info would
> >be greatly appreciated.
> 
> All of the ACS_xxx symbols are given as a mapping, in terms of the acsc
> string in the terminfo entry.

OK, sorry, I can only laugh when I see this.
   acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~
what in the world does that mean?

> ncurses (tries to) check if the terminal support line-drawing characters
> by looking at the acsc string (terminfo entry).  If that is missing or
> incomplete, ncurses uses the substitutions listed in the addch manpage
> (Line Drawing).

OK, so from what I understand, you are saying that ncurses will honor
the acsc string first. Then, if that is not OK, ncurses will use it's
own default char instead. My man page happens to say that this is the |
(pipe) character. So far, I see only a few ways things can get messed up.
That's if the user has the wrong TERM set (so TERM doesn't reflect what
the terminal supports), or there TERM is set correct, but the terminal
doesn't support everything that the TERM env var says it does.

> If it (acsc) is present and defines a mapping for the given character
> ('|' for ACS_VLINE), ncurses may still modify that to handle some common 
> cases of UTF-8 locales.  A few easily tested cases (Linux console and
> GNU screen) can be detected by checking the $TERM variable.  Those don't
> honor the terminfo strings for line-drawing when in UTF-8 mode.

Is this some "hardcoded" special case's that ncurses supports?

> Some other terminal emulators also don't, but since their implementers 
> chose to claim that they're compatible enough with xterm to set their 
> $TERM to "xterm", there's not much to be done automatically for them 
> (xterm works correctly ;-).

OK, well this could be my case. I have a user who says he is using an
xterm on Suse. His TERM is "xterm". He says that when he moves his
window off the screen, and then back on, the special ACS_VLINE is messed
up. If he does a ^l (which I have redraw the screen), it fixes the
problem.

Any suggestions?

Thanks for being so helpful,
Bob Rossi




reply via email to

[Prev in Thread] Current Thread [Next in Thread]