diff --git a/addons/fit/fit.js b/addons/fit/fit.js new file mode 100644 index 00000000..0b0eb140 --- /dev/null +++ b/addons/fit/fit.js @@ -0,0 +1,28 @@ +/* + * Fit terminal columns and rows to the dimensions of its + * DOM element. + * + * Approach: + * - Rows: Truncate the division of the terminal parent element height + * by the terminal row height + * + * - Columns: Truncate the division of the terminal parent element width by + * the terminal character width (apply display: inline at the + * terminal row and truncate its width with the current number + * of columns) + */ +Terminal.prototype.fit = function () { + var container = this.element.parentElement, + subjectRow = this.rowContainer.firstElementChild, + rows = parseInt(container.offsetHeight / subjectRow.offsetHeight), + characterWidth, + cols; + + subjectRow.style.display = 'inline'; + characterWidth = parseInt(subjectRow.offsetWidth / this.cols); + subjectRow.style.display = ''; + + cols = parseInt(container.offsetWidth / characterWidth); + + this.resize(cols, rows); +} \ No newline at end of file diff --git a/bower.json b/bower.json index e84bba59..125affae 100644 --- a/bower.json +++ b/bower.json @@ -1,5 +1,5 @@ { "name": "xterm.js", - "version": "0.9.2", + "version": "0.9.3", "ignore": ["demo", "docs", "test", ".gitignore"] } diff --git a/demo/index.html b/demo/index.html index 73aa304a..b09ffa8e 100644 --- a/demo/index.html +++ b/demo/index.html @@ -5,9 +5,10 @@ - - - + + + +

diff --git a/src/xterm.js b/src/xterm.js index 32f504a9..7c56a603 100644 --- a/src/xterm.js +++ b/src/xterm.js @@ -2521,35 +2521,6 @@ Terminal.prototype.resize = function(x, y) { this.emit('resize', {terminal: this, cols: x, rows: y}); }; -/* -* Fit terminal columns and rows to the dimensions of its -* DOM element. -* -* Approach: -* - Rows: Truncate the division of the terminal parent element height -* by the terminal row height -* -* - Columns: Truncate the division of the terminal parent element width by -* the terminal character width (apply display: inline at the -* terminal row and truncate its width with the current number -* of columns) -*/ -Terminal.prototype.fit = function () { - var container = this.element.parentElement, - subjectRow = this.rowContainer.firstElementChild, - rows = parseInt(container.offsetHeight / subjectRow.offsetHeight), - characterWidth, - cols; - - subjectRow.style.display = 'inline'; - characterWidth = parseInt(subjectRow.offsetWidth / this.cols); - subjectRow.style.display = ''; - - cols = parseInt(container.offsetWidth / characterWidth); - - this.resize(cols, rows); -} - Terminal.prototype.updateRange = function(y) { if (y < this.refreshStart) this.refreshStart = y; if (y > this.refreshEnd) this.refreshEnd = y;