[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Multicolumn characters and Panels
From: |
Sadrul Habib Chowdhury |
Subject: |
Re: Multicolumn characters and Panels |
Date: |
Fri, 11 May 2007 19:48:55 -0400 |
User-agent: |
Mutt/1.5.11+cvs20060403 |
* Thomas Dickey had this to say on [18 Feb 2007, 11:08:40 -0500]:
> On Sat, Feb 17, 2007 at 05:24:21AM -0500, Sadrul H Chowdhury wrote:
> > Hi. I came across this bug when using gaim-text. It's kind of difficult to
> > explain. So I have included a sample test-program:
>
> good...
>
Hi. To work around this problem, I am using this function just before
I do update_panels: http://pidgin.im/~sadrul/pp/widechar-panel.patch. To
briefly explain, the function goes over all the panels, and if it covers
half of a multi-cell character from a panel below it, this function
replaces the visible half with a blank-space. One problem with this is
that if I move a panel which will expose the whole multi-cell character,
it doesn't always redraw properly.
Can there be a better workaround for this?
Thanks,
Sadrul
> > I tried to come up with a patch, and I got:
> > --- ncurses/base/lib_refresh.c
> > +++ ncurses/base/lib_refresh.c
> > @@ -150,7 +150,19 @@
> > if (last > limit_x)
> > last = limit_x;
> >
> > - for (j = oline->firstchar, n = j + begx; j <= last; j++, n++) {
> > + j = oline->firstchar;
> > + n = j + begx;
> > + if (j <= last && n && isWidecExt(nline->text[n-1])) {
> > + /* It's a multicolumn character. Replace with a space. */
> > +#if 0
> > + NCURSES_CH_T blank = NewChar(BLANK_TEXT);
> > + nline->text[n-1] = blank;
> > +#else
> > + nline->text[n-1].chars[0] = ' ';
> > +#endif
> > + CHANGED_CELL(nline, n-1);
> > + }
> > + for (; j <= last; j++, n++) {
> > if (!CharEq(oline->text[j], nline->text[n])) {
> > nline->text[n] = oline->text[j];
> > CHANGED_CELL(nline, n);
> >
> > It did seem to work (by replacing the wide-character by a space to make sure
> > it doesn't get displayed at all). However, if I bring up pone again (using
> > top_panel), the wide-character remains invisible. So I think this probably
> > is not the best fix. Is there any other fix I should try?
>
> I'm not sure (will try to see).
>
> thanks
>
> --
> Thomas E. Dickey <address@hidden>
> http://invisible-island.net
> ftp://invisible-island.net
- Re: Multicolumn characters and Panels,
Sadrul Habib Chowdhury <=