From dfdd6d63a8503b305de36ef8733f9734da9b78f7 Mon Sep 17 00:00:00 2001 From: Kalle Wallin Date: Sat, 27 Mar 2004 12:03:40 +0000 Subject: [PATCH] Only use colors if the terminal supports colors. git-svn-id: https://svn.musicpd.org/ncmpc/trunk@508 09075e82-0dd4-0310-85a5-a0d7c8717e4f --- screen.c | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/screen.c b/screen.c index a63af20..37f5146 100644 --- a/screen.c +++ b/screen.c @@ -266,18 +266,26 @@ screen_init(void) { /* initialize the curses library */ initscr(); - start_color(); - if( options.enable_colors ) + if( has_colors() ) + { + start_color(); + if( options.enable_colors ) + { + init_pair(1, options.title_color, options.bg_color); + init_pair(2, options.line_color, options.bg_color); + init_pair(3, options.list_color, options.bg_color); + init_pair(4, options.progress_color, options.bg_color); + init_pair(5, options.status_color, options.bg_color); + init_pair(6, options.alert_color, options.bg_color); + } + else + use_default_colors(); + } + else if( options.enable_colors ) { - init_pair(1, options.title_color, options.bg_color); - init_pair(2, options.line_color, options.bg_color); - init_pair(3, options.list_color, options.bg_color); - init_pair(4, options.progress_color, options.bg_color); - init_pair(5, options.status_color, options.bg_color); - init_pair(6, options.alert_color, options.bg_color); + fprintf(stderr, "Terminal lacks color capabilities.\n"); + options.enable_colors = 0; } - else - use_default_colors(); /* tell curses not to do NL->CR/NL on output */ nonl(); @@ -333,6 +341,7 @@ screen_init(void) screen->helplist = list_window_init( screen->main_window.w, screen->main_window.cols, screen->main_window.rows ); + leaveok(screen->main_window.w, TRUE); keypad(screen->main_window.w, TRUE); @@ -361,9 +370,6 @@ screen_init(void) /* set background attributes */ wbkgd(screen->main_window.w, LIST_COLORS); wbkgd(screen->top_window.w, TITLE_COLORS); - wbkgd(screen->playlist->w, LIST_COLORS); - wbkgd(screen->filelist->w, LIST_COLORS); - wbkgd(screen->helplist->w, LIST_COLORS); wbkgd(screen->progress_window.w, PROGRESS_COLORS); wbkgd(screen->status_window.w, STATUS_COLORS); } -- 2.30.2