webssh

Web based ssh client https://github.com/huashengdun/webssh webssh.huashengdun.org/
git clone http://git.hanabi.in/repos/webssh.git
Log | Files | Refs | README | LICENSE

commit a4724a84673ae6c97a1e26af21a761d3b15e87be
parent 906fcac43684222b1e86b5c6687d656a7aac498d
Author: Sheng <webmaster0115@gmail.com>
Date:   Thu,  1 Feb 2018 15:06:30 +0800

Make terminal window resizable

Diffstat:
Mstatic/js/main.js | 24+++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/static/js/main.js b/static/js/main.js @@ -32,6 +32,14 @@ jQuery(function($){ }); + + function current_geometry() { + cols = parseInt(window.innerWidth / 10); + rows = parseInt(window.innerHeight / 24); + return [cols, rows]; + } + + function callback(msg) { // console.log(msg); if (msg.status) { @@ -47,7 +55,12 @@ jQuery(function($){ url = ws_url + join + 'ws?id=' + msg.id, socket = new WebSocket(url), terminal = document.getElementById('#terminal'), - term = new Terminal({cursorBlink: true}); + geometry = current_geometry(); + term = new Terminal({ + cursorBlink: true, + cols: geometry[0], + rows: geometry[1] + }); console.log(url); term.on('data', function(data) { @@ -78,4 +91,13 @@ jQuery(function($){ btn.prop('disabled', false); }; } + + $(window).resize(function(){ + if (typeof term != "undefined") { + geometry = current_geometry(); + term.geometry = geometry; + term.resize(geometry[0], geometry[1]); + } + }); + });