Merge branch 'master' into patch-1

This commit is contained in:
Daniel Imms
2025-04-23 05:03:38 -07:00
committed by GitHub
12 changed files with 315 additions and 148 deletions
+8 -2
View File
@@ -400,7 +400,7 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
}
// If the terminal is already opened
if (this.element?.ownerDocument.defaultView && this._coreBrowserService && this.element?.isConnected) {
if (this.element?.ownerDocument.defaultView && this._coreBrowserService) {
// Adjust the window if needed
if (this.element.ownerDocument.defaultView !== this._coreBrowserService.window) {
this._coreBrowserService.window = this.element.ownerDocument.defaultView;
@@ -532,7 +532,13 @@ export class CoreBrowserTerminal extends CoreTerminal implements ITerminal {
this.textarea!.focus();
this.textarea!.select();
}));
this._register(this._onScroll.event(() => this._selectionService!.refresh()));
this._register(Event.any(
this._onScroll.event,
this._inputHandler.onScroll
)(() => {
this._selectionService!.refresh();
this._viewport?.queueSync();
}));
this._register(this._instantiationService.createInstance(BufferDecorationRenderer, this.screenElement));
this._register(addDisposableListener(this.element, 'mousedown', (e: MouseEvent) => this._selectionService!.handleMouseDown(e)));
+3 -3
View File
@@ -93,8 +93,8 @@ export class Viewport extends Disposable {
].join('\n');
}));
this._register(this._bufferService.onResize(() => this._queueSync()));
this._register(this._bufferService.buffers.onBufferActivate(() => this._queueSync()));
this._register(this._bufferService.onResize(() => this.queueSync()));
this._register(this._bufferService.buffers.onBufferActivate(() => this.queueSync()));
this._register(this._bufferService.onScroll(() => this._sync()));
this._register(this._scrollableElement.onScroll(e => this._handleScroll(e)));
@@ -126,7 +126,7 @@ export class Viewport extends Disposable {
};
}
private _queueSync(ydisp?: number): void {
public queueSync(ydisp?: number): void {
// Update state
if (ydisp !== undefined) {
this._latestYDisp = ydisp;