@theia/core 1.71.0-next.44 → 1.71.0-next.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/browser/catalog.json +27 -3
  2. package/lib/browser/saveable-service.d.ts +9 -2
  3. package/lib/browser/saveable-service.d.ts.map +1 -1
  4. package/lib/browser/saveable-service.js +34 -25
  5. package/lib/browser/saveable-service.js.map +1 -1
  6. package/lib/browser/window/browser-window-module.d.ts.map +1 -1
  7. package/lib/browser/window/browser-window-module.js +2 -0
  8. package/lib/browser/window/browser-window-module.js.map +1 -1
  9. package/lib/browser/window/default-secondary-window-service.d.ts +2 -0
  10. package/lib/browser/window/default-secondary-window-service.d.ts.map +1 -1
  11. package/lib/browser/window/default-secondary-window-service.js +7 -0
  12. package/lib/browser/window/default-secondary-window-service.js.map +1 -1
  13. package/lib/browser/window/window-focus-service.d.ts +71 -0
  14. package/lib/browser/window/window-focus-service.d.ts.map +1 -0
  15. package/lib/browser/window/window-focus-service.js +173 -0
  16. package/lib/browser/window/window-focus-service.js.map +1 -0
  17. package/lib/electron-browser/window/electron-window-module.d.ts.map +1 -1
  18. package/lib/electron-browser/window/electron-window-module.js +2 -0
  19. package/lib/electron-browser/window/electron-window-module.js.map +1 -1
  20. package/lib/node/messaging/default-messaging-service.d.ts.map +1 -1
  21. package/lib/node/messaging/default-messaging-service.js +1 -0
  22. package/lib/node/messaging/default-messaging-service.js.map +1 -1
  23. package/lib/node/messaging/test/default-messaging-service.spec.d.ts +2 -0
  24. package/lib/node/messaging/test/default-messaging-service.spec.d.ts.map +1 -0
  25. package/lib/node/messaging/test/default-messaging-service.spec.js +81 -0
  26. package/lib/node/messaging/test/default-messaging-service.spec.js.map +1 -0
  27. package/package.json +4 -4
  28. package/src/browser/saveable-service.ts +34 -27
  29. package/src/browser/window/browser-window-module.ts +2 -0
  30. package/src/browser/window/default-secondary-window-service.ts +6 -0
  31. package/src/browser/window/window-focus-service.ts +187 -0
  32. package/src/electron-browser/window/electron-window-module.ts +2 -0
  33. package/src/node/messaging/default-messaging-service.ts +1 -0
  34. package/src/node/messaging/test/default-messaging-service.spec.ts +85 -0
@@ -1566,6 +1566,18 @@
1566
1566
  "fileMatch": ["**/.claude/keybindings.json"],
1567
1567
  "url": "https://www.schemastore.org/claude-code-keybindings.json"
1568
1568
  },
1569
+ {
1570
+ "name": "Claude Code Plugin Manifest",
1571
+ "description": "Manifest (.claude-plugin/plugin.json) for a Claude Code plugin",
1572
+ "fileMatch": ["**/.claude-plugin/plugin.json"],
1573
+ "url": "https://www.schemastore.org/claude-code-plugin-manifest.json"
1574
+ },
1575
+ {
1576
+ "name": "Claude Code Plugin Marketplace",
1577
+ "description": "Marketplace manifest (.claude-plugin/marketplace.json) listing Claude Code plugins",
1578
+ "fileMatch": ["**/.claude-plugin/marketplace.json"],
1579
+ "url": "https://www.schemastore.org/claude-code-marketplace.json"
1580
+ },
1569
1581
  {
1570
1582
  "name": "Claude Code Settings",
1571
1583
  "description": "Configuration file for Claude Code",
@@ -5655,6 +5667,18 @@
5655
5667
  "fileMatch": ["replit.toml"],
5656
5668
  "url": "https://www.schemastore.org/replit.json"
5657
5669
  },
5670
+ {
5671
+ "name": "reposets Configuration",
5672
+ "description": "Configuration for the reposets CLI tool for syncing GitHub repository settings",
5673
+ "fileMatch": ["reposets.config.toml", "reposets.config.json"],
5674
+ "url": "https://raw.githubusercontent.com/spencerbeggs/reposets/main/package/schemas/reposets.config.schema.json"
5675
+ },
5676
+ {
5677
+ "name": "reposets Credentials",
5678
+ "description": "Authentication profiles for the reposets CLI tool",
5679
+ "fileMatch": ["reposets.credentials.toml", "reposets.credentials.json"],
5680
+ "url": "https://raw.githubusercontent.com/spencerbeggs/reposets/main/package/schemas/reposets.credentials.schema.json"
5681
+ },
5658
5682
  {
5659
5683
  "name": "*.resjson",
5660
5684
  "description": "Windows App localization file",
@@ -8363,10 +8387,10 @@
8363
8387
  "url": "https://raw.githubusercontent.com/goblet/goblet/main/goblet.schema.json"
8364
8388
  },
8365
8389
  {
8366
- "name": "Databricks Asset Bundles",
8367
- "description": "Databricks Asset Bundles config",
8390
+ "name": "Declarative Automation Bundles",
8391
+ "description": "Declarative Automation Bundles config",
8368
8392
  "fileMatch": ["databricks.yml", "databricks.yaml"],
8369
- "url": "https://www.schemastore.org/databricks-asset-bundles.json"
8393
+ "url": "https://www.schemastore.org/declarative-automation-bundles.json"
8370
8394
  },
8371
8395
  {
8372
8396
  "name": "JSON Schema Draft 4 (unofficial with '$ref' and 'format')",
@@ -20,6 +20,7 @@ import { AutoSaveMode, Saveable, SaveableSource, SaveableWidget, SaveOptions, Po
20
20
  import { Widget } from './widgets';
21
21
  import { FrontendApplicationContribution } from './frontend-application-contribution';
22
22
  import { FrontendApplication } from './frontend-application';
23
+ import { WindowFocusService } from './window/window-focus-service';
23
24
  export declare const SaveErrorChecker: unique symbol;
24
25
  /**
25
26
  * Contribution point for checking whether a given URI has errors.
@@ -39,6 +40,7 @@ export interface SaveErrorChecker {
39
40
  }
40
41
  export declare class SaveableService implements FrontendApplicationContribution {
41
42
  protected readonly errorCheckers: ContributionProvider<SaveErrorChecker>;
43
+ protected readonly windowFocusService: WindowFocusService;
42
44
  protected saveThrottles: Map<Widget, AutoSaveThrottle>;
43
45
  protected saveMode: AutoSaveMode;
44
46
  protected saveDelay: number;
@@ -57,11 +59,16 @@ export declare class SaveableService implements FrontendApplicationContribution
57
59
  get autoSaveWhenNoErrors(): boolean;
58
60
  set autoSaveWhenNoErrors(value: boolean);
59
61
  onDidInitializeLayout(app: FrontendApplication): void;
62
+ /**
63
+ * Save all dirty saveables when the application window loses focus.
64
+ * Triggered for both `onFocusChange` and `onWindowChange` auto-save modes,
65
+ * matching VSCode's behavior where a window focus loss is a superset of
66
+ * editor focus loss.
67
+ */
68
+ protected saveOnWindowBlur(): void;
60
69
  protected updateAutoSaveMode(mode: AutoSaveMode): void;
61
70
  protected updateAutoSaveDelay(delay: number): void;
62
71
  registerSaveable(widget: Widget, saveable: Saveable): Disposable;
63
- protected addBlurListener(widget: Widget, saveable: Saveable): Disposable;
64
- protected windowHasFocus(document: Document): boolean;
65
72
  protected shouldAutoSave(widget: Widget, saveable: Saveable): boolean;
66
73
  protected applySaveableWidget(widget: Widget, saveable: Saveable): void;
67
74
  protected createCloseWithSaving(): (this: SaveableWidget, options?: SaveableWidget.CloseOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"saveable-service.d.ts","sourceRoot":"","sources":["../../src/browser/saveable-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable-service.d.ts","sourceRoot":"","sources":["../../src/browser/saveable-service.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const common_1 = require("../common");
22
22
  const navigatable_types_1 = require("./navigatable-types");
23
23
  const saveable_1 = require("./saveable");
24
24
  const widgets_1 = require("./widgets");
25
+ const window_focus_service_1 = require("./window/window-focus-service");
25
26
  const throttle = require("lodash.throttle");
26
27
  exports.SaveErrorChecker = Symbol('SaveErrorChecker');
27
28
  let SaveableService = class SaveableService {
@@ -97,6 +98,34 @@ let SaveableService = class SaveableService {
97
98
  this.saveThrottles.get(e)?.dispose();
98
99
  this.saveThrottles.delete(e);
99
100
  });
101
+ // Save all dirty editors when any application window loses focus
102
+ this.windowFocusService.onDidWindowChangeFocus(({ hasFocus }) => {
103
+ if (!hasFocus) {
104
+ this.saveOnWindowBlur();
105
+ }
106
+ });
107
+ }
108
+ /**
109
+ * Save all dirty saveables when the application window loses focus.
110
+ * Triggered for both `onFocusChange` and `onWindowChange` auto-save modes,
111
+ * matching VSCode's behavior where a window focus loss is a superset of
112
+ * editor focus loss.
113
+ */
114
+ saveOnWindowBlur() {
115
+ if (this.saveMode !== 'onWindowChange' && this.saveMode !== 'onFocusChange') {
116
+ return;
117
+ }
118
+ if (!this.shell) {
119
+ return;
120
+ }
121
+ for (const widget of this.shell.widgets) {
122
+ const saveable = saveable_1.Saveable.get(widget);
123
+ if (saveable && this.shouldAutoSave(widget, saveable)) {
124
+ saveable.save({
125
+ saveReason: saveable_1.SaveReason.FocusChange
126
+ });
127
+ }
128
+ }
100
129
  }
101
130
  updateAutoSaveMode(mode) {
102
131
  this.saveMode = mode;
@@ -129,35 +158,11 @@ let SaveableService = class SaveableService {
129
158
  saveReason: saveable_1.SaveReason.AfterDelay
130
159
  });
131
160
  }
132
- }, this.addBlurListener(widget, saveable));
161
+ });
133
162
  this.saveThrottles.set(widget, saveThrottle);
134
163
  this.applySaveableWidget(widget, saveable);
135
164
  return saveThrottle;
136
165
  }
137
- addBlurListener(widget, saveable) {
138
- const document = widget.node.ownerDocument;
139
- const listener = (() => {
140
- if (this.saveMode === 'onWindowChange' && !this.windowHasFocus(document) && this.shouldAutoSave(widget, saveable)) {
141
- saveable.save({
142
- saveReason: saveable_1.SaveReason.FocusChange
143
- });
144
- }
145
- }).bind(this);
146
- document.addEventListener('blur', listener);
147
- return common_1.Disposable.create(() => {
148
- document.removeEventListener('blur', listener);
149
- });
150
- }
151
- windowHasFocus(document) {
152
- if (document.visibilityState === 'hidden') {
153
- return false;
154
- }
155
- else if (document.hasFocus()) {
156
- return true;
157
- }
158
- // TODO: Add support for iframes
159
- return false;
160
- }
161
166
  shouldAutoSave(widget, saveable) {
162
167
  const uri = navigatable_types_1.NavigatableWidget.getUri(widget);
163
168
  if (uri?.scheme === common_1.UNTITLED_SCHEME) {
@@ -292,6 +297,10 @@ tslib_1.__decorate([
292
297
  (0, inversify_1.named)(exports.SaveErrorChecker),
293
298
  tslib_1.__metadata("design:type", Object)
294
299
  ], SaveableService.prototype, "errorCheckers", void 0);
300
+ tslib_1.__decorate([
301
+ (0, inversify_1.inject)(window_focus_service_1.WindowFocusService),
302
+ tslib_1.__metadata("design:type", window_focus_service_1.WindowFocusService)
303
+ ], SaveableService.prototype, "windowFocusService", void 0);
295
304
  exports.SaveableService = SaveableService = tslib_1.__decorate([
296
305
  (0, inversify_1.injectable)()
297
306
  ], SaveableService);
@@ -1 +1 @@
1
- {"version":3,"file":"saveable-service.js","sourceRoot":"","sources":["../../src/browser/saveable-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"saveable-service.js","sourceRoot":"","sources":["../../src/browser/saveable-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser-window-module.d.ts","sourceRoot":"","sources":["../../../src/browser/window/browser-window-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAW5C,wBAOG"}
1
+ {"version":3,"file":"browser-window-module.d.ts","sourceRoot":"","sources":["../../../src/browser/window/browser-window-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;;AAY5C,wBAQG"}
@@ -25,12 +25,14 @@ const secondary_window_service_1 = require("./secondary-window-service");
25
25
  const default_secondary_window_service_1 = require("./default-secondary-window-service");
26
26
  const common_1 = require("../../common");
27
27
  const window_title_service_1 = require("./window-title-service");
28
+ const window_focus_service_1 = require("./window-focus-service");
28
29
  exports.default = new inversify_1.ContainerModule(bind => {
29
30
  bind(default_window_service_1.DefaultWindowService).toSelf().inSingletonScope();
30
31
  bind(window_service_1.WindowService).toService(default_window_service_1.DefaultWindowService);
31
32
  bind(frontend_application_contribution_1.FrontendApplicationContribution).toService(default_window_service_1.DefaultWindowService);
32
33
  bind(clipboard_service_1.ClipboardService).to(browser_clipboard_service_1.BrowserClipboardService).inSingletonScope();
33
34
  bind(secondary_window_service_1.SecondaryWindowService).to(default_secondary_window_service_1.DefaultSecondaryWindowService).inSingletonScope();
35
+ bind(window_focus_service_1.WindowFocusService).toSelf().inSingletonScope();
34
36
  (0, common_1.bindRootContributionProvider)(bind, window_title_service_1.WindowTitleContribution);
35
37
  });
36
38
  //# sourceMappingURL=browser-window-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-window-module.js","sourceRoot":"","sources":["../../../src/browser/window/browser-window-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,yCAA4C;AAC5C,wEAAoE;AACpE,wFAAmF;AACnF,4FAAuF;AACvF,4DAAwD;AACxD,4EAAuE;AACvE,yEAAoE;AACpE,yFAAmF;AACnF,yCAA4D;AAC5D,iEAAiE;AAEjE,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,8BAAa,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IACpD,IAAI,CAAC,mEAA+B,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IACtE,IAAI,CAAC,oCAAgB,CAAC,CAAC,EAAE,CAAC,mDAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtE,IAAI,CAAC,iDAAsB,CAAC,CAAC,EAAE,CAAC,gEAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClF,IAAA,qCAA4B,EAAC,IAAI,EAAE,8CAAuB,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"browser-window-module.js","sourceRoot":"","sources":["../../../src/browser/window/browser-window-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,yCAA4C;AAC5C,wEAAoE;AACpE,wFAAmF;AACnF,4FAAuF;AACvF,4DAAwD;AACxD,4EAAuE;AACvE,yEAAoE;AACpE,yFAAmF;AACnF,yCAA4D;AAC5D,iEAAiE;AACjE,iEAA4D;AAE5D,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,6CAAoB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvD,IAAI,CAAC,8BAAa,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IACpD,IAAI,CAAC,mEAA+B,CAAC,CAAC,SAAS,CAAC,6CAAoB,CAAC,CAAC;IACtE,IAAI,CAAC,oCAAgB,CAAC,CAAC,EAAE,CAAC,mDAAuB,CAAC,CAAC,gBAAgB,EAAE,CAAC;IACtE,IAAI,CAAC,iDAAsB,CAAC,CAAC,EAAE,CAAC,gEAA6B,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAClF,IAAI,CAAC,yCAAkB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACrD,IAAA,qCAA4B,EAAC,IAAI,EAAE,8CAAuB,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import { ExtractableWidget, Widget } from '../widgets';
4
4
  import { ApplicationShell } from '../shell';
5
5
  import { Emitter, Event, PreferenceService } from '../../common';
6
6
  import { SaveableService } from '../saveable-service';
7
+ import { WindowFocusService } from './window-focus-service';
7
8
  export declare class DefaultSecondaryWindowService implements SecondaryWindowService {
8
9
  protected readonly onWindowOpenedEmitter: Emitter<Window>;
9
10
  readonly onWindowOpened: Event<Window>;
@@ -23,6 +24,7 @@ export declare class DefaultSecondaryWindowService implements SecondaryWindowSer
23
24
  protected readonly windowService: WindowService;
24
25
  protected readonly preferenceService: PreferenceService;
25
26
  protected readonly saveResourceService: SaveableService;
27
+ protected readonly windowFocusService: WindowFocusService;
26
28
  init(): void;
27
29
  protected registerShutdownListeners(): void;
28
30
  createSecondaryWindow(widget: ExtractableWidget, shell: ApplicationShell): Window | SecondaryWindow | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"default-secondary-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/default-secondary-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBACa,6BAA8B,YAAW,sBAAsB;IACxE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAuB;IAC/D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAC1E,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAuB;IAC/D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAC1E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,4BAAiC;IAC9E,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAyC;IAE9F,SAAS,CAAC,MAAM,CAAC,oBAAoB,SAA2B;IAEhE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAiD;IAC1E,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAK;IAEnB,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAG1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAGxD,IAAI,IAAI,IAAI;IA+BZ,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAU3C,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS;IAsC/G,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMpG,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS/D,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IA0C3F,UAAU,IAAI,MAAM,EAAE;IAItB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC;;OAEG;cACa,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAgCrI"}
1
+ {"version":3,"file":"default-secondary-window-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/default-secondary-window-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAe,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,qBACa,6BAA8B,YAAW,sBAAsB;IACxE,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAuB;IAC/D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAC1E,SAAS,CAAC,QAAQ,CAAC,qBAAqB,kBAAuB;IAC/D,QAAQ,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAoC;IAC1E,SAAS,CAAC,QAAQ,CAAC,0BAA0B,4BAAiC;IAC9E,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAyC;IAE9F,SAAS,CAAC,MAAM,CAAC,oBAAoB,SAA2B;IAEhE;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,MAAM,SAAiD;IAC1E,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAK;IAEnB,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAG1C,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IAGhD,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAGxD,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAG1D,IAAI,IAAI,IAAI;IA+BZ,SAAS,CAAC,yBAAyB,IAAI,IAAI;IAU3C,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS;IAwC/G,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAMpG,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAS/D,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;IA0C3F,UAAU,IAAI,MAAM,EAAE;IAItB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,SAAS,CAAC,YAAY,IAAI,MAAM;IAIhC;;OAEG;cACa,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAgCrI"}
@@ -25,6 +25,7 @@ const saveable_1 = require("../saveable");
25
25
  const common_1 = require("../../common");
26
26
  const saveable_service_1 = require("../saveable-service");
27
27
  const secondary_window_handler_1 = require("../secondary-window-handler");
28
+ const window_focus_service_1 = require("./window-focus-service");
28
29
  let DefaultSecondaryWindowService = class DefaultSecondaryWindowService {
29
30
  constructor() {
30
31
  this.onWindowOpenedEmitter = new common_1.Emitter;
@@ -92,6 +93,7 @@ let DefaultSecondaryWindowService = class DefaultSecondaryWindowService {
92
93
  this.secondaryWindows.push(newWindow);
93
94
  this.onWindowOpenedEmitter.fire(newWindow);
94
95
  newWindow.addEventListener('DOMContentLoaded', () => {
96
+ const focusRegistration = this.windowFocusService.registerWindow(newWindow);
95
97
  newWindow.addEventListener('beforeunload', evt => {
96
98
  const widgets = (0, secondary_window_handler_1.getAllWidgetsFromSecondaryWindow)(newWindow) ?? [widget];
97
99
  for (const w of widgets) {
@@ -105,6 +107,7 @@ let DefaultSecondaryWindowService = class DefaultSecondaryWindowService {
105
107
  }
106
108
  }, { capture: true });
107
109
  newWindow.addEventListener('unload', () => {
110
+ focusRegistration.dispose();
108
111
  const extIndex = this.secondaryWindows.indexOf(newWindow);
109
112
  if (extIndex > -1) {
110
113
  this.onWindowClosedEmitter.fire(newWindow);
@@ -231,6 +234,10 @@ tslib_1.__decorate([
231
234
  (0, inversify_1.inject)(saveable_service_1.SaveableService),
232
235
  tslib_1.__metadata("design:type", saveable_service_1.SaveableService)
233
236
  ], DefaultSecondaryWindowService.prototype, "saveResourceService", void 0);
237
+ tslib_1.__decorate([
238
+ (0, inversify_1.inject)(window_focus_service_1.WindowFocusService),
239
+ tslib_1.__metadata("design:type", window_focus_service_1.WindowFocusService)
240
+ ], DefaultSecondaryWindowService.prototype, "windowFocusService", void 0);
234
241
  tslib_1.__decorate([
235
242
  (0, inversify_1.postConstruct)(),
236
243
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"default-secondary-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-secondary-window-service.ts"],"names":[],"mappings":";;;;;AAAA,gFAAgF;AAChF,kFAAkF;AAClF,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,yCAA8D;AAE9D,qDAAiD;AACjD,wCAAuD;AAEvD,0CAAuC;AACvC,yCAA8E;AAC9E,0DAAsD;AACtD,0EAAsG;AAG/F,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IAAnC;QACgB,0BAAqB,GAAG,IAAI,gBAAe,CAAC;QACtD,mBAAc,GAAkB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QACvD,0BAAqB,GAAG,IAAI,gBAAe,CAAC;QACtD,mBAAc,GAAkB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QACvD,+BAA0B,GAAG,IAAI,gBAAyB,CAAC;QACrE,wBAAmB,GAA4B,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC;QAI9F;;;WAGG;QACgB,WAAM,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,8CAA8C;QACtC,WAAM,GAAG,CAAC,CAAC;QAET,qBAAgB,GAAa,EAAE,CAAC;IAmM9C,CAAC;;IA9MG,mJAAmJ;aAClI,yBAAoB,GAAG,uBAAuB,AAA1B,CAA2B;IAsBhE,IAAI;QACA,0CAA0C;QAC1C,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAmB,EAAE,EAAE;YACvD,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;gBACrD,OAAO;YACX,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACpE,OAAO;YACX,CAAC;YAED,+FAA+F;YAC/F,yFAAyF;YACzF,qHAAqH;YACrH,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC1E,OAAO;YACX,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,KAAK,CAAC,CAAC;YAC1E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;oBACjC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,yBAAyB,EAAE,CAAC;IACrC,CAAC;IAES,yBAAyB;QAC/B,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC7B,wFAAwF;YACxF,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;YACrC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CAAC,MAAyB,EAAE,KAAuB;QACpE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC/E,IAAI,OAAO,GAAG,iBAAiB,KAAK,WAAW,MAAM,SAAS,IAAI,QAAQ,GAAG,EAAE,CAAC;QAChF,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mCAAmC,CAAC,EAAE,CAAC;YAClE,OAAO,IAAI,mBAAmB,CAAC;QACnC,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,+BAA6B,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC;QAC7H,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,GAAG,EAAE;gBAChD,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;oBAC7C,MAAM,OAAO,GAAG,IAAA,2DAAgC,EAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;wBACtB,MAAM,QAAQ,GAAG,mBAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACjC,MAAM,cAAc,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,KAAK,KAAK,CAAC;wBACnG,IAAI,cAAc,EAAE,CAAC;4BACjB,GAAG,CAAC,WAAW,GAAG,EAAE,CAAC;4BACrB,GAAG,CAAC,cAAc,EAAE,CAAC;4BACrB,OAAO,WAAW,CAAC;wBACvB,CAAC;oBACL,CAAC;gBACL,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAEtB,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC1D,IAAI,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC;wBAChB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC3C,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBAAA,CAAC;gBACN,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;QACP,CAAC;QACA,SAA6B,CAAC,UAAU,GAAG,SAAS,CAAC;QACtD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,aAAa,CAAC,SAAiB,EAAE,MAAyB,EAAE,KAAuB;QACzF,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;IAES,UAAU,CAAI,UAAkB;QACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAES,8BAA8B,CAAC,MAAyB;QAC9D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAEjF,IAAI,MAAM,CAAC;QAAC,IAAI,KAAK,CAAC;QAAC,IAAI,IAAI,CAAC;QAAC,IAAI,GAAG,CAAC;QACzC,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,uCAAuC;QAE3D,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,cAAc,CAAC,CAAC,CAAC;gBAClB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;gBAClC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAChC,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;gBAC1C,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC;gBAC7E,IAAI,oBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;oBAC5B,GAAG,GAAG,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;gBAC5C,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxE,KAAK,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC;gBAC9B,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;gBACzB,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;gBACvB,IAAI,CAAC,oBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;oBAC7B,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC;gBAC3D,CAAC;gBACD,MAAM;YACV,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBACxE,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC1B,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;gBACzB,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;gBACvB,IAAI,CAAC,oBAAW,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;oBAC7B,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC;gBAC3D,CAAC;gBACD,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,GAAW;QACb,GAAG,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAES,YAAY;QAClB,OAAO,GAAG,IAAI,CAAC,MAAM,oBAAoB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,iBAAoC,EAAE,KAAuB;QAC3G,MAAM,OAAO,GAAG,IAAA,2DAAgC,EAAC,SAAS,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5F,MAAM,kBAAkB,GAAG,IAAA,gDAAqB,EAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,kBAAkB,GAAG,IAAI,CAAC;QAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,SAAS;YACb,CAAC;YACD,IAAI,CAAC;gBACD,MAAM,oBAAoB,GAAG,2BAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBACrG,MAAM,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,IAAI,oBAAoB,KAAK,KAAK,IAAI,oBAAoB,KAAK,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC;gBAClK,+CAA+C;gBAC/C,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC1D,0GAA0G;gBAC1G,IAAI,2BAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC/B,MAAM,CAAC,eAAe,GAAG,SAAS,CAAC;oBACnC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;gBACpC,CAAC;gBACD,MAAM,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxC,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,oCAAoC;gBACpC,mEAAmE;gBACnE,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;oBACrB,kBAAkB,GAAG,KAAK,CAAC;gBAC/B,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,kBAAkB,CAAC;IAC9B,CAAC;;AApNQ,sEAA6B;AAqBnB;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;oEAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,0BAAiB,CAAC;;wEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;sCACgB,kCAAe;0EAAC;AAGxD;IADC,IAAA,yBAAa,GAAE;;;;yDA8Bf;wCA3DQ,6BAA6B;IADzC,IAAA,sBAAU,GAAE;GACA,6BAA6B,CAqNzC"}
1
+ {"version":3,"file":"default-secondary-window-service.js","sourceRoot":"","sources":["../../../src/browser/window/default-secondary-window-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { Disposable, DisposableCollection, Emitter, Event } from '../../common';
2
+ export interface WindowFocusEvent {
3
+ win: Window;
4
+ hasFocus: boolean;
5
+ }
6
+ /**
7
+ * Tracks focus state for each registered application window independently.
8
+ *
9
+ * The main window is registered automatically. Secondary windows should be
10
+ * registered via {@link registerWindow} — typically by the service responsible
11
+ * for creating them.
12
+ *
13
+ * Uses two complementary signals per window for robust detection:
14
+ * - `window` `focus`/`blur` events (OS-level window focus changes)
15
+ * - `document` `visibilitychange` events (browser tab switches)
16
+ *
17
+ * Blur events are debounced per window with `setTimeout(0)` so that focus
18
+ * moving between elements within the same window does not produce a false
19
+ * blur: the subsequent `focus` event cancels the pending blur before it fires.
20
+ *
21
+ * Each per-window event is latched — it only fires when that window's focus
22
+ * state actually changes.
23
+ */
24
+ export declare class WindowFocusService implements Disposable {
25
+ protected readonly onDidWindowChangeFocusEmitter: Emitter<WindowFocusEvent>;
26
+ /**
27
+ * Fires when an individual window's focus state changes.
28
+ * The event payload identifies which window changed and whether it gained or lost focus.
29
+ *
30
+ * A window losing focus to another application window will fire separately
31
+ * for each window involved: one event with `hasFocus: false` for the window
32
+ * that lost focus, and one with `hasFocus: true` for the window that gained it.
33
+ */
34
+ readonly onDidWindowChangeFocus: Event<WindowFocusEvent>;
35
+ protected readonly toDispose: DisposableCollection;
36
+ /** Per-window tracking state. */
37
+ protected readonly windowStates: Map<Window, WindowTrackingState>;
38
+ protected init(): void;
39
+ /**
40
+ * Register a window for focus tracking. The returned {@link Disposable}
41
+ * removes the window from tracking when disposed.
42
+ *
43
+ * The main window is registered automatically. Call this for secondary
44
+ * windows when they are created.
45
+ */
46
+ registerWindow(win: Window): Disposable;
47
+ /**
48
+ * Whether any registered window currently has focus.
49
+ */
50
+ get hasFocus(): boolean;
51
+ protected windowHasFocus(win: Window): boolean;
52
+ protected handleFocus(win: Window, state: WindowTrackingState): void;
53
+ /**
54
+ * Schedule a deferred blur check for this specific window.
55
+ * If no `focus` event arrives on this same window before the timeout fires,
56
+ * we treat it as a real focus loss for that window.
57
+ */
58
+ protected scheduleBlur(win: Window, state: WindowTrackingState): void;
59
+ protected cancelPendingBlur(state: WindowTrackingState): void;
60
+ /**
61
+ * Re-evaluate a single window's focus and fire if it changed (latching).
62
+ */
63
+ protected updateWindowFocusState(win: Window, state: WindowTrackingState): void;
64
+ dispose(): void;
65
+ }
66
+ interface WindowTrackingState {
67
+ lastFocusState: boolean;
68
+ pendingBlurTimeout: ReturnType<typeof setTimeout> | undefined;
69
+ }
70
+ export {};
71
+ //# sourceMappingURL=window-focus-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window-focus-service.d.ts","sourceRoot":"","sources":["../../../src/browser/window/window-focus-service.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,kBAAmB,YAAW,UAAU;IAEjD,SAAS,CAAC,QAAQ,CAAC,6BAA6B,4BAAmC;IAEnF;;;;;;;OAOG;IACH,QAAQ,CAAC,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAA4C;IAEpG,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAgE;IAE5F,iCAAiC;IACjC,SAAS,CAAC,QAAQ,CAAC,YAAY,mCAA0C;IAGzE,SAAS,CAAC,IAAI,IAAI,IAAI;IAItB;;;;;;OAMG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAmCvC;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAOtB;IAED,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAS9C,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAOpE;;;;OAIG;IACH,SAAS,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAQrE,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAO7D;;OAEG;IACH,SAAS,CAAC,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAQ/E,OAAO,IAAI,IAAI;CAMlB;AAED,UAAU,mBAAmB;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,SAAS,CAAC;CACjE"}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.WindowFocusService = void 0;
19
+ const tslib_1 = require("tslib");
20
+ // based on https://github.com/microsoft/vscode/blob/ea6aac971b851ff8675f9ea04f8c0dfc36034a89/src/vs/workbench/services/host/browser/browserHostService.ts
21
+ // and https://github.com/microsoft/vscode/blob/ea6aac971b851ff8675f9ea04f8c0dfc36034a89/src/vs/base/browser/dom.ts#L1319 (FocusTracker)
22
+ /*---------------------------------------------------------------------------------------------
23
+ * Copyright (c) Microsoft Corporation. All rights reserved.
24
+ * Licensed under the MIT License. See License.txt in the project root for license information.
25
+ *--------------------------------------------------------------------------------------------*/
26
+ const inversify_1 = require("inversify");
27
+ const common_1 = require("../../common");
28
+ /**
29
+ * Tracks focus state for each registered application window independently.
30
+ *
31
+ * The main window is registered automatically. Secondary windows should be
32
+ * registered via {@link registerWindow} — typically by the service responsible
33
+ * for creating them.
34
+ *
35
+ * Uses two complementary signals per window for robust detection:
36
+ * - `window` `focus`/`blur` events (OS-level window focus changes)
37
+ * - `document` `visibilitychange` events (browser tab switches)
38
+ *
39
+ * Blur events are debounced per window with `setTimeout(0)` so that focus
40
+ * moving between elements within the same window does not produce a false
41
+ * blur: the subsequent `focus` event cancels the pending blur before it fires.
42
+ *
43
+ * Each per-window event is latched — it only fires when that window's focus
44
+ * state actually changes.
45
+ */
46
+ let WindowFocusService = class WindowFocusService {
47
+ constructor() {
48
+ this.onDidWindowChangeFocusEmitter = new common_1.Emitter();
49
+ /**
50
+ * Fires when an individual window's focus state changes.
51
+ * The event payload identifies which window changed and whether it gained or lost focus.
52
+ *
53
+ * A window losing focus to another application window will fire separately
54
+ * for each window involved: one event with `hasFocus: false` for the window
55
+ * that lost focus, and one with `hasFocus: true` for the window that gained it.
56
+ */
57
+ this.onDidWindowChangeFocus = this.onDidWindowChangeFocusEmitter.event;
58
+ this.toDispose = new common_1.DisposableCollection(this.onDidWindowChangeFocusEmitter);
59
+ /** Per-window tracking state. */
60
+ this.windowStates = new Map();
61
+ }
62
+ init() {
63
+ this.registerWindow(window);
64
+ }
65
+ /**
66
+ * Register a window for focus tracking. The returned {@link Disposable}
67
+ * removes the window from tracking when disposed.
68
+ *
69
+ * The main window is registered automatically. Call this for secondary
70
+ * windows when they are created.
71
+ */
72
+ registerWindow(win) {
73
+ if (this.windowStates.has(win)) {
74
+ return common_1.Disposable.NULL;
75
+ }
76
+ const state = {
77
+ lastFocusState: this.windowHasFocus(win),
78
+ pendingBlurTimeout: undefined,
79
+ };
80
+ this.windowStates.set(win, state);
81
+ const onFocus = () => this.handleFocus(win, state);
82
+ const onBlur = () => this.scheduleBlur(win, state);
83
+ const onVisibilityChange = () => this.updateWindowFocusState(win, state);
84
+ win.addEventListener('focus', onFocus);
85
+ win.addEventListener('blur', onBlur);
86
+ win.document.addEventListener('visibilitychange', onVisibilityChange);
87
+ const cleanup = common_1.Disposable.create(() => {
88
+ this.cancelPendingBlur(state);
89
+ this.windowStates.delete(win);
90
+ win.removeEventListener('focus', onFocus);
91
+ win.removeEventListener('blur', onBlur);
92
+ try {
93
+ win.document.removeEventListener('visibilitychange', onVisibilityChange);
94
+ }
95
+ catch {
96
+ // The window may already be closed
97
+ }
98
+ });
99
+ this.toDispose.push(cleanup);
100
+ return cleanup;
101
+ }
102
+ /**
103
+ * Whether any registered window currently has focus.
104
+ */
105
+ get hasFocus() {
106
+ for (const win of this.windowStates.keys()) {
107
+ if (this.windowHasFocus(win)) {
108
+ return true;
109
+ }
110
+ }
111
+ return false;
112
+ }
113
+ windowHasFocus(win) {
114
+ try {
115
+ return win.document.hasFocus();
116
+ }
117
+ catch {
118
+ // The window may have been closed
119
+ return false;
120
+ }
121
+ }
122
+ handleFocus(win, state) {
123
+ // Cancel this window's pending blur — focus arrived before the timeout,
124
+ // meaning focus just moved between elements within this window.
125
+ this.cancelPendingBlur(state);
126
+ this.updateWindowFocusState(win, state);
127
+ }
128
+ /**
129
+ * Schedule a deferred blur check for this specific window.
130
+ * If no `focus` event arrives on this same window before the timeout fires,
131
+ * we treat it as a real focus loss for that window.
132
+ */
133
+ scheduleBlur(win, state) {
134
+ this.cancelPendingBlur(state);
135
+ state.pendingBlurTimeout = setTimeout(() => {
136
+ state.pendingBlurTimeout = undefined;
137
+ this.updateWindowFocusState(win, state);
138
+ }, 0);
139
+ }
140
+ cancelPendingBlur(state) {
141
+ if (state.pendingBlurTimeout !== undefined) {
142
+ clearTimeout(state.pendingBlurTimeout);
143
+ state.pendingBlurTimeout = undefined;
144
+ }
145
+ }
146
+ /**
147
+ * Re-evaluate a single window's focus and fire if it changed (latching).
148
+ */
149
+ updateWindowFocusState(win, state) {
150
+ const focused = this.windowHasFocus(win);
151
+ if (focused !== state.lastFocusState) {
152
+ state.lastFocusState = focused;
153
+ this.onDidWindowChangeFocusEmitter.fire({ win, hasFocus: focused });
154
+ }
155
+ }
156
+ dispose() {
157
+ for (const state of this.windowStates.values()) {
158
+ this.cancelPendingBlur(state);
159
+ }
160
+ this.toDispose.dispose();
161
+ }
162
+ };
163
+ exports.WindowFocusService = WindowFocusService;
164
+ tslib_1.__decorate([
165
+ (0, inversify_1.postConstruct)(),
166
+ tslib_1.__metadata("design:type", Function),
167
+ tslib_1.__metadata("design:paramtypes", []),
168
+ tslib_1.__metadata("design:returntype", void 0)
169
+ ], WindowFocusService.prototype, "init", null);
170
+ exports.WindowFocusService = WindowFocusService = tslib_1.__decorate([
171
+ (0, inversify_1.injectable)()
172
+ ], WindowFocusService);
173
+ //# sourceMappingURL=window-focus-service.js.map