diff --git a/addons/addon-fit/src/FitAddon.ts b/addons/addon-fit/src/FitAddon.ts index 2087e614..9cef244e 100644 --- a/addons/addon-fit/src/FitAddon.ts +++ b/addons/addon-fit/src/FitAddon.ts @@ -64,8 +64,9 @@ export class FitAddon implements ITerminalAddon , IFitApi { return undefined; } - const scrollbarWidth = this._terminal.options.scrollback === 0 ? - 0 : core.viewport.scrollBarWidth; + const scrollbarWidth = (this._terminal.options.scrollback === 0 + ? 0 + : (this._terminal.options.overviewRulerWidth || 14)); const parentElementStyle = window.getComputedStyle(this._terminal.element.parentElement); const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')); diff --git a/bin/esbuild.mjs b/bin/esbuild.mjs index 9aaac06e..8d7ee76c 100644 --- a/bin/esbuild.mjs +++ b/bin/esbuild.mjs @@ -188,8 +188,6 @@ if (config.addon) { }; } -console.log('Building bundle with config:', JSON.stringify(bundleConfig, undefined, 2)); - if (config.isWatch) { context(bundleConfig).then(e => e.watch()); if (!skipOut) { diff --git a/css/xterm.css b/css/xterm.css index ef39dfea..3f413d95 100644 --- a/css/xterm.css +++ b/css/xterm.css @@ -218,3 +218,80 @@ z-index: 2; position: relative; } + + + +/* Derived from vs/base/browser/ui/scrollbar/media/scrollbar.css */ + +/* xterm.js customization: Override xterm's cursor style */ +.xterm .monaco-scrollable-element > .scrollbar { + cursor: default; +} + +/* Arrows */ +.xterm .monaco-scrollable-element > .scrollbar > .scra { + cursor: pointer; + font-size: 11px !important; +} + +.xterm .monaco-scrollable-element > .visible { + opacity: 1; + + /* Background rule added for IE9 - to allow clicks on dom node */ + background:rgba(0,0,0,0); + + transition: opacity 100ms linear; + /* In front of peek view */ + z-index: 11; +} +.xterm .monaco-scrollable-element > .invisible { + opacity: 0; + pointer-events: none; +} +.xterm .monaco-scrollable-element > .invisible.fade { + transition: opacity 800ms linear; +} + +/* Scrollable Content Inset Shadow */ +.xterm .monaco-scrollable-element > .shadow { + position: absolute; + display: none; +} +.xterm .monaco-scrollable-element > .shadow.top { + display: block; + top: 0; + left: 3px; + height: 3px; + width: 100%; + box-shadow: var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset; +} +.xterm .monaco-scrollable-element > .shadow.left { + display: block; + top: 3px; + left: 0; + height: 100%; + width: 3px; + box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset; +} +.xterm .monaco-scrollable-element > .shadow.top-left-corner { + display: block; + top: 0; + left: 0; + height: 3px; + width: 3px; +} +.xterm .monaco-scrollable-element > .shadow.top.left { + box-shadow: var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset; +} + +.xterm .monaco-scrollable-element > .scrollbar > .slider { + background: var(--vscode-scrollbarSlider-background, #79797966); +} + +.xterm .monaco-scrollable-element > .scrollbar > .slider:hover { + background: var(--vscode-scrollbarSlider-hoverBackground, #646464b3); +} + +.xterm .monaco-scrollable-element > .scrollbar > .slider.active { + background: var(--vscode-scrollbarSlider-activeBackground, #bfbfbf66); +}