Scroll to bottom whenever handler is called

This catches all current and future cases for correctly scrolling to the bottom
on input by handling it in the handler immediately before emitting the data
event.

Fixes #378
This commit is contained in:
Daniel Imms 2016-11-28 10:41:03 -08:00
parent c6eb7f136c
commit 2bc8adee8c

View File

@ -2458,11 +2458,6 @@ Terminal.prototype.keyDown = function(ev) {
return true;
}
// Scroll down to prompt, whenever the user presses a key.
if (this.ybase !== this.ydisp) {
this.scrollToBottom();
}
this.emit('keydown', ev);
this.emit('key', result.key, ev);
this.showCursor();
@ -3153,6 +3148,10 @@ Terminal.prototype.is = function(term) {
* @param {string} data The data to populate in the event.
*/
Terminal.prototype.handler = function(data) {
// Input is being sent to the terminal, the terminal should focus the prompt.
if (this.ybase !== this.ydisp) {
this.scrollToBottom();
}
this.emit('data', data);
};