diff options
author | Florrie <towerofnix@gmail.com> | 2019-10-17 10:04:50 -0300 |
---|---|---|
committer | Florrie <towerofnix@gmail.com> | 2019-10-17 10:04:50 -0300 |
commit | fd2acc348797982e0c4ec7702eac1fa47c690648 (patch) | |
tree | 98b3a2dcf884a0afb4e0c8b4b7ea96bb9720a8e6 /util | |
parent | ea5b57242b7734b2d7c70cce48658d4e3331102f (diff) |
Make tui-app work with draw dependencies
...instead of using the old loop system.
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 }); |