diff --git a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts index 1177b331f339c2576aad1b87caddcca5cf46fd21..aab1b702df750e3052f459ccfc37d66ba80a916e 100644 --- a/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts +++ b/src/vs/workbench/parts/terminal/electron-browser/terminalInstance.ts @@ -1111,6 +1111,13 @@ export class TerminalInstance implements ITerminalInstance { this._xterm.resize(this._cols, this._rows); this._xterm.element.style.width = terminalWidth + 'px'; + if (this._isVisible) { + // Force the renderer to unpause by simulating an IntersectionObserver event. This + // is to fix an issue where dragging the window to the top of the screen to maximize + // on Winodws/Linux would fire an event saying that the terminal was not visible. + // This should only force a refresh if one is needed. + (this._xterm).renderer.onIntersectionChange({ intersectionRatio: 1 }); + } } this._processReady.then(() => {