diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2022-03-05 09:47:47 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2022-03-05 09:47:47 -0800 |
commit | 057f4a2870188bfdbdc59b3f16f3b3b4fb3a4304 (patch) | |
tree | c12d7781eef5a178764d6fbbb9861df735e0405d /src/lcurses/window.c | |
parent | 520cc099971584913e8b8eca811849c7e2e6ce67 (diff) | |
download | teliva-057f4a2870188bfdbdc59b3f16f3b3b4fb3a4304.tar.gz |
anagrams.tlv: slightly more responsive
Now we cancel screen-painting if any key is pressed. However it looks like just computing the list of anagrams can take a long time.
Diffstat (limited to 'src/lcurses/window.c')
-rw-r--r-- | src/lcurses/window.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lcurses/window.c b/src/lcurses/window.c index 02fccb2..e3fcc70 100644 --- a/src/lcurses/window.c +++ b/src/lcurses/window.c @@ -1361,6 +1361,25 @@ Wgetch(lua_State *L) /*** +Put back a character obtained from @{getch} +@function ungetch +@int ch +@treturn OK or ERR +@see mvwgetch(3x) +@see getch +*/ +static int +Wungetch(lua_State *L) +{ + int ch = checkint(L, 2); + int result = ungetch(ch); + if (result == ERR) + return 0; + return pushintresult(result); +} + + +/*** Call @{move} then @{getch} @function mvgetch @int y @@ -1893,6 +1912,7 @@ static const luaL_Reg curses_window_fns[] = LCURSES_FUNC( Wtimeout ), LCURSES_FUNC( Wtouch ), LCURSES_FUNC( Wtouchline ), + LCURSES_FUNC( Wungetch ), LCURSES_FUNC( Wvline ), LCURSES_FUNC( Wwbkgd ), LCURSES_FUNC( Wwbkgdset ), |