From c80c9ce39c99866110452b23a00176a7594de643 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 10 Sep 2016 19:12:33 -0700 Subject: [PATCH] Layout terminals after they are created --- .../parts/terminal/electron-browser/terminalInstance.ts | 5 +++++ .../parts/terminal/electron-browser/terminalPanel.ts | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index cd7b2598a36..c651b9b3391 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -45,6 +45,7 @@ export class TerminalInstance implements ITerminalInstance { // TODO: Improve HTML element names? private wrapperElement: HTMLDivElement; private terminalDomElement: HTMLDivElement; + // TODO: Is font needed, just grab off configHelper? private font: ITerminalFont; public constructor( @@ -73,6 +74,8 @@ export class TerminalInstance implements ITerminalInstance { throw new Error('The terminal instance has already been attached to a container'); } + this.setFont(this.configHelper.getFont()); + this.wrapperElement = document.createElement('div'); DOM.addClass(this.wrapperElement, 'terminal-wrapper'); this.terminalDomElement = document.createElement('div'); @@ -136,6 +139,8 @@ export class TerminalInstance implements ITerminalInstance { this.wrapperElement.appendChild(this.terminalDomElement); this.container.appendChild(this.wrapperElement); + + this.layout(new Dimension(this.container.offsetWidth, this.container.offsetHeight)); } public copySelection(): void {} diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts index eec53c5fb7d..49e5e86e961 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalPanel.ts @@ -79,7 +79,9 @@ export class TerminalPanel extends Panel implements ITerminalPanel { if (!dimension) { return; } + console.log('layout panel', dimension); this.terminalService.terminalInstances.forEach((t) => { + console.log('layout instance t'); t.layout(dimension); }); } @@ -240,8 +242,10 @@ export class TerminalPanel extends Panel implements ITerminalPanel { `line-height: ${newFont.lineHeight};` + '}'; this.font = newFont; + this.terminalService.terminalInstances.forEach((t) => { + t.setFont(newFont); + }); } - this.terminalService.getActiveInstance().setFont(newFont); this.layout(new Dimension(this.parentDomElement.offsetWidth, this.parentDomElement.offsetHeight)); }