From 82027a5b4f590e5f50e833b0b652e3b12aa3c00c Mon Sep 17 00:00:00 2001 From: Wesley Merkel Date: Wed, 2 Apr 2014 12:41:19 -0600 Subject: [PATCH 1/3] Use default terminal fg/bg colors when we can. --- src/main.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main.c b/src/main.c index 9cc4796..6ec642f 100644 --- a/src/main.c +++ b/src/main.c @@ -106,14 +106,19 @@ static void init_term(void) timeout(100); if (has_colors()) { + short bg_color = COLOR_BLACK; start_color(); +#ifdef NCURSES_EXT_FUNCS + if (assume_default_colors(-1,-1) == OK) + bg_color = -1; +#endif init_pair(0, COLOR_WHITE, COLOR_BLACK); - init_pair(1, COLOR_GREEN, COLOR_BLACK); - init_pair(2, COLOR_CYAN, COLOR_BLACK); - init_pair(3, COLOR_RED, COLOR_BLACK); - init_pair(4, COLOR_BLUE, COLOR_BLACK); - init_pair(5, COLOR_YELLOW, COLOR_BLACK); - init_pair(6, COLOR_MAGENTA, COLOR_BLACK); + init_pair(1, COLOR_GREEN, bg_color); + init_pair(2, COLOR_CYAN, bg_color); + init_pair(3, COLOR_RED, bg_color); + init_pair(4, COLOR_BLUE, bg_color); + init_pair(5, COLOR_YELLOW, bg_color); + init_pair(6, COLOR_MAGENTA, bg_color); init_pair(7, COLOR_BLACK, COLOR_BLACK); init_pair(8, COLOR_BLACK, COLOR_WHITE); } From b9290c8a835c089603addeaafa9dec038948a818 Mon Sep 17 00:00:00 2001 From: Wesley Merkel Date: Sat, 5 Apr 2014 13:31:53 -0600 Subject: [PATCH 2/3] Let user disable native colours with ./configure --- configure.ac | 22 ++++++++++++++++++++++ src/main.c | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 0becaaf..971a22c 100644 --- a/configure.ac +++ b/configure.ac @@ -451,6 +451,28 @@ fi AM_CONDITIONAL(BUILD_AV, test "x$BUILD_AV" = "xyes") +# check for ncurses default colour capabilities +NATIVE_COLOURS="yes" +AC_ARG_ENABLE([native-colours], + [AC_HELP_STRING( + [--disable-native-colours], [use terminal-default fg/bg colours]) + ], + [ + if test "x$enableval" = "xno"; then + NATIVE_COLOURS="no" + elif test "x$enableval" = "xyes"; then + NATIVE_COLOURS="yes" + fi + ] +) +if test "x$NATIVE_COLOURS" = "xyes"; then + AC_CHECK_LIB([ncurses], [assume_default_colors], + [AC_DEFINE( + [TOXIC_NATIVE_COLOURS], [1], [use terminal-default fg/bg colours]) + ], + [AC_MSG_WARN([curses library does not support native colours])] + ) +fi TOXIC_VERSION="$PACKAGE_VERSION" AC_PATH_PROG([GIT], [git], [no]) diff --git a/src/main.c b/src/main.c index 6ec642f..0725797 100644 --- a/src/main.c +++ b/src/main.c @@ -108,7 +108,7 @@ static void init_term(void) if (has_colors()) { short bg_color = COLOR_BLACK; start_color(); -#ifdef NCURSES_EXT_FUNCS +#ifdef TOXIC_NATIVE_COLOURS if (assume_default_colors(-1,-1) == OK) bg_color = -1; #endif From 0fdb01ff97691a98997cfe6174d8ec44dff1ee45 Mon Sep 17 00:00:00 2001 From: Wesley Merkel Date: Sat, 5 Apr 2014 16:20:35 -0600 Subject: [PATCH 3/3] Turn off native colours by default --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 971a22c..a5fd27d 100644 --- a/configure.ac +++ b/configure.ac @@ -452,10 +452,10 @@ fi AM_CONDITIONAL(BUILD_AV, test "x$BUILD_AV" = "xyes") # check for ncurses default colour capabilities -NATIVE_COLOURS="yes" +NATIVE_COLOURS="no" AC_ARG_ENABLE([native-colours], [AC_HELP_STRING( - [--disable-native-colours], [use terminal-default fg/bg colours]) + [--enable-native-colours], [use terminal-default fg/bg colours]) ], [ if test "x$enableval" = "xno"; then