From bb4a8c82aa287cbf7434ba6453f4c9a18b8cbaae Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Sat, 4 Apr 2015 02:23:43 -0700 Subject: [PATCH] debug log. --- example/multiplex.js | 11 ++++++++++- lib/widget.js | 26 +++++++++++++------------- test/widget.js | 6 +++--- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/example/multiplex.js b/example/multiplex.js index 9bf6bb3..0093705 100755 --- a/example/multiplex.js +++ b/example/multiplex.js @@ -10,7 +10,12 @@ process.title = 'multiplex.js'; var blessed = require('blessed') - , screen = blessed.screen(); + , screen; + +screen = blessed.screen({ + smartCSR: true, + log: process.env.HOME + '/blessed-terminal.log' +}); var left = blessed.terminal({ parent: screen, @@ -33,6 +38,10 @@ var left = blessed.terminal({ } }); +left.pty.on('data', function(data) { + screen.log(JSON.stringify(data)); +}); + var right = blessed.terminal({ parent: screen, cursor: 'block', diff --git a/lib/widget.js b/lib/widget.js index 0896973..271a886 100644 --- a/lib/widget.js +++ b/lib/widget.js @@ -474,7 +474,7 @@ Screen.prototype.leave = function() { Screen.prototype.postEnter = function() { var self = this; if (this.options.debug) { - this._debugLog = new Log({ + this.debugLog = new Log({ parent: this, hidden: true, draggable: true, @@ -504,34 +504,34 @@ Screen.prototype.postEnter = function() { } }); - this._debugLog._.toggle = function() { - if (self._debugLog.hidden) { + this.debugLog.toggle = function() { + if (self.debugLog.hidden) { self.saveFocus(); - self._debugLog.show(); - self._debugLog.setFront(); - self._debugLog.focus(); + self.debugLog.show(); + self.debugLog.setFront(); + self.debugLog.focus(); } else { - self._debugLog.hide(); + self.debugLog.hide(); self.restoreFocus(); } self.render(); }; - this._debugLog.key(['q', 'escape'], self._debugLog._.toggle); - this.key('f12', self._debugLog._.toggle); + this.debugLog.key(['q', 'escape'], self.debugLog.toggle); + this.key('f12', self.debugLog.toggle); } }; Screen.prototype.log = function() { - if (this._debugLog) { - this._debugLog.log.apply(this._debugLog, arguments); + if (this.debugLog) { + this.debugLog.log.apply(this.debugLog, arguments); } return this.program.log.apply(this.program, arguments); }; Screen.prototype.debug = function() { - if (this._debugLog) { - this._debugLog.log.apply(this._debugLog, arguments); + if (this.debugLog) { + this.debugLog.log.apply(this.debugLog, arguments); } return this.program.debug.apply(this.program, arguments); }; diff --git a/test/widget.js b/test/widget.js index 021ea0b..751c4ba 100644 --- a/test/widget.js +++ b/test/widget.js @@ -14,13 +14,13 @@ screen = blessed.screen({ debug: true }); -screen._debugLog.parseTags = true; +screen.debugLog.parseTags = true; var logs = ''; require('./tail')(__dirname + '/logs/widget.log').on('line', function(line) { - if (!screen._debugLog.hidden) return; + if (!screen.debugLog.hidden) return; logs += line + '\n'; }); -screen._debugLog.on('show', function() { +screen.debugLog.on('show', function() { if (logs) { screen.debug(logs); logs = '';