From 991594c35c8dac4f35c480497278c681339ffa78 Mon Sep 17 00:00:00 2001 From: Marcos Lilljedahl Date: Sat, 8 Oct 2016 12:26:33 +0200 Subject: [PATCH] Focus terminal when switching instances --- www/assets/app.js | 6 ++++-- www/assets/main.js | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/www/assets/app.js b/www/assets/app.js index 0f94a94..84a0fbb 100644 --- a/www/assets/app.js +++ b/www/assets/app.js @@ -62,9 +62,11 @@ $scope.showInstance = function(instance) { $scope.selectedInstance = instance; if (!instance.isAttached) { - $timeout(function() {createTerminal(instance.name)}); + $timeout(function() {instance.term = createTerminal(instance.name);}); instance.isAttached = true; - } + } else { + $timeout(function() {instance.term.focus()}); + } } $scope.deleteInstance = function(instance) { diff --git a/www/assets/main.js b/www/assets/main.js index 0debe98..e358ead 100644 --- a/www/assets/main.js +++ b/www/assets/main.js @@ -37,7 +37,7 @@ function createTerminal(name) { while (terminalContainer.children.length) { terminalContainer.removeChild(terminalContainer.children[0]); } - term = new Terminal({ + var term = new Terminal({ cursorBlink: false }); var sessionId = location.pathname.substr(location.pathname.lastIndexOf("/")+1); @@ -47,12 +47,14 @@ function createTerminal(name) { term.open(terminalContainer); socket = new WebSocket(socketURL); - socket.onopen = runRealTerminal; + socket.onopen = runRealTerminal(term); + + return term; } -function runRealTerminal() { +function runRealTerminal(term) { term.attach(socket); term._initialized = true; }