/*
- * Copyright (C) 2012 Andy Spencer <andy753421@gmail.com>
+ * Copyright (C) 2012-2013 Andy Spencer <andy753421@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#define _XOPEN_SOURCE
+
#include <stdlib.h>
#include <signal.h>
#include <locale.h>
/* Misc setup */
signal(SIGINT, on_sigint);
+ /* Set default escape timeout */
+ if (!getenv("ESCDELAY"))
+ putenv("ESCDELAY=25");
+
/* Setup Curses */
setlocale(LC_ALL, "");
initscr();
keypad(stdscr, TRUE);
start_color();
curs_set(false);
+ timeout(100);
use_default_colors();
mousemask(ALL_MOUSE_EVENTS, NULL);
view_init();
/* Draw initial view */
+ date_sync();
view_draw();
/* Run */
MEVENT btn;
conf_sync();
int chr = getch();
+ date_sync();
if (chr == 'q')
break;
if (chr == KEY_MOUSE)
if (getmouse(&btn) != OK)
continue;
switch (chr) {
- case ERR:
- continue;
case KEY_RESIZE:
endwin();
refresh();
}
if (view_run(chr, btn.bstate, btn.y, btn.x))
continue;
+ if (chr == ERR) // timeout
+ continue;
debug("main: Unhandled key - Dec %3d, Hex %02x, Oct %03o, Chr <%c>",
chr, chr, chr, chr);
}