diff --git a/src/prompt.c b/src/prompt.c index 4fbc8c6..4b8c978 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -369,7 +369,7 @@ static void prompt_onDraw(ToxWindow *self, Tox *m) int new_x = ctx->start ? x2 - 1 : MAX(0, wcswidth(ctx->line, ctx->pos)); wmove(self->window, y + 1, new_x); - wrefresh(self->window); + wnoutrefresh(self->window); if (self->help->active) help_onDraw(self); diff --git a/src/windows.c b/src/windows.c index 0116a5a..5414b4b 100644 --- a/src/windows.c +++ b/src/windows.c @@ -471,6 +471,11 @@ static void draw_window_tab(ToxWindow *toxwin) static void draw_bar(void) { + int y,x; + + // save current cursor position + getyx(active_window->window, y, x); + attron(COLOR_PAIR(BLUE)); mvhline(LINES - 2, 0, '_', COLS); attroff(COLOR_PAIR(BLUE)); @@ -508,6 +513,9 @@ static void draw_bar(void) attroff(A_BOLD); } + // restore cursor position after drawing + move(y, x); + refresh(); } @@ -525,6 +533,7 @@ void draw_active_window(Tox *m) touchwin(a->window); a->onDraw(a, m); + wrefresh(a->window); /* Handle input */ bool ltr;