From 5a980feac934600138336d54bc327d613592b58d Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Wed, 27 Apr 2005 21:09:45 +0000 Subject: [PATCH] On 1bpp displays, ignore colour attributes. This makes pterm minimally useful there, though (e.g.) switching to using reverse video for the cursor would probably also help. Displays with other silly depths (e.g. 2bpp) aren't catered for, but I suspect they're rare in the X world. [originally from svn r5696] --- unix/gtkwin.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/unix/gtkwin.c b/unix/gtkwin.c index 9838250f..a5713852 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -1885,6 +1885,7 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len, GdkGC *gc = dctx->gc; int ncombining, combining; int nfg, nbg, t, fontid, shadow, rlen, widefactor; + int monochrome = gtk_widget_get_visual(dctx->inst->area)->depth == 1; if (attr & TATTR_COMBINING) { ncombining = len; @@ -1892,8 +1893,8 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len, } else ncombining = 1; - nfg = ((attr & ATTR_FGMASK) >> ATTR_FGSHIFT); - nbg = ((attr & ATTR_BGMASK) >> ATTR_BGSHIFT); + nfg = ((monochrome ? ATTR_DEFFG : (attr & ATTR_FGMASK)) >> ATTR_FGSHIFT); + nbg = ((monochrome ? ATTR_DEFBG : (attr & ATTR_BGMASK)) >> ATTR_BGSHIFT); if (attr & ATTR_REVERSE) { t = nfg; nfg = nbg;