CCed to Edmund GRIMLEY EVANS listed in bogl-term.c
On Wed, Jan 17, 2001 at 11:06:01AM +0800, [EMAIL PROTECTED] wrote:
> On Tue, Jan 16, 2001 at 04:56:21PM -0500, [EMAIL PROTECTED] wrote:
> > ha shao <[EMAIL PROTECTED]> writes:
> >
> > > bterm and bogl-term do not support reverse video mode. Actually,
> > > bterm has very limited terminfo supports (understandable). Reverse
> > > video mode has to be added to bogl-term for slang's slcurses.
> > >
> > > There is no highlight version of font here.
> >
> > Illuminating. Can this be fixed? Should we just eliminate cfdisk for
> > i18n versions (that would be sad)?
>
> more terminfo to be add into bterm. things in bogl-term.c, bterm.ti
> I think.
>
> cfdisk support an option '-a' which will use arrow instead of
> reverse video to 'highlight' the partitions. But it still use
> reverse video on menu selection. That means '-a' is half-working.
>
Attached a patch to add reverse video mode into bterm. cfdisk's GUI works
as expected.
Index: bogl-term.h
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bogl-term.h,v
retrieving revision 1.2
diff -u -r1.2 bogl-term.h
--- bogl-term.h 2000/05/07 15:12:20 1.2
+++ bogl-term.h 2001/01/17 04:33:50
@@ -12,6 +12,7 @@
int xpos, ypos;
int def_fg, def_bg;
int fg, bg, ul;
+ int reverse_mode; /* Flag for reverse-video mode */
int state;
int cur_visible;
int xp, yp;
Index: bogl-term.c
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bogl-term.c,v
retrieving revision 1.2
diff -u -r1.2 bogl-term.c
--- bogl-term.c 2000/05/07 15:12:20 1.2
+++ bogl-term.c 2001/01/17 04:33:57
@@ -49,6 +49,7 @@
term->xpos = 0, term->ypos = 0;
term->fg = term->def_fg = 0;
term->bg = term->def_bg = 7;
+ term->reverse_mode = 0;
term->state = 0;
term->cur_visible = 1;
mbrtowc(0, 0, 0, &term->ps);
@@ -383,16 +384,46 @@
if (term->arg[0] == 4 || term->arg[0] == 24)
term->ul = term->arg[0] == 4;
else if (30 <= term->arg[0] && term->arg[0] < 38)
- term->fg = term->arg[0] - 30;
+ {
+ if(!term->reverse_mode)
+ term->fg = term->arg[0] - 30;
+ else
+ term->bg = term->arg[0] - 30;
+ }
else if (40 <= term->arg[0] && term->arg[0] < 48)
{
- term->bg = term->arg[0] - 40;
+ if(!term->reverse_mode)
+ term->bg = term->arg[0] - 40;
+ else
+ term->fg = term->arg[0] - 40;
}
else if (term->arg[0] == 39)
- term->fg = term->def_fg;
+ {
+ if(!term->reverse_mode)
+ term->fg = term->def_fg;
+ else
+ term->bg = term->def_fg;
+ }
else if (term->arg[0] == 49)
- term->bg = term->def_bg;
-
+ {
+ if(!term->reverse_mode)
+ term->bg = term->def_bg;
+ else
+ term->fg = term->def_fg;
+ }
+ else if (term->arg[0] == 7)
+ {
+ term->reverse_mode = 1;
+ /* Set color here for safety */
+ term->fg = term->bg;
+ term->bg = term->fg;
+ }
+ else if (!term->arg[0] || term->arg[0] == 0)
+ {
+ term->reverse_mode = 0;
+ term->fg = term->def_fg;
+ term->bg = term->def_bg;
+ }
term->state = 0;
continue;
}
Index: bterm.ti
===================================================================
RCS file: /cvs/debian-boot/boot-floppies/utilities/bogl/bterm.ti,v
retrieving revision 1.2
diff -u -r1.2 bterm.ti
--- bterm.ti 2000/05/07 15:12:20 1.2
+++ bterm.ti 2001/01/17 04:33:57
@@ -10,3 +10,4 @@
setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
civis=\E[?25l, cnorm=\E[?25h,
smul=\E[4m, rmul=\E[24m,
+ rev=\E[7m, sgr0=\E[0m,
--
Best regard
hashao
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]