cncurses

Printing inside window, not on borders


I'm trying to write something inside a curses window, but it seems to write on borders too. How can I fix the code below?

win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
wrefresh(win_self);
wprintw(win_self, "foobar");

Solution

  • In curses, the borders generated by box() are inside borders. As far as I can tell, there's no way to simply say "don't overwrite my border".

    Nevertheless, there are three solutions that I can think of right now:


    Just to make it more clear: the box() function doesn't add the property "this window has visible borders" to the window, it just prints border characters around the window.

    You are: