Change:
atm, when you open a new aux window when your main vs code window is in another secondary screen/monitor, it will open the aux window the main screen/monitor. in these two examples, i have one large curved secondary monitor where vs code is. open an aux window, and it spawns it in my laptop's screen. same thing if full screened on secondary monitor. different when full screen on main screen (see ) wondering if there is a way it can spawn on the current screen? ie, centered to where the vs code window is.
that should be possible if you provide the coordinates for where to open the window via : You would have to calculate the right coordinates based on all opened monitors, which is a bit tricky and probably requires you to go to the main process to do the math. This could be exposed from the . Alternatively, another custom vscode feature flag that allows you to pass in the identifier of a window to center the issue reporter over.
<!-- UNABLETOLOCATECOMMITMESSAGE --Issue marked as unreleased but unable to locate closing commit in issue timeline. You can manually reference a commit by commenting , or directly add the label if you know this has already been releaased

Discussion:
getWindows(options: { includeAuxiliaryWindows: false }): Promise<Array<IOpenedMainWindow>>; getWindowCount(): Promise<number>; getActiveWindowId(): Promise<number | undefined>; <ins> getActiveWindowPosition(): Promise<IRectangle | undefined>; </ins> openWindow(options?: IOpenEmptyWindowOptions): Promise<void>; openWindow(toOpen: IWindowOpenable[], options?: IOpenWindowOptions): Promise<void>;

return undefined; } <ins> async getActiveWindowPosition(): Promise<IRectangle | undefined> { const activeWindow = this.windowsMainService.getFocusedWindow() || this.windowsMainService.getLastActiveWindow(); if (activeWindow) { return activeWindow.getBounds(); } return undefined; } </ins> openWindow(windowId: number | undefined, options?: IOpenEmptyWindowOptions): Promise<void>; openWindow(windowId: number | undefined, toOpen: IWindowOpenable[], options?: IOpenWindowOptions): Promise<void>; openWindow(windowId: number | undefined, arg1?: IOpenEmptyWindowOptions | IWindowOpenable[], arg2?: IOpenWindowOptions): Promise<void> {

import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { ILogService } from 'vs/platform/log/common/log'; import product from 'vs/platform/product/common/product'; <ins> import { IRectangle } from 'vs/platform/window/common/window'; </ins> import BaseHtml from 'vs/workbench/contrib/issue/browser/issueReporterPage'; import { IssueWebReporter } from 'vs/workbench/contrib/issue/browser/issueReporterService'; import { IIssueFormService, IssueReporterData } from 'vs/workbench/contrib/issue/common/issue';

} } <del> async openAuxIssueReporter(data: IssueReporterData): Promise<void> { </del> <ins> async openAuxIssueReporter(data: IssueReporterData, bounds?: IRectangle): Promise<void> { let issueReporterBounds: Partial<IRectangle> = { width: 700, height: 800 }; // Center Issue Reporter Window based on bounds from native host service if (bounds && bounds.x && bounds.y) { const centerX = bounds.x + bounds.width / 2; const centerY = bounds.y + bounds.height / 2; issueReporterBounds = { ...issueReporterBounds, x: centerX - 350, y: centerY - 400 }; } </ins> const disposables = new DisposableStore(); // Auxiliary Window <del> const auxiliaryWindow = disposables.add(await this.auxiliaryWindowService.open({ mode: AuxiliaryWindowMode.Custom, bounds: { width: 700, height: 800 } })); </del> <ins> const auxiliaryWindow = disposables.add(await this.auxiliaryWindowService.open({ mode: AuxiliaryWindowMode.Custom, bounds: issueReporterBounds })); </ins> if (auxiliaryWindow) { await auxiliaryWindow.whenStylesHaveLoaded;

return; } <del> await super.openAuxIssueReporter(data); </del> <ins> const bounds = await this.nativeHostService.getActiveWindowPosition(); if (!bounds) { return; } await this.openAuxIssueReporter(data, bounds); </ins> // Get platform information const { arch, release, type } = await this.nativeHostService.getOSProperties();

async getWindows(): Promise<IOpenedMainWindow[]> { return []; } async getActiveWindowId(): Promise<number | undefined> { return undefined; } <ins> async getActiveWindowPosition(): Promise<IRectangle | undefined> { return undefined; } </ins> openWindow(options?: IOpenEmptyWindowOptions): Promise<void>; openWindow(toOpen: IWindowOpenable[], options?: IOpenWindowOptions): Promise<void>;