diff -pru dillo/dillorc dillo.my/dillorc
--- dillo/dillorc	Thu Apr  4 15:06:55 2002
+++ dillo.my/dillorc	Mon Apr  8 21:09:21 2002
@@ -88,6 +88,11 @@ force_my_colors=NO
 # independent of the author's setting.
 force_visited_color=YES
 
+# When set to YES, Dillo will try to use a private colormap. This is 
+# useful when using a graphical system with low depth (bpp). If this option
+# is missing here, then the default value is set to `YES'.
+use_private_colormap=YES
+
 #-------------------------------------------------------------------------
 #                        USER INTERFACE SECTION
 #-------------------------------------------------------------------------
diff -pru dillo/src/dillo.c dillo.my/src/dillo.c
--- dillo/src/dillo.c	Mon Mar 18 19:08:12 2002
+++ dillo.my/src/dillo.c	Mon Apr  8 22:04:18 2002
@@ -87,6 +87,9 @@ gint main(int argc, char *argv[])
    a_Dw_init();
    a_Cookies_init();
 
+   if (prefs.use_private_colormap)
+      gtk_widget_set_default_colormap (gdk_rgb_get_cmap());
+
    /* a_Nav_init() has been moved into this call because it needs to be
     * initialized with the new browser_window structure */
    bw = a_Interface_browser_window_new(prefs.width, prefs.height);
diff -pru dillo/src/prefs.c dillo.my/src/prefs.c
--- dillo/src/prefs.c	Wed Apr  3 20:20:34 2002
+++ dillo.my/src/prefs.c	Mon Apr  8 21:37:49 2002
@@ -44,6 +44,7 @@ static const struct {
    { "allow_white_bg", DRC_TOKEN_ALLOW_WHITE_BG },
    { "force_my_colors", DRC_TOKEN_FORCE_MY_COLORS },
    { "force_visited_color", DRC_TOKEN_FORCE_VISITED_COLOR },
+   { "use_private_colormap", DRC_TOKEN_USE_PRIVATE_COLORMAP },
    { "text_color", DRC_TOKEN_TEXT_COLOR },
    { "use_oblique", DRC_TOKEN_USE_OBLIQUE },
    { "home", DRC_TOKEN_HOME },
@@ -148,6 +149,10 @@ static guint Prefs_parser(GScanner *scan
       prefs.force_visited_color =
          (strcmp(scanner->value.v_string, "YES") == 0);
       break;
+   case DRC_TOKEN_USE_PRIVATE_COLORMAP:
+      prefs.use_private_colormap =
+         (strcmp(scanner->value.v_string, "YES") == 0);
+      break;
    case DRC_TOKEN_USE_OBLIQUE:
       prefs.use_oblique = (strcmp(scanner->value.v_string, "YES") == 0);
       break;
@@ -333,6 +338,7 @@ void a_Prefs_init(void)
    prefs.allow_white_bg = TRUE;
    prefs.force_my_colors = FALSE;
    prefs.force_visited_color = FALSE;
+   prefs.use_private_colormap = TRUE;
    prefs.show_alt = FALSE;
    prefs.panel_size = 1;
    prefs.small_icons = FALSE;
diff -pru dillo/src/prefs.h dillo.my/src/prefs.h
--- dillo/src/prefs.h	Wed Apr  3 20:20:34 2002
+++ dillo.my/src/prefs.h	Mon Apr  8 21:02:52 2002
@@ -34,6 +34,7 @@ typedef enum {
    DRC_TOKEN_ALLOW_WHITE_BG,
    DRC_TOKEN_FORCE_MY_COLORS,
    DRC_TOKEN_FORCE_VISITED_COLOR,
+   DRC_TOKEN_USE_PRIVATE_COLORMAP,
    DRC_TOKEN_TEXT_COLOR,
    DRC_TOKEN_USE_OBLIQUE,
    DRC_TOKEN_HOME,
@@ -79,6 +80,7 @@ struct _DilloPrefs {
    gboolean use_oblique;
    gboolean force_my_colors;
    gboolean force_visited_color;
+   gboolean use_private_colormap;
    gboolean show_alt;
    gint panel_size;
    gboolean small_icons;

