comparison mcabber/src/screen.c @ 267:8d3d5bd52da3

Improve color configuration * Rename color options (it made no sense!!) * Use default values * Do not crash anymore when the colors options are buggy in the mcabberrc
author mikael@frmp8452
date Sun, 03 Jul 2005 00:21:59 +0100
parents 49e9e02dd6d0
children 3c07026f1b47
comparison
equal deleted inserted replaced
266:2b0db4b458eb 267:8d3d5bd52da3
132 return -1; 132 return -1;
133 } 133 }
134 134
135 void ParseColors(void) 135 void ParseColors(void)
136 { 136 {
137 char *colors[11] = { 137 char *colors[8] = {
138 "", "", 138 "", "",
139 "borderlines", 139 "general",
140 "jidonline",
141 "newmsg", 140 "newmsg",
142 "jidofflineselected", 141 "rosterselect",
143 "jidoffline", 142 "rosternormal",
144 "text",
145 NULL 143 NULL
146 }; 144 };
147 145
148 char *tmp = malloc(1024); 146 char *tmp = malloc(1024);
149 char *color1; 147 char *color;
150 char *background = cfg_read("color_background"); 148 char *background = cfg_read("color_background");
151 char *backselected = cfg_read("color_backselected"); 149 char *backselected = cfg_read("color_backselected");
152 int i = 0; 150 int i = 0;
153 151
152 // Default values
153 if (!background) background = "blue";
154 if (!backselected) backselected = "cyan";
155
154 while (colors[i]) { 156 while (colors[i]) {
155 sprintf(tmp, "color_%s", colors[i]); 157 sprintf(tmp, "color_%s", colors[i]);
156 color1 = cfg_read(tmp); 158 color = cfg_read(tmp);
157 159
158 switch (i + 1) { 160 switch (i + 1) {
159 case 1: 161 case 1:
160 init_pair(1, COLOR_BLACK, COLOR_WHITE); 162 init_pair(1, COLOR_BLACK, COLOR_WHITE);
161 break; 163 break;
162 case 2: 164 case 2:
163 init_pair(2, COLOR_WHITE, COLOR_BLACK); 165 init_pair(2, COLOR_WHITE, COLOR_BLACK);
164 break; 166 break;
165 case 3: 167 case 3:
166 init_pair(3, FindColor(color1), FindColor(background)); 168 init_pair(3, ((color) ? FindColor(color) : COLOR_WHITE),
169 FindColor(background));
167 break; 170 break;
168 case 4: 171 case 4:
169 init_pair(4, FindColor(color1), FindColor(backselected)); 172 init_pair(4, ((color) ? FindColor(color) : COLOR_RED),
173 FindColor(background));
170 break; 174 break;
171 case 5: 175 case 5:
172 init_pair(5, FindColor(color1), FindColor(background)); 176 init_pair(5, ((color) ? FindColor(color) : COLOR_BLACK),
177 FindColor(backselected));
173 break; 178 break;
174 case 6: 179 case 6:
175 init_pair(6, FindColor(color1), FindColor(backselected)); 180 init_pair(6, ((color) ? FindColor(color) : COLOR_MAGENTA),
176 break; 181 FindColor(background));
177 case 7:
178 init_pair(7, FindColor(color1), FindColor(background));
179 break;
180 case 8:
181 init_pair(8, FindColor(color1), FindColor(background));
182 break; 182 break;
183 } 183 }
184 i++; 184 i++;
185 } 185 }
186 } 186 }