void draw_active_window(Tox *m) { ToxWindow *a = active_window; a->alert0 = false; a->alert1 = false; a->alert2 = false; wint_t ch = 0; draw_bar(); touchwin(a->window); #ifndef WIN32 wresize(a->window, LINES - 2, COLS); #endif a->onDraw(a, m); wrefresh(a->window); /* Handle input */ #ifdef HAVE_WIDECHAR wget_wch(stdscr, &ch); #else ch = getch(); #endif if (ch == T_KEY_NEXT || ch == T_KEY_PREV) set_next_window((int) ch); else if (ch != ERR) a->onKey(a, m, ch); }
void draw_active_window(Tox *m) { ToxWindow *a = active_window; a->alert0 = false; a->alert1 = false; a->alert2 = false; wint_t ch = 0; draw_bar(); touchwin(a->window); #ifndef WIN32 wresize(a->window, LINES - 2, COLS); #endif a->onDraw(a, m); wrefresh(a->window); /* Handle input */ #ifdef HAVE_WIDECHAR if (wget_wch(stdscr, &ch) == ERR) #else if ((ch = getch()) == ERR) #endif return; if (ch == T_KEY_NEXT || ch == T_KEY_PREV) { set_next_window((int) ch); } else { pthread_mutex_lock(&Winthread.lock); a->onKey(a, m, ch); pthread_mutex_unlock(&Winthread.lock); } }
void draw_active_window(Tox *m) { ToxWindow *a = active_window; wint_t ch = 0; touchwin(a->window); #ifndef WIN32 wresize(a->window, LINES - 2, COLS); #endif a->blink = false; draw_bar(); a->onDraw(a, m); /* Handle input */ #ifdef HAVE_WIDECHAR wget_wch(stdscr, &ch); #else ch = getch(); #endif if (ch == '\t' || ch == KEY_BTAB) set_next_window((int) ch); else if (ch != ERR) a->onKey(a, m, ch); }
void draw_active_window(Tox *m) { ToxWindow *a = active_window; a->alert = WINDOW_ALERT_NONE; wint_t ch = 0; draw_bar(); touchwin(a->window); a->onDraw(a, m); /* Handle input */ bool ltr; #ifdef HAVE_WIDECHAR int status = wget_wch(stdscr, &ch); if (status == ERR) return; if (status == OK) ltr = iswprint(ch); else /* if (status == KEY_CODE_YES) */ ltr = false; #else ch = getch(); if (ch == ERR) return; /* TODO verify if this works */ ltr = isprint(ch); #endif /* HAVE_WIDECHAR */ if (!ltr && (ch == user_settings_->key_next_tab || ch == user_settings_->key_prev_tab)) { set_next_window((int) ch); } else { pthread_mutex_lock(&Winthread.lock); a->onKey(a, m, ch, ltr); pthread_mutex_unlock(&Winthread.lock); } }