diff options
Diffstat (limited to 'util')
-rw-r--r-- | util/tui-app.js | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/util/tui-app.js b/util/tui-app.js index 0b845ea..a695e57 100644 --- a/util/tui-app.js +++ b/util/tui-app.js @@ -20,6 +20,7 @@ module.exports = async function tuiApp(callback) { root.w = size.width; root.h = size.height; flushable.resizeScreen(size); + root.on('rendered', () => flushable.flush()); interfacer.on('resize', newSize => { root.w = newSize.width; @@ -48,26 +49,18 @@ module.exports = async function tuiApp(callback) { process.kill(process.pid, 'SIGTSTP'); }; - const startRenderLoop = function () { + process.on('SIGCONT', () => { + flushable.clearLastFrame(); + process.stdin.setRawMode(false); + process.stdin.setRawMode(true); dirtyTerminal(); + }); - process.on('SIGCONT', () => { - flushable.clearLastFrame(); - process.stdin.setRawMode(false); - process.stdin.setRawMode(true); - dirtyTerminal(); - }); - - setInterval(() => { - root.renderTo(flushable); - flushable.flush(); - }); - }; + dirtyTerminal(); try { return await callback({ root, - startRenderLoop, suspendProgram, quitProgram }); |