diff -urN mikulas2/default.c mikulas3/default.c
--- mikulas2/default.c  Mon Nov 13 09:51:50 2000
+++ mikulas3/default.c  Mon Nov 13 10:17:00 2000
@@ -645,6 +645,18 @@
       return err;
}

+unsigned char *color_rd(struct option *o, unsigned char *c)
+{
+       unsigned char *val = get_token(&c);
+       if (!val) {
+               return "Missing argument";
+       } else {
+               int err = decode_color(val, o->ptr);
+               mem_free(val);
+               return (err) ? "Error decoding color" : NULL;
+       }
+}
+
unsigned char *gen_cmd(struct option *o, unsigned char ***argv, int *argc)
{
       unsigned char *r;
@@ -896,6 +908,11 @@
       1, NULL, prog_rd, prog_wr, 0, 0, &mailto_prog, "mailto", NULL,
       1, NULL, prog_rd, prog_wr, 0, 0, &telnet_prog, "telnet", NULL,
       1, NULL, prog_rd, prog_wr, 0, 0, &tn3270_prog, "tn3270", NULL,
+       1, NULL, color_rd, NULL, 0, 1, &default_fg, "default_fg", NULL,
+       1, NULL, color_rd, NULL, 0, 1, &default_bg, "default_bg", NULL,
+       1, NULL, color_rd, NULL, 0, 1, &default_link, "default_link", NULL,
+       1, NULL, color_rd, NULL, 0, 1, &default_vlink, "default_vlink", NULL,
+       1, NULL, num_rd, NULL, 0, 1, &color_dirs, "color_dirs", NULL,
       1, NULL, bind_rd, NULL, 0, 0, NULL, "bind", NULL,
       1, NULL, unbind_rd, NULL, 0, 0, NULL, "unbind", NULL,
       1, NULL, num_rd, NULL, 0, 1, &keep_unhistory, "keep_unhistory", NULL,
diff -urN mikulas2/file.c mikulas3/file.c
--- mikulas2/file.c     Mon Nov 13 09:51:25 2000
+++ mikulas3/file.c     Mon Nov 13 10:17:00 2000
@@ -1,5 +1,7 @@
#include "links.h"

+int color_dirs = 0;
+
#ifdef FS_UNIX_RIGHTS
void setrwx(int m, unsigned char *p)
{
@@ -318,9 +320,9 @@
                               mem_free(n);
                       }
                       add_to_str(&file, &fl, "\">");
-                       /*if (dir[i].s[0] == 'd') add_to_str(&file, &fl, "<font color=\"yellow\">");*/
+                       if (color_dirs && dir[i].s[0] == 'd') add_to_str(&file, &fl, "<font color=\"yellow\">");
                       add_to_str(&file, &fl, dir[i].f);
-                       /*if (dir[i].s[0] == 'd') add_to_str(&file, &fl, "</font>");*/
+                       if (color_dirs && dir[i].s[0] == 'd') add_to_str(&file, &fl, "</font>");
                       add_to_str(&file, &fl, "</a>");
                       if (lnk) {
                               add_to_str(&file, &fl, " -> ");
diff -urN mikulas2/links.h mikulas3/links.h
--- mikulas2/links.h    Mon Nov 13 09:51:29 2000
+++ mikulas3/links.h    Mon Nov 13 10:17:00 2000
@@ -844,6 +844,8 @@

/* file.c */

+extern int color_dirs;
+
void file_func(struct connection *);

/* finger.c */