void mutt_refresh (void)
{
- /* don't refresh when we are waiting for a child. */
- if (option (OPTKEEPQUIET))
- return;
+ /* don't refresh when we are waiting for a child. */
+ if (option (OPTKEEPQUIET))
+ return;
- /* don't refresh in the middle of macros unless necessary */
- if (UngetCount && !option (OPTFORCEREFRESH))
- return;
+ /* don't refresh in the middle of macros unless necessary */
+ if (UngetCount && !option (OPTFORCEREFRESH))
+ return;
- /* else */
- refresh ();
+ /* else */
+ wrefresh (stdscr);
}
-/* Make sure that the next refresh does a full refresh. This could be
- optmized by not doing it at all if DISPLAY is set as this might
- indicate that a GUI based pinentry was used. Having an option to
- customize this is of course the Mutt way. */
void mutt_need_hard_redraw (void)
{
- if (!getenv ("DISPLAY")) {
keypad (stdscr, TRUE);
clearok (stdscr, TRUE);
set_option (OPTNEEDREDRAW);
- }
}
event_t mutt_getch (void)
SigInt = 0;
mutt_allow_interrupt (1);
- ch = getch ();
+ ch = wgetch (stdscr);
mutt_allow_interrupt (0);
if (SigInt)
if (ch == ERR)
return err;
- if ((ch & 0x80) && option (OPTMETAKEY)) {
- /* send ALT-x as ESC-x */
- ch &= ~0x80;
- mutt_ungetch (ch, 0);
- ret.ch = '\033';
- ret.op = 0;
- return ret;
- }
-
ret.ch = ch;
ret.op = 0;
return (ch == ctrl ('G') ? err : ret);
do {
CLEARLINE (LINES - 1);
- addstr (field);
+ waddstr (stdscr, field);
mutt_refresh ();
getyx (stdscr, y, x);
ret = _mutt_enter_string(buf, buflen, y, x, complete, multiple, files,
snprintf (answer_string, COLS + 1, " ([%s]/%s): ", def == M_YES ? yes : no,
def == M_YES ? no : yes);
answer_string_len = m_strlen(answer_string);
- printw ("%.*s%s", COLS - answer_string_len, msg, answer_string);
+ wprintw (stdscr, "%.*s%s", COLS - answer_string_len, msg, answer_string);
p_delete(&answer_string);
for (;;) {
regfree (&reno);
if (def != -1) {
- addstr ((char *) (def == M_YES ? yes : no));
+ waddstr (stdscr, (char *) (def == M_YES ? yes : no));
mutt_refresh ();
}
return (def);
mutt_flushinp ();
curs_set (1);
if (Timeout)
- timeout (-1); /* restore blocking operation */
+ wtimeout (stdscr, -1); /* restore blocking operation */
if (mutt_yesorno (_("Exit Madmutt?"), M_YES) == M_YES) {
mutt_endwin (NULL);
exit (1);
if (!option (OPTKEEPQUIET)) {
BEEP ();
SETCOLOR (MT_COLOR_ERROR);
- mvaddstr (LINES - 1, 0, Errorbuf);
- clrtoeol ();
+ mvwaddstr (stdscr, LINES - 1, 0, Errorbuf);
+ wclrtoeol (stdscr);
SETCOLOR (MT_COLOR_NORMAL);
mutt_refresh ();
}
if (!option (OPTKEEPQUIET)) {
SETCOLOR (MT_COLOR_MESSAGE);
- mvaddstr (LINES - 1, 0, Errorbuf);
- clrtoeol ();
+ mvwaddstr (stdscr, LINES - 1, 0, Errorbuf);
+ wclrtoeol (stdscr);
SETCOLOR (MT_COLOR_NORMAL);
mutt_refresh ();
}
SETCOLOR (option (OPTMSGERR) ? MT_COLOR_ERROR : MT_COLOR_MESSAGE);
CLEARLINE (LINES - 1);
- addstr (Errorbuf);
+ waddstr (stdscr, Errorbuf);
SETCOLOR (MT_COLOR_NORMAL);
}
if (!option (OPTNOCURSES)) {
CLEARLINE (LINES - 1);
- attrset (A_NORMAL);
+ wattrset (stdscr, A_NORMAL);
mutt_refresh ();
endwin ();
}
{
event_t ch;
- mvaddstr (LINES - 1, 0, (char *) prompt);
- addstr (_(" ('?' for list): "));
+ mvwaddstr (stdscr, LINES - 1, 0, (char *) prompt);
+ waddstr (stdscr, _(" ('?' for list): "));
if (buf[0])
- addstr (buf);
- clrtoeol ();
+ waddstr (stdscr, buf);
+ wclrtoeol (stdscr);
mutt_refresh ();
ch = mutt_getch ();
int choice;
char *p;
- mvaddstr (LINES - 1, 0, prompt);
- clrtoeol ();
+ mvwaddstr (stdscr, LINES - 1, 0, prompt);
+ wclrtoeol (stdscr);
for (;;) {
mutt_refresh ();
ch = mutt_getch ();
(n2 = wcrtomb(buf + n1, 0, &mbstate)) == -1)
return -1; /* ERR */
else
- return addstr (buf);
+ return waddstr (stdscr, buf);
}
ssize_t mutt_pretty_size(char *s, ssize_t len, ssize_t n)
/*
* mutt_paddstr (n, s) is almost equivalent to
- * mutt_format_string (bigbuf, big, n, n, 0, ' ', s, big, 0), addstr (bigbuf)
+ * mutt_format_string (bigbuf, big, n, n, 0, ' ', s, big, 0), waddstr (stdscr, bigbuf)
*/
void mutt_paddstr (int n, const char *s)
if (w >= 0) {
if (w > n)
break;
- addnstr ((char *) s, k);
+ waddnstr (stdscr, (char *) s, k);
n -= w;
}
}
while (n-- > 0)
- addch (' ');
+ waddch (stdscr, ' ');
}
/* this routine should be called after receiving SIGWINCH */