Defer keypad() invocation
This commit is contained in:
parent
45f79abf9c
commit
6e879c9db9
11
sdn.cpp
11
sdn.cpp
|
@ -814,8 +814,7 @@ int main (int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
|
|
||||||
locale::global (locale (""));
|
locale::global (locale (""));
|
||||||
if (!initscr () || cbreak () == ERR || noecho () == ERR || nonl () == ERR
|
if (!initscr () || cbreak () == ERR || noecho () == ERR || nonl () == ERR) {
|
||||||
|| halfdelay (1) == ERR || keypad (stdscr, TRUE) == ERR) {
|
|
||||||
cerr << "cannot initialize screen" << endl;
|
cerr << "cannot initialize screen" << endl;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -825,6 +824,14 @@ int main (int argc, char *argv[]) {
|
||||||
g.start_dir = g.cwd;
|
g.start_dir = g.cwd;
|
||||||
update ();
|
update ();
|
||||||
|
|
||||||
|
// Invoking keypad() earlier would make ncurses flush its output buffer,
|
||||||
|
// which would worsen start-up flickering
|
||||||
|
if (halfdelay (1) == ERR || keypad (stdscr, TRUE) == ERR) {
|
||||||
|
endwin ();
|
||||||
|
cerr << "cannot initialize screen" << endl;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
wint_t c;
|
wint_t c;
|
||||||
while (1) {
|
while (1) {
|
||||||
inotify_check ();
|
inotify_check ();
|
||||||
|
|
Loading…
Reference in New Issue