Reputation: 341
I wanted to create a window in ncurses, surround it with a box, and write some colored text in it.
When I try to make simple colored text in the standard window it works perfectly, but when I try to put it in a new window the text appears white on black (i.e. the default)
Here's the code I've tried. Why doens't it work?
#include <ncurses.h>
int main(int argc, char *argv[])
{
initscreen();
WINDOW * win = newwin(8,15,1,1);
box(win,0,0);
start_color();
init_pair(1, COLOR_BLACK, COLOR_RED);
attron(COLOR_PAIR(1));
mvwprintw(win,1,1,"colored text");
wrefresh(win);
getch();
return 0;
}
Upvotes: 11
Views: 7794
Reputation: 341
I soloved the problem by using
wattron(win, COLOR_PAIR(1));
instead of
attron(COLOR_PAIR(1));
wattron
affects the given window, while attron
assumes you mean stdscr
, rather than the current window.
Upvotes: 23