Commit Diff


commit - eef51ac5f1740f16e00d1af34df4b8b4ce7fb44f
commit + eb2657082b4df0f45482f9a48567f75dda5c9d11
blob - bc1f866077af422d7c6f8bc9ea315fa85e63bbd2
blob + 28226c9e5fa2be06a3be6dd5233774ed87b2d9ad
--- rover.c
+++ rover.c
@@ -206,14 +206,21 @@ init_term()
     sa.sa_handler = handle_winch;
     sigaction(SIGWINCH, &sa, NULL);
     if (has_colors()) {
+        short bg;
         start_color();
-        init_pair(RED, COLOR_RED, COLOR_BLACK);
-        init_pair(GREEN, COLOR_GREEN, COLOR_BLACK);
-        init_pair(YELLOW, COLOR_YELLOW,COLOR_BLACK);
-        init_pair(BLUE, COLOR_BLUE, COLOR_BLACK);
-        init_pair(CYAN, COLOR_CYAN, COLOR_BLACK);
-        init_pair(MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
-        init_pair(WHITE, COLOR_WHITE, COLOR_BLACK);
+#ifdef NCURSES_EXT_FUNCS
+        use_default_colors();
+        bg = -1;
+#else
+        bg = COLOR_BLACK;
+#endif
+        init_pair(RED, COLOR_RED, bg);
+        init_pair(GREEN, COLOR_GREEN, bg);
+        init_pair(YELLOW, COLOR_YELLOW, bg);
+        init_pair(BLUE, COLOR_BLUE, bg);
+        init_pair(CYAN, COLOR_CYAN, bg);
+        init_pair(MAGENTA, COLOR_MAGENTA, bg);
+        init_pair(WHITE, COLOR_WHITE, bg);
     }
     atexit((void (*)(void)) endwin);
 }