Нужно чтоб все сиволы были зелёными на чёрном фоне. Поэтому перед выполнением основного кода сделал
init_pair(1, COLOR_GREEN, COLOR_BLACK );
bkgd( COLOR_PAIR(1) );
хотелось так
init_pair(1, COLOR_GREEN, COLOR_BLACK );
init_pair(2, COLOR_WHITE, COLOR_BLACK);
//...
// вывод символа.
move(x,y);
char ch = get_good_char()|COLOR_PAIR(1);
addch(ch);
refresh();
usleep(10000);
move(x,y);
ch = get_good_char()|COLOR_PAIR(2);
addch(ch);
refresh();
Но всё получается белым. Да и ещё с некоторыми багами связаными уже с работой программы, это изза usleep(10000); внутри критической секции(pthread), тут либо архитектуру менять, либо придумывать другой способ мигающего белого символа.
Но самый главнй вопрос, всё-же почему вышеуказанный код рисует всё белым? Если добавить bkgd( COLOR_PAIR(1) ); то все символы зелёные, и никто не мигает.