From ad23737e702b6d128e364004bb815d58ab8cadc9 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 8 Jan 2018 12:20:09 -0500 Subject: [PATCH 01/15] Upgrade xterm.js to 3.0.1 Closes https://github.com/jupyter/notebook/issues/2850 --- bower.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 3a97e1417..89bfe9d17 100644 --- a/bower.json +++ b/bower.json @@ -24,6 +24,6 @@ "requirejs-plugins": "~1.0.3", "text-encoding": "~0.1", "underscore": "components/underscore#~1.8.3", - "xterm.js": "sourcelair/xterm.js#~2.9.2" + "xterm.js": "https://unpkg.com/xterm@~3.0.1/dist/xterm.js" } } From 85cd5143ef1dd3a47ee13753befd4ac8215973be Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 8 Jan 2018 18:58:08 -0500 Subject: [PATCH 02/15] Add dummy css package for xterm --- bower.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bower.json b/bower.json index 89bfe9d17..1634765be 100644 --- a/bower.json +++ b/bower.json @@ -24,6 +24,7 @@ "requirejs-plugins": "~1.0.3", "text-encoding": "~0.1", "underscore": "components/underscore#~1.8.3", - "xterm.js": "https://unpkg.com/xterm@~3.0.1/dist/xterm.js" + "xterm.js": "https://unpkg.com/xterm@~3.0.1/dist/xterm.js", + "xterm.js-css": "https://unpkg.com/xterm@~3.0.1/dist/xterm.css" } } From 538a89fee08604be62176b0aaccec5907369ec82 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 8 Jan 2018 23:29:03 -0500 Subject: [PATCH 03/15] update paths --- notebook/templates/page.html | 2 +- notebook/templates/terminal.html | 2 +- setupbase.py | 4 ++-- tools/build-main.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/notebook/templates/page.html b/notebook/templates/page.html index edc48ab1d..ab47da2ea 100644 --- a/notebook/templates/page.html +++ b/notebook/templates/page.html @@ -42,7 +42,7 @@ 'jquery-ui': 'components/jquery-ui/ui/minified/jquery-ui.min', moment: 'components/moment/min/moment-with-locales', codemirror: 'components/codemirror', - termjs: 'components/xterm.js/dist/xterm', + termjs: 'components/xterm.js/xterm', typeahead: 'components/jquery-typeahead/dist/jquery.typeahead.min', }, map: { // for backward compatibility diff --git a/notebook/templates/terminal.html b/notebook/templates/terminal.html index 12b4d1763..59df74a0a 100644 --- a/notebook/templates/terminal.html +++ b/notebook/templates/terminal.html @@ -15,7 +15,7 @@ data-ws-path="{{ws_path}}" {% block stylesheet %} {{super()}} - + {% endblock %} {% block headercontainer %} diff --git a/setupbase.py b/setupbase.py index 6a30d7d18..ab630b62a 100644 --- a/setupbase.py +++ b/setupbase.py @@ -157,8 +157,8 @@ def find_package_data(): pjoin(components, "underscore", "underscore-min.js"), pjoin(components, "moment", "moment.js"), pjoin(components, "moment", "min", "*.js"), - pjoin(components, "xterm.js", "dist", "xterm.js"), - pjoin(components, "xterm.js", "dist", "xterm.css"), + pjoin(components, "xterm.js", "xterm.js"), + pjoin(components, "xterm.js-css", "xterm.css"), pjoin(components, "text-encoding", "lib", "encoding.js"), ]) diff --git a/tools/build-main.js b/tools/build-main.js index 44b12a350..5a90b3f12 100644 --- a/tools/build-main.js +++ b/tools/build-main.js @@ -24,7 +24,7 @@ var rjs_config = { "jquery-ui": 'components/jquery-ui/ui/minified/jquery-ui.min', moment: 'components/moment/min/moment-with-locales', codemirror: 'components/codemirror', - xterm: 'components/xterm.js/dist/xterm', + xterm: 'components/xterm.js/xterm', typeahead: 'components/jquery-typeahead/dist/jquery.typeahead', contents: 'empty:', custom: 'empty:', From 94f6382ba6776c188170e0903db78bfc9a64f2cf Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 8 Jan 2018 23:53:07 -0500 Subject: [PATCH 04/15] fix path --- notebook/templates/terminal.html | 2 +- setupbase.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/notebook/templates/terminal.html b/notebook/templates/terminal.html index 59df74a0a..3d1617db8 100644 --- a/notebook/templates/terminal.html +++ b/notebook/templates/terminal.html @@ -15,7 +15,7 @@ data-ws-path="{{ws_path}}" {% block stylesheet %} {{super()}} - + {% endblock %} {% block headercontainer %} diff --git a/setupbase.py b/setupbase.py index ab630b62a..cb345d1c4 100644 --- a/setupbase.py +++ b/setupbase.py @@ -157,8 +157,8 @@ def find_package_data(): pjoin(components, "underscore", "underscore-min.js"), pjoin(components, "moment", "moment.js"), pjoin(components, "moment", "min", "*.js"), - pjoin(components, "xterm.js", "xterm.js"), - pjoin(components, "xterm.js-css", "xterm.css"), + pjoin(components, "xterm.js", "index.js"), + pjoin(components, "xterm.js-css", "index.css"), pjoin(components, "text-encoding", "lib", "encoding.js"), ]) From 131502de3be2e6d4b12da2d93303e2cfb25409ea Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 8 Jan 2018 23:57:08 -0500 Subject: [PATCH 05/15] fix path --- tools/build-main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build-main.js b/tools/build-main.js index 5a90b3f12..8b4ee0351 100644 --- a/tools/build-main.js +++ b/tools/build-main.js @@ -24,7 +24,7 @@ var rjs_config = { "jquery-ui": 'components/jquery-ui/ui/minified/jquery-ui.min', moment: 'components/moment/min/moment-with-locales', codemirror: 'components/codemirror', - xterm: 'components/xterm.js/xterm', + xterm: 'components/xterm.js/index', typeahead: 'components/jquery-typeahead/dist/jquery.typeahead', contents: 'empty:', custom: 'empty:', From 4616250e2f7ccf73191684f02943602dc0cbe6da Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Fri, 9 Feb 2018 06:36:13 -0500 Subject: [PATCH 06/15] Bump version pin to 3.1.0 --- bower.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bower.json b/bower.json index 1634765be..e87835877 100644 --- a/bower.json +++ b/bower.json @@ -24,7 +24,7 @@ "requirejs-plugins": "~1.0.3", "text-encoding": "~0.1", "underscore": "components/underscore#~1.8.3", - "xterm.js": "https://unpkg.com/xterm@~3.0.1/dist/xterm.js", - "xterm.js-css": "https://unpkg.com/xterm@~3.0.1/dist/xterm.css" + "xterm.js": "https://unpkg.com/xterm@~3.1.0/dist/xterm.js", + "xterm.js-css": "https://unpkg.com/xterm@~3.1.0/dist/xterm.css" } } From e5d393aea1aaa6d2f7830e0bd26c5b27530939bb Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Fri, 9 Feb 2018 08:41:38 -0500 Subject: [PATCH 07/15] use fit addon --- bower.json | 3 +- notebook/static/terminal/js/main.js | 37 ++++++++++++------------ notebook/static/terminal/js/terminado.js | 16 +++++----- setupbase.py | 1 + tools/build-main.js | 1 + 5 files changed, 32 insertions(+), 26 deletions(-) diff --git a/bower.json b/bower.json index e87835877..9199015be 100644 --- a/bower.json +++ b/bower.json @@ -25,6 +25,7 @@ "text-encoding": "~0.1", "underscore": "components/underscore#~1.8.3", "xterm.js": "https://unpkg.com/xterm@~3.1.0/dist/xterm.js", - "xterm.js-css": "https://unpkg.com/xterm@~3.1.0/dist/xterm.css" + "xterm.js-css": "https://unpkg.com/xterm@~3.1.0/dist/xterm.css", + "xterm.js-fit": "https://unpkg.com/xterm@~3.1.0/dist/addons/fit/fit.js" } } diff --git a/notebook/static/terminal/js/main.js b/notebook/static/terminal/js/main.js index 92b160753..838e6ffe8 100644 --- a/notebook/static/terminal/js/main.js +++ b/notebook/static/terminal/js/main.js @@ -32,9 +32,9 @@ requirejs([ var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options); // Test size: 25x80 - var termRowHeight = function(){ return 1.00 * $("#dummy-screen")[0].offsetHeight / 25;}; + // var termRowHeight = function(){ return 1.00 * $("#dummy-screen")[0].offsetHeight / 25;}; // 1.02 here arrived at by trial and error to make the spacing look right - var termColWidth = function() { return 1.02 * $("#dummy-screen-rows")[0].offsetWidth / 80;}; + // var termColWidth = function() { return 1.02 * $("#dummy-screen-rows")[0].offsetWidth / 80;}; var base_url = utils.get_body_data('baseUrl').replace(/\/?$/, '/'); var ws_path = utils.get_body_data('wsPath'); @@ -45,32 +45,33 @@ requirejs([ } ws_url = ws_url + base_url + ws_path; - var header = $("#header")[0]; + // var header = $("#header")[0]; - function calculate_size() { - var height = $(window).height() - header.offsetHeight; - var width = $('#terminado-container').width(); - var rows = Math.min(1000, Math.max(20, Math.floor(height/termRowHeight())-1)); - var cols = Math.min(1000, Math.max(40, Math.floor(width/termColWidth())-1)); - console.log("resize to :", rows , 'rows by ', cols, 'columns'); - return {rows: rows, cols: cols}; - } + // function calculate_size() { + // var height = $(window).height() - header.offsetHeight; + // var width = $('#terminado-container').width(); + // var rows = Math.min(1000, Math.max(20, Math.floor(height/termRowHeight())-1))-7; + // var cols = Math.min(1000, Math.max(40, Math.floor(width/termColWidth())-1))-7; + // console.log("resize to :", rows , 'rows by ', cols, 'columns'); + // return {rows: rows, cols: cols}; + // } page.show_header(); - var size = calculate_size(); - var terminal = terminado.make_terminal($("#terminado-container")[0], size, ws_url); + // var size = calculate_size(); + var terminal = terminado.make_terminal($("#terminado-container")[0], ws_url); page.show_site(); utils.load_extensions_from_config(config); utils.load_extensions_from_config(common_config); - window.onresize = function() { - var geom = calculate_size(); - terminal.term.resize(geom.cols, geom.rows); - terminal.socket.send(JSON.stringify(["set_size", geom.rows, geom.cols, - $(window).height(), $(window).width()])); + window.onresize = function() { + terminal.term.fit(); + // var geom = calculate_size(); + // terminal.term.resize(geom.cols, geom.rows); + // terminal.socket.send(JSON.stringify(["set_size", geom.rows, geom.cols, + // $(window).height(), $(window).width()])); }; // Expose terminal for fiddling with in the browser diff --git a/notebook/static/terminal/js/terminado.js b/notebook/static/terminal/js/terminado.js index 4ae8652e8..b190f80d3 100644 --- a/notebook/static/terminal/js/terminado.js +++ b/notebook/static/terminal/js/terminado.js @@ -1,14 +1,15 @@ -define (["xterm"], function(Terminal) { +define (["xterm", "xtermjs-fit"], function(Terminal, fit) { "use strict"; - function make_terminal(element, size, ws_url) { + function make_terminal(element, ws_url) { var ws = new WebSocket(ws_url); + Terminal.applyAddon(fit); // Apply the `fit` addon var term = new Terminal({ - cols: size.cols, - rows: size.rows + // cols: size.cols, + // rows: size.rows }); ws.onopen = function(event) { - ws.send(JSON.stringify(["set_size", size.rows, size.cols, - window.innerHeight, window.innerWidth])); + // ws.send(JSON.stringify(["set_size", size.rows, size.cols, + // window.innerHeight, window.innerWidth])); term.on('data', function(data) { ws.send(JSON.stringify(['stdin', data])); }); @@ -18,7 +19,8 @@ define (["xterm"], function(Terminal) { }); term.open(element); - + term.fit(); + ws.onmessage = function(event) { var json_msg = JSON.parse(event.data); switch(json_msg[0]) { diff --git a/setupbase.py b/setupbase.py index cb345d1c4..d2f32b5d6 100644 --- a/setupbase.py +++ b/setupbase.py @@ -159,6 +159,7 @@ def find_package_data(): pjoin(components, "moment", "min", "*.js"), pjoin(components, "xterm.js", "index.js"), pjoin(components, "xterm.js-css", "index.css"), + pjoin(components, "xterm.js-fit", "fit.js"), pjoin(components, "text-encoding", "lib", "encoding.js"), ]) diff --git a/tools/build-main.js b/tools/build-main.js index 8b4ee0351..d2c85f160 100644 --- a/tools/build-main.js +++ b/tools/build-main.js @@ -25,6 +25,7 @@ var rjs_config = { moment: 'components/moment/min/moment-with-locales', codemirror: 'components/codemirror', xterm: 'components/xterm.js/index', + 'xtermjs-fit': 'components/xterm.js-fit/index', typeahead: 'components/jquery-typeahead/dist/jquery.typeahead', contents: 'empty:', custom: 'empty:', From c5fcd74756304a09a9b4a638e7389724925b8f5d Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 13:58:49 -0500 Subject: [PATCH 08/15] remove dummy --- notebook/templates/terminal.html | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/notebook/templates/terminal.html b/notebook/templates/terminal.html index 3d1617db8..a9ee8e48e 100644 --- a/notebook/templates/terminal.html +++ b/notebook/templates/terminal.html @@ -33,32 +33,6 @@ data-ws-path="{{ws_path}}" the script block gets it outside the initially undisplayed region. -->
-
0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-0
-1
-2
-3
-01234567890123456789012345678901234567890123456789012345678901234567890123456789
-
{{super()}} From a770f834877c7bac99795f6bd036bfe8dc8a2630 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 14:37:28 -0500 Subject: [PATCH 09/15] cleanup old --- notebook/static/terminal/js/main.js | 22 --------------------- notebook/static/terminal/js/terminado.js | 9 ++------- notebook/static/terminal/less/terminal.less | 7 ++----- 3 files changed, 4 insertions(+), 34 deletions(-) diff --git a/notebook/static/terminal/js/main.js b/notebook/static/terminal/js/main.js index 838e6ffe8..e30f86b52 100644 --- a/notebook/static/terminal/js/main.js +++ b/notebook/static/terminal/js/main.js @@ -29,13 +29,6 @@ requirejs([ var common_config = new configmod.ConfigSection('common', common_options); common_config.load(); - var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options); - - // Test size: 25x80 - // var termRowHeight = function(){ return 1.00 * $("#dummy-screen")[0].offsetHeight / 25;}; - // 1.02 here arrived at by trial and error to make the spacing look right - // var termColWidth = function() { return 1.02 * $("#dummy-screen-rows")[0].offsetWidth / 80;}; - var base_url = utils.get_body_data('baseUrl').replace(/\/?$/, '/'); var ws_path = utils.get_body_data('wsPath'); var ws_url = utils.get_body_data('wsUrl'); @@ -45,17 +38,6 @@ requirejs([ } ws_url = ws_url + base_url + ws_path; - // var header = $("#header")[0]; - - // function calculate_size() { - // var height = $(window).height() - header.offsetHeight; - // var width = $('#terminado-container').width(); - // var rows = Math.min(1000, Math.max(20, Math.floor(height/termRowHeight())-1))-7; - // var cols = Math.min(1000, Math.max(40, Math.floor(width/termColWidth())-1))-7; - // console.log("resize to :", rows , 'rows by ', cols, 'columns'); - // return {rows: rows, cols: cols}; - // } - page.show_header(); // var size = calculate_size(); @@ -68,10 +50,6 @@ requirejs([ window.onresize = function() { terminal.term.fit(); - // var geom = calculate_size(); - // terminal.term.resize(geom.cols, geom.rows); - // terminal.socket.send(JSON.stringify(["set_size", geom.rows, geom.cols, - // $(window).height(), $(window).width()])); }; // Expose terminal for fiddling with in the browser diff --git a/notebook/static/terminal/js/terminado.js b/notebook/static/terminal/js/terminado.js index b190f80d3..6da4fb4c7 100644 --- a/notebook/static/terminal/js/terminado.js +++ b/notebook/static/terminal/js/terminado.js @@ -2,14 +2,9 @@ define (["xterm", "xtermjs-fit"], function(Terminal, fit) { "use strict"; function make_terminal(element, ws_url) { var ws = new WebSocket(ws_url); - Terminal.applyAddon(fit); // Apply the `fit` addon - var term = new Terminal({ - // cols: size.cols, - // rows: size.rows - }); + Terminal.applyAddon(fit); + var term = new Terminal(); ws.onopen = function(event) { - // ws.send(JSON.stringify(["set_size", size.rows, size.cols, - // window.innerHeight, window.innerWidth])); term.on('data', function(data) { ws.send(JSON.stringify(['stdin', data])); }); diff --git a/notebook/static/terminal/less/terminal.less b/notebook/static/terminal/less/terminal.less index de893f6e4..167772847 100644 --- a/notebook/static/terminal/less/terminal.less +++ b/notebook/static/terminal/less/terminal.less @@ -15,12 +15,9 @@ padding: @code_padding; border-radius: @border-radius-base; .box-shadow(@global-shadow-dark); + line-height: 1em; + font-size: @notebook_font_size; - &, dummy-screen { - line-height: 1em; - font-size: @notebook_font_size; - } - .xterm-rows { padding: 10px; } From bb7dd0a85e10572c3fad4bf018f5bfcdbe48478c Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 14:43:27 -0500 Subject: [PATCH 10/15] calc height --- notebook/static/terminal/less/terminal.less | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/notebook/static/terminal/less/terminal.less b/notebook/static/terminal/less/terminal.less index 167772847..b50b75632 100644 --- a/notebook/static/terminal/less/terminal.less +++ b/notebook/static/terminal/less/terminal.less @@ -29,6 +29,7 @@ } #terminado-container { - margin-top: @page-header-padding; + padding-top: @page-header-padding; + height: ~"calc(100% - @{page-header-padding})"; } } From 2d5cd359e56f47ce594acab8cf210dae04027acf Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 14:46:37 -0500 Subject: [PATCH 11/15] dead code --- notebook/static/terminal/js/main.js | 1 - 1 file changed, 1 deletion(-) diff --git a/notebook/static/terminal/js/main.js b/notebook/static/terminal/js/main.js index e30f86b52..b71c5edeb 100644 --- a/notebook/static/terminal/js/main.js +++ b/notebook/static/terminal/js/main.js @@ -40,7 +40,6 @@ requirejs([ page.show_header(); - // var size = calculate_size(); var terminal = terminado.make_terminal($("#terminado-container")[0], ws_url); page.show_site(); From dab784fddf2178cf4b91a947715d0c5c7f121d65 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 14:52:10 -0500 Subject: [PATCH 12/15] fix --- setupbase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setupbase.py b/setupbase.py index d2f32b5d6..431e095e4 100644 --- a/setupbase.py +++ b/setupbase.py @@ -159,7 +159,7 @@ def find_package_data(): pjoin(components, "moment", "min", "*.js"), pjoin(components, "xterm.js", "index.js"), pjoin(components, "xterm.js-css", "index.css"), - pjoin(components, "xterm.js-fit", "fit.js"), + pjoin(components, "xterm.js-fit", "index.js"), pjoin(components, "text-encoding", "lib", "encoding.js"), ]) From 2424f97360d1b0faaa7edd813eb3b5218abd2d43 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Sat, 10 Feb 2018 15:22:04 -0500 Subject: [PATCH 13/15] more dead --- notebook/templates/terminal.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/notebook/templates/terminal.html b/notebook/templates/terminal.html index a9ee8e48e..a2da98b69 100644 --- a/notebook/templates/terminal.html +++ b/notebook/templates/terminal.html @@ -28,13 +28,6 @@ data-ws-path="{{ws_path}}" {% block script %} - - -
-
- {{super()}} From 2baa5d3acd96e7926348c8c0e5a18bcf2bcdf4fa Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 12 Feb 2018 17:25:27 -0500 Subject: [PATCH 14/15] revert deletion and add comments --- notebook/static/terminal/js/main.js | 6 ++++++ notebook/static/terminal/js/terminado.js | 3 +++ 2 files changed, 9 insertions(+) diff --git a/notebook/static/terminal/js/main.js b/notebook/static/terminal/js/main.js index b71c5edeb..03ea2ab2e 100644 --- a/notebook/static/terminal/js/main.js +++ b/notebook/static/terminal/js/main.js @@ -29,6 +29,9 @@ requirejs([ var common_config = new configmod.ConfigSection('common', common_options); common_config.load(); + // This makes the 'logout' button in the top right work. + var login_widget = new loginwidget.LoginWidget('span#login_widget', common_options); + var base_url = utils.get_body_data('baseUrl').replace(/\/?$/, '/'); var ws_path = utils.get_body_data('wsPath'); var ws_url = utils.get_body_data('wsUrl'); @@ -49,6 +52,9 @@ requirejs([ window.onresize = function() { terminal.term.fit(); + // send the new size to the server so that it can trigger a resize in the running process. + terminal.socket.send(JSON.stringify(["set_size", terminal.term.rows, terminal.term.cols, + $(window).height(), $(window).width()])); }; // Expose terminal for fiddling with in the browser diff --git a/notebook/static/terminal/js/terminado.js b/notebook/static/terminal/js/terminado.js index 6da4fb4c7..3e52d11d6 100644 --- a/notebook/static/terminal/js/terminado.js +++ b/notebook/static/terminal/js/terminado.js @@ -15,6 +15,9 @@ define (["xterm", "xtermjs-fit"], function(Terminal, fit) { term.open(element); term.fit(); + // send the terminal size to the server. + ws.send(JSON.stringify(["set_size", term.rows, term.cols, + window.innerHeight, window.innerWidth])); ws.onmessage = function(event) { var json_msg = JSON.parse(event.data); From 91794ecb185a9432c32cac0c73fab7c2378f48e0 Mon Sep 17 00:00:00 2001 From: Alex Rothberg Date: Mon, 12 Feb 2018 18:11:32 -0500 Subject: [PATCH 15/15] dont rely on css calc --- notebook/static/terminal/less/terminal.less | 8 ++++++-- notebook/templates/terminal.html | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/notebook/static/terminal/less/terminal.less b/notebook/static/terminal/less/terminal.less index b50b75632..fa5117e37 100644 --- a/notebook/static/terminal/less/terminal.less +++ b/notebook/static/terminal/less/terminal.less @@ -28,8 +28,12 @@ background: white; } - #terminado-container { + .terminado-container-container { padding-top: @page-header-padding; - height: ~"calc(100% - @{page-header-padding})"; + height: 100%; + } + + #terminado-container { + height: 100%; } } diff --git a/notebook/templates/terminal.html b/notebook/templates/terminal.html index a2da98b69..ecdbbbe3f 100644 --- a/notebook/templates/terminal.html +++ b/notebook/templates/terminal.html @@ -23,7 +23,9 @@ data-ws-path="{{ws_path}}" {% endblock headercontainer %} {% block site %} -
+
+
+
{% endblock %} {% block script %}