From b087c428ba492715626a7875185f9ba18fb30b3e Mon Sep 17 00:00:00 2001 From: liam4 Date: Mon, 3 Jul 2017 21:13:50 -0300 Subject: Improve cursor display - Whether the cursor is displayed or not is now based on the cursorVisible property rather than whether cursorX and cursorY are set or not. - The actual shell cursor is now invisible... this is objectively an act of Evil, though! This doesn't look like too hard to fix, thankfully. - A new cleanCursor function has been added to ansi.js. --- ui/Root.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'ui/Root.js') diff --git a/ui/Root.js b/ui/Root.js index b170f99..fc494a7 100644 --- a/ui/Root.js +++ b/ui/Root.js @@ -50,9 +50,7 @@ module.exports = class Root extends DisplayElement { // Render the cursor, based on the cursorX and cursorY of the currently // selected element. if ( - this.selected && - typeof this.selected.cursorX === 'number' && - typeof this.selected.cursorY === 'number' && + this.selected && this.selected.cursorVisible && (Date.now() - this.cursorBlinkOffset) % 1000 < 500 ) { writable.write(ansi.moveCursor( @@ -61,7 +59,7 @@ module.exports = class Root extends DisplayElement { writable.write('I') writable.write(ansi.resetAttributes()) } - writable.write(ansi.moveCursor(0, 0)) + writable.write(ansi.hideCursor()) } cursorMoved() { -- cgit 1.3.0-6-gf8a5