From 6cf191ad4968f4bbbbca6a6ecc6e2e2f09987e17 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Sat, 11 Nov 2023 09:09:23 -0800 Subject: [PATCH] Don't obscure scroll bar Fixes #198007 --- .../workbench/contrib/terminal/browser/xterm-private.d.ts | 1 + .../stickyScroll/browser/terminalStickyScrollOverlay.ts | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts b/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts index f4c3723ad90..f361d56eb88 100644 --- a/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +++ b/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts @@ -11,6 +11,7 @@ export type XtermAttributes = Omit; diff --git a/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts b/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts index 50b50d53582..417bc141bf8 100644 --- a/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts +++ b/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.ts @@ -18,6 +18,7 @@ import { ICurrentPartialCommand, getCommandRowCount, getPromptRowCount } from 'v import { TerminalSettingId } from 'vs/platform/terminal/common/terminal'; import { IThemeService } from 'vs/platform/theme/common/themeService'; import { IXtermColorProvider, IXtermTerminal } from 'vs/workbench/contrib/terminal/browser/terminal'; +import { IXtermCore } from 'vs/workbench/contrib/terminal/browser/xterm-private'; import { TERMINAL_CONFIG_SECTION } from 'vs/workbench/contrib/terminal/common/terminal'; import { terminalStickyScrollHoverBackground } from 'vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry'; @@ -242,6 +243,11 @@ export class TerminalStickyScrollOverlay extends Disposable { this._xterm.raw.element.parentElement.append(this._element); this._register(toDisposable(() => this._element?.remove())); + const scrollBarWidth = (this._xterm.raw as any as { _core: IXtermCore })._core.viewport?.scrollBarWidth; + if (scrollBarWidth !== undefined) { + this._element.style.right = `${scrollBarWidth}px`; + } + this._stickyScrollOverlay.open(this._element); // Scroll to the command on click