[asterisk-commits] tilghman: trunk r147262 - in /trunk: ./ include/asterisk/ main/

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Tue Oct 7 12:44:33 CDT 2008


Author: tilghman
Date: Tue Oct  7 12:44:32 2008
New Revision: 147262

URL: http://svn.digium.com/view/asterisk?view=rev&rev=147262
Log:
Allow people to select the old console behavior of white text on a black
background, by using the startup flag '-B'.

Modified:
    trunk/UPGRADE.txt
    trunk/include/asterisk/options.h
    trunk/main/asterisk.c
    trunk/main/term.c

Modified: trunk/UPGRADE.txt
URL: http://svn.digium.com/view/asterisk/trunk/UPGRADE.txt?view=diff&rev=147262&r1=147261&r2=147262
==============================================================================
--- trunk/UPGRADE.txt (original)
+++ trunk/UPGRADE.txt Tue Oct  7 12:44:32 2008
@@ -77,6 +77,13 @@
   had any significance).  Since this violates the Principle of Least Surprise,
   it has been changed.
 
+* The default console now will use colors according to the default background
+  color, instead of forcing the background color to black.  If you are using a
+  light colored background for your console, you may wish to use the option
+  flag '-W' to present better color choices for the various messages.  However,
+  if you'd prefer the old method of forcing colors to white text on a black
+  background, the compatiblity option -B is provided for this purpose.
+
 Voicemail:
 
 * The voicemail configuration values 'maxmessage' and 'minmessage' have

Modified: trunk/include/asterisk/options.h
URL: http://svn.digium.com/view/asterisk/trunk/include/asterisk/options.h?view=diff&rev=147262&r1=147261&r2=147262
==============================================================================
--- trunk/include/asterisk/options.h (original)
+++ trunk/include/asterisk/options.h Tue Oct  7 12:44:32 2008
@@ -86,6 +86,8 @@
 	AST_OPT_FLAG_LIGHT_BACKGROUND = (1 << 25),
 	/*! Count Initiated seconds in CDR's */
 	AST_OPT_FLAG_INITIATED_SECONDS = (1 << 26),
+	/*! Force black background */
+	AST_OPT_FLAG_FORCE_BLACK_BACKGROUND = (1 << 27),
 };
 
 /*! These are the options that set by default when Asterisk starts */
@@ -116,6 +118,7 @@
 #define ast_opt_dbg_file		ast_test_flag(&ast_options, AST_OPT_FLAG_DEBUG_FILE)
 #define ast_opt_verb_file		ast_test_flag(&ast_options, AST_OPT_FLAG_VERBOSE_FILE)
 #define ast_opt_light_background		ast_test_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND)
+#define ast_opt_force_black_background		ast_test_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND)
 
 extern struct ast_flags ast_options;
 

Modified: trunk/main/asterisk.c
URL: http://svn.digium.com/view/asterisk/trunk/main/asterisk.c?view=diff&rev=147262&r1=147261&r2=147262
==============================================================================
--- trunk/main/asterisk.c (original)
+++ trunk/main/asterisk.c Tue Oct  7 12:44:32 2008
@@ -2795,6 +2795,8 @@
 				ast_verbose("Invalid Entity ID '%s' provided\n", v->value);
 		} else if (!strcasecmp(v->name, "lightbackground")) {
 			ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_LIGHT_BACKGROUND);
+		} else if (!strcasecmp(v->name, "forceblackbackground")) {
+			ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_FORCE_BLACK_BACKGROUND);
 		}
 	}
 	for (v = ast_variable_browse(cfg, "compat"); v; v = v->next) {
@@ -2937,7 +2939,7 @@
 	if (getenv("HOME")) 
 		snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME"));
 	/* Check for options */
-	while ((c = getopt(argc, argv, "mtThfFdvVqprRgciInx:U:G:C:L:M:e:s:W")) != -1) {
+	while ((c = getopt(argc, argv, "mtThfFdvVqprRgciInx:U:G:C:L:M:e:s:WB")) != -1) {
 		switch (c) {
 #if defined(HAVE_SYSINFO)
 		case 'e':
@@ -3031,6 +3033,11 @@
 			break;
 		case 'W': /* White background */
 			ast_set_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND);
+			ast_clear_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND);
+			break;
+		case 'B': /* Force black background */
+			ast_set_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND);
+			ast_clear_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND);
 			break;
 		case '?':
 			exit(1);

Modified: trunk/main/term.c
URL: http://svn.digium.com/view/asterisk/trunk/main/term.c?view=diff&rev=147262&r1=147261&r2=147262
==============================================================================
--- trunk/main/term.c (original)
+++ trunk/main/term.c Tue Oct  7 12:44:32 2008
@@ -152,6 +152,10 @@
 			snprintf(prepdata, sizeof(prepdata), "%c[%dm", ESC, COLOR_BROWN);
 			snprintf(enddata, sizeof(enddata), "%c[%dm", ESC, COLOR_BLACK);
 			snprintf(quitdata, sizeof(quitdata), "%c[0m", ESC);
+		} else if (ast_opt_force_black_background) {
+			snprintf(prepdata, sizeof(prepdata), "%c[%d;%d;%dm", ESC, ATTR_BRIGHT, COLOR_BROWN, COLOR_BLACK + 10);
+			snprintf(enddata, sizeof(enddata), "%c[%d;%d;%dm", ESC, ATTR_RESET, COLOR_WHITE, COLOR_BLACK + 10);
+			snprintf(quitdata, sizeof(quitdata), "%c[0m", ESC);
 		} else {
 			snprintf(prepdata, sizeof(prepdata), "%c[%d;%dm", ESC, ATTR_BRIGHT, COLOR_BROWN);
 			snprintf(enddata, sizeof(enddata), "%c[%d;%dm", ESC, ATTR_RESET, COLOR_WHITE);
@@ -179,11 +183,19 @@
 		fgcolor &= ~128;
 	}
 
+	if (bgcolor) {
+		bgcolor &= ~128;
+	}
+
 	if (ast_opt_light_background) {
 		fgcolor = opposite(fgcolor);
 	}
 
-	snprintf(outbuf, maxout, "%c[%d;%dm%s%c[0m", ESC, attr, fgcolor, inbuf, ESC);
+	if (ast_opt_force_black_background) {
+		snprintf(outbuf, maxout, "%c[%d;%d;%dm%s%c[%d;%dm", ESC, attr, fgcolor, bgcolor + 10, inbuf, ESC, COLOR_WHITE, COLOR_BLACK + 10);
+	} else {
+		snprintf(outbuf, maxout, "%c[%d;%dm%s%c[0m", ESC, attr, fgcolor, inbuf, ESC);
+	}
 	return outbuf;
 }
 
@@ -204,7 +216,15 @@
 		fgcolor = opposite(fgcolor);
 	}
 
-	snprintf(outbuf, maxout, "%c[%d;%dm", ESC, attr, fgcolor);
+	if (bgcolor) {
+		bgcolor &= ~128;
+	}
+
+	if (ast_opt_force_black_background) {
+		snprintf(outbuf, maxout, "%c[%d;%d;%dm", ESC, attr, fgcolor, bgcolor + 10);
+	} else {
+		snprintf(outbuf, maxout, "%c[%d;%dm", ESC, attr, fgcolor);
+	}
 	return outbuf;
 }
 
@@ -235,7 +255,13 @@
 		ast_copy_string(outbuf, inbuf, maxout);
 		return outbuf;
 	}
-	if (ast_opt_light_background) {
+	if (ast_opt_force_black_background) {
+		snprintf(outbuf, maxout, "%c[%d;%dm%c%c[%d;%dm%s",
+			ESC, COLOR_BLUE, COLOR_BLACK + 10,
+			inbuf[0],
+			ESC, COLOR_WHITE, COLOR_BLACK + 10,
+			inbuf + 1);
+	} else if (ast_opt_light_background) {
 		snprintf(outbuf, maxout, "%c[%d;0m%c%c[%d;0m%s",
 			ESC, COLOR_BLUE,
 			inbuf[0],




More information about the asterisk-commits mailing list