From dd5f204f879e3bc7b0fc9b682ea855c7dd499601 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 14 Sep 2006 16:26:07 -0700 Subject: [PATCH] Allow specifying * instead of any of the MENU COLOR fields. --- README.menu | 37 ++++++++++++++++++++----------------- com32/modules/readconfig.c | 22 ++++++++++++++++------ 2 files changed, 36 insertions(+), 23 deletions(-) diff --git a/README.menu b/README.menu index 5d7b0fc8..6d309326 100644 --- a/README.menu +++ b/README.menu @@ -178,25 +178,28 @@ MENU COLOR element ansi foreground background represents fully transparent, and #ffffffff represents opaque white. + + If any field is set to "*" then that field is left unchanged. + + The current defaults are: - timeout_msg - screen 37;40 #80ffffff #00000000 - border 30;44 #40000000 #00000000 - title 1;36;44 #c00090f0 #00000000 - unsel 37;44 #90ffffff #00000000 - hotkey 1;37;44 #ffffffff #00000000 - sel 7;37;40 #cf101010 #20ff8000 - hotsel 1;7;37;40 #ff353535 #20ff8000 - scrollbar 30;44 #40000000 #00000000 - tabmsg 31;40 #90ffff00 #00000000 - cmdmark 1;36;40 #c000ffff #00000000 - cmdline 37;40 #c0ffffff #00000000 - pwdborder 30;47 #80ffffff #20ffffff - pwdheader 31;47 #80ff8080 #20ffffff - pwdentry 30;47 #80ffffff #20ffffff - timeout_msg 37;40 #80ffffff #00000000 - timeout 1;37;40 #c0ffffff #00000000 + menu color screen 37;40 #80ffffff #00000000 + menu color border 30;44 #40000000 #00000000 + menu color title 1;36;44 #c00090f0 #00000000 + menu color unsel 37;44 #90ffffff #00000000 + menu color hotkey 1;37;44 #ffffffff #00000000 + menu color sel 7;37;40 #cf101010 #20ff8000 + menu color hotsel 1;7;37;40 #ff353535 #20ff8000 + menu color scrollbar 30;44 #40000000 #00000000 + menu color tabmsg 31;40 #90ffff00 #00000000 + menu color cmdmark 1;36;40 #c000ffff #00000000 + menu color cmdline 37;40 #c0ffffff #00000000 + menu color pwdborder 30;47 #80ffffff #20ffffff + menu color pwdheader 31;47 #80ff8080 #20ffffff + menu color pwdentry 30;47 #80ffffff #20ffffff + menu color timeout_msg 37;40 #80ffffff #00000000 + menu color timeout 1;37;40 #c0ffffff #00000000 MENU WIDTH 80 diff --git a/com32/modules/readconfig.c b/com32/modules/readconfig.c index 0a779568..24057b1b 100644 --- a/com32/modules/readconfig.c +++ b/com32/modules/readconfig.c @@ -420,15 +420,25 @@ void parse_config(const char *filename) if ( (ep = looking_at(p, cptr->name)) ) { p = skipspace(ep); if (*p) { - free(cptr->ansi); - cptr->ansi = dup_word(&p); + if (!strcmp(p, "*")) { + p++; + } else { + free((void *)cptr->ansi); + cptr->ansi = dup_word(&p); + } - p = skipspace(ep); + p = skipspace(p); if (*p) { - cptr->argb_fg = parse_argb(&p); - p = skipspace(ep); + if (!strcmp(p, "*")) { + p++; + } else { + cptr->argb_fg = parse_argb(&p); + } + + p = skipspace(p); if (*p) { - cptr->argb_bg = parse_argb(&p); + if (strcmp(p, "*")) + cptr->argb_bg = parse_argb(&p); } } } -- 2.11.4.GIT