diff --git a/demo/client.ts b/demo/client.ts index c4befbc8..0cfc6981 100644 --- a/demo/client.ts +++ b/demo/client.ts @@ -453,8 +453,6 @@ function initOptions(term: Terminal): void { 'theme', 'windowOptions', 'windowsPty', - // Deprecated - 'fastScrollModifier' ]; const stringOptions = { cursorStyle: ['block', 'underline', 'bar'], diff --git a/src/common/CoreTerminal.ts b/src/common/CoreTerminal.ts index 90e27a5d..d9c5e8d2 100644 --- a/src/common/CoreTerminal.ts +++ b/src/common/CoreTerminal.ts @@ -132,7 +132,7 @@ export abstract class CoreTerminal extends Disposable implements ICoreTerminal { this._register(Event.forward(this.coreService.onBinary, this._onBinary)); this._register(this.coreService.onRequestScrollToBottom(() => this.scrollToBottom(true))); this._register(this.coreService.onUserInput(() => this._writeBuffer.handleUserInput())); - this._register(this.optionsService.onMultipleOptionChange(['windowsMode', 'windowsPty'], () => this._handleWindowsPtyOptionChange())); + this._register(this.optionsService.onMultipleOptionChange(['windowsPty'], () => this._handleWindowsPtyOptionChange())); this._register(this._bufferService.onScroll(() => { this._onScroll.fire({ position: this._bufferService.buffer.ydisp }); this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop, this._bufferService.buffer.scrollBottom); @@ -255,8 +255,6 @@ export abstract class CoreTerminal extends Disposable implements ICoreTerminal { const windowsPty = this.optionsService.rawOptions.windowsPty; if (windowsPty && windowsPty.buildNumber !== undefined && windowsPty.buildNumber !== undefined) { value = !!(windowsPty.backend === 'conpty' && windowsPty.buildNumber < 21376); - } else if (this.optionsService.rawOptions.windowsMode) { - value = true; } if (value) { this._enableWindowsWrappingHeuristics(); diff --git a/src/common/buffer/Buffer.ts b/src/common/buffer/Buffer.ts index 81ab156b..21bb47dc 100644 --- a/src/common/buffer/Buffer.ts +++ b/src/common/buffer/Buffer.ts @@ -181,7 +181,7 @@ export class Buffer implements IBuffer { if (this._rows < newRows) { for (let y = this._rows; y < newRows; y++) { if (this.lines.length < newRows + this.ybase) { - if (this._optionsService.rawOptions.windowsMode || this._optionsService.rawOptions.windowsPty.backend !== undefined || this._optionsService.rawOptions.windowsPty.buildNumber !== undefined) { + if (this._optionsService.rawOptions.windowsPty.backend !== undefined || this._optionsService.rawOptions.windowsPty.buildNumber !== undefined) { // Just add the new missing rows on Windows as conpty reprints the screen with it's // view of the world. Once a line enters scrollback for conpty it remains there this.lines.push(new BufferLine(newCols, nullCell)); @@ -298,7 +298,7 @@ export class Buffer implements IBuffer { if (windowsPty && windowsPty.buildNumber) { return this._hasScrollback && windowsPty.backend === 'conpty' && windowsPty.buildNumber >= 21376; } - return this._hasScrollback && !this._optionsService.rawOptions.windowsMode; + return this._hasScrollback; } private _reflow(newCols: number, newRows: number): void { diff --git a/src/common/services/OptionsService.ts b/src/common/services/OptionsService.ts index 6ad48b93..9203a892 100644 --- a/src/common/services/OptionsService.ts +++ b/src/common/services/OptionsService.ts @@ -19,7 +19,6 @@ export const DEFAULT_OPTIONS: Readonly> = { customGlyphs: true, drawBoldTextInBrightColors: true, documentOverride: null, - fastScrollModifier: 'alt', fastScrollSensitivity: 5, fontFamily: 'monospace', fontSize: 15, @@ -49,7 +48,6 @@ export const DEFAULT_OPTIONS: Readonly> = { rescaleOverlappingGlyphs: false, rightClickSelectsWord: isMac, windowOptions: {}, - windowsMode: false, windowsPty: {}, wordSeparator: ' ()[]{}\',"`', altClickMovesCursor: true, diff --git a/src/common/services/Services.ts b/src/common/services/Services.ts index a2847f1b..1f4b53ce 100644 --- a/src/common/services/Services.ts +++ b/src/common/services/Services.ts @@ -234,8 +234,6 @@ export interface ITerminalOptions { disableStdin?: boolean; documentOverride?: any | null; drawBoldTextInBrightColors?: boolean; - /** @deprecated No longer supported */ - fastScrollModifier?: 'none' | 'alt' | 'ctrl' | 'shift'; fastScrollSensitivity?: number; fontSize?: number; fontFamily?: string; @@ -261,7 +259,6 @@ export interface ITerminalOptions { smoothScrollDuration?: number; tabStopWidth?: number; theme?: ITheme; - windowsMode?: boolean; windowsPty?: IWindowsPty; windowOptions?: IWindowOptions; wordSeparator?: string; diff --git a/typings/xterm-headless.d.ts b/typings/xterm-headless.d.ts index 9c3effda..369de459 100644 --- a/typings/xterm-headless.d.ts +++ b/typings/xterm-headless.d.ts @@ -89,13 +89,6 @@ declare module '@xterm/headless' { */ drawBoldTextInBrightColors?: boolean; - /** - * The modifier key hold to multiply scroll speed. - * @deprecated This option is no longer available and will always use alt. - * Setting this will be ignored. - */ - fastScrollModifier?: 'none' | 'alt' | 'ctrl' | 'shift'; - /** * The spacing in whole pixels between characters. */ @@ -222,25 +215,6 @@ declare module '@xterm/headless' { */ theme?: ITheme; - /** - * Whether "Windows mode" is enabled. Because Windows backends winpty and - * conpty operate by doing line wrapping on their side, xterm.js does not - * have access to wrapped lines. When Windows mode is enabled the following - * changes will be in effect: - * - * - Reflow is disabled. - * - Lines are assumed to be wrapped if the last character of the line is - * not whitespace. - * - * When using conpty on Windows 11 version >= 21376, it is recommended to - * disable this because native text wrapping sequences are output correctly - * thanks to https://github.com/microsoft/terminal/issues/405 - * - * @deprecated Use {@link windowsPty}. This value will be ignored if - * windowsPty is set. - */ - windowsMode?: boolean; - /** * Compatibility information when the pty is known to be hosted on Windows. * Setting this will turn on certain heuristics/workarounds depending on the