From 788320264e75e648d77ffc0c334fb66a751d69b7 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Sun, 28 Oct 2007 20:28:29 +0000 Subject: add zcurses timeout --- Src/Modules/curses.c | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'Src/Modules') diff --git a/Src/Modules/curses.c b/Src/Modules/curses.c index 0f9647fb9..063ac9014 100644 --- a/Src/Modules/curses.c +++ b/Src/Modules/curses.c @@ -562,7 +562,7 @@ zccmd_refresh(const char *nam, char **args) static int -zccmd_move(const char *nam, char **args) +zccmd_move(const char *nam, char **args) { int y, x; LinkNode node; @@ -935,6 +935,33 @@ zccmd_input(const char *nam, char **args) } +static int +zccmd_timeout(const char *nam, char **args) +{ + LinkNode node; + ZCWin w; + int to; + char *eptr; + + node = zcurses_validate_window(args[0], ZCURSES_USED); + if (node == NULL) { + zwarnnam(nam, "%s: %s", zcurses_strerror(zc_errno), args[0]); + return 1; + } + + w = (ZCWin)getdata(node); + + to = (int)zstrtol(args[1], &eptr, 10); + if (*eptr) { + zwarnnam(nam, "timeout requires an integer: %s", args[1]); + return 1; + } + + wtimeout(w->win, to); + return 0; +} + + static int zccmd_position(const char *nam, char **args) { @@ -1019,6 +1046,7 @@ bin_zcurses(char *nam, char **args, Options ops, UNUSED(int func)) {"attr", zccmd_attr, 2, -1}, {"scroll", zccmd_scroll, 2, 2}, {"input", zccmd_input, 1, 3}, + {"timeout", zccmd_timeout, 2, 2}, {"touch", zccmd_touch, 1, -1}, {NULL, (zccmd_t)0, 0, 0} }; -- cgit 1.4.1