//= require term ;(function(BaseTerminal) { // Expose the main WebConsole namespace. var WebConsole = this.WebConsole = {}; // Follow term.js example and expose inherits and EventEmitter. var inherits = WebConsole.inherits = BaseTerminal.inherits; var EventEmitter = WebConsole.EventEmitter = BaseTerminal.EventEmitter; var Terminal = WebConsole.Terminal = function(options) { if (typeof options === 'number') { return BaseTerminal.apply(this, arguments); } BaseTerminal.call(this, options || (options = {})); this.open(); if (!(options.rows || options.cols) || !options.geometry) { this.fitScreen(); } }; // Make WebConsole.Terminal inherit from BaseTerminal (term.js). inherits(Terminal, BaseTerminal); Terminal.prototype.fitScreen = function() { var width = Math.floor(this.element.clientWidth / this.cols); var height = Math.floor(this.element.clientHeight / this.rows); var rows = Math.floor(window.innerHeight / height); var cols = Math.floor(this.parent.clientWidth / width); this.resize(cols, rows); return [cols, rows]; }; }).call(this, Terminal);