From 0ef0d2d65a3d109efa59499594ef322f176678f5 Mon Sep 17 00:00:00 2001 From: rebornix Date: Wed, 11 Nov 2020 14:26:16 -0800 Subject: [PATCH] fix #109765. --- src/vs/workbench/contrib/terminal/browser/terminal.ts | 5 +++++ .../workbench/contrib/terminal/browser/terminalInstance.ts | 4 ++++ src/vs/workbench/contrib/terminal/browser/terminalView.ts | 3 +++ 3 files changed, 12 insertions(+) diff --git a/src/vs/workbench/contrib/terminal/browser/terminal.ts b/src/vs/workbench/contrib/terminal/browser/terminal.ts index 2c8f2c4e655..1f58d65eab4 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminal.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminal.ts @@ -422,6 +422,11 @@ export interface ITerminalInstance { */ notifyFindWidgetFocusChanged(isFocused: boolean): void; + /** + * Notifies the terminal to refresh its focus state based on the active document elemnet in DOM + */ + refreshFocusState(): void; + /** * Focuses the terminal instance if it's able to (xterm.js instance exists). * diff --git a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts index aa00f3888a4..06752146d01 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalInstance.ts @@ -735,6 +735,10 @@ export class TerminalInstance extends Disposable implements ITerminalInstance { this._terminalFocusContextKey.set(terminalFocused); } + public refreshFocusState() { + this.notifyFindWidgetFocusChanged(false); + } + public dispose(immediate?: boolean): void { this._logService.trace(`terminalInstance#dispose (id: ${this.id})`); diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts index 28c75d4a847..2d2f0a1b21f 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts @@ -129,6 +129,9 @@ export class TerminalViewPane extends ViewPane { } } else { this._terminalService.getActiveTab()?.setVisible(false); + this._terminalService.terminalInstances.forEach(instance => { + instance.notifyFindWidgetFocusChanged(false); + }); } })); -- GitLab