@theia/core 1.37.0-next.3 → 1.37.0-next.30

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 (161) hide show
  1. package/README.md +7 -9
  2. package/lib/browser/core-preferences.d.ts +4 -0
  3. package/lib/browser/core-preferences.d.ts.map +1 -1
  4. package/lib/browser/core-preferences.js +22 -0
  5. package/lib/browser/core-preferences.js.map +1 -1
  6. package/lib/browser/hover-service.d.ts +5 -0
  7. package/lib/browser/hover-service.d.ts.map +1 -1
  8. package/lib/browser/hover-service.js +7 -1
  9. package/lib/browser/hover-service.js.map +1 -1
  10. package/lib/browser/icon-theme-service.js +1 -1
  11. package/lib/browser/icon-theme-service.js.map +1 -1
  12. package/lib/browser/shell/application-shell.d.ts +2 -1
  13. package/lib/browser/shell/application-shell.d.ts.map +1 -1
  14. package/lib/browser/shell/application-shell.js +30 -3
  15. package/lib/browser/shell/application-shell.js.map +1 -1
  16. package/lib/browser/shell/tab-bars.d.ts +21 -5
  17. package/lib/browser/shell/tab-bars.d.ts.map +1 -1
  18. package/lib/browser/shell/tab-bars.js +94 -17
  19. package/lib/browser/shell/tab-bars.js.map +1 -1
  20. package/lib/browser/test/jsdom.js +1 -1
  21. package/lib/browser/test/jsdom.js.map +1 -1
  22. package/lib/browser/tree/tree-iterator.js +4 -4
  23. package/lib/browser/tree/tree-iterator.js.map +1 -1
  24. package/lib/browser/tree/tree-selection-state.spec.js +26 -2
  25. package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
  26. package/lib/common/i18n/localization.d.ts +1 -0
  27. package/lib/common/i18n/localization.d.ts.map +1 -1
  28. package/lib/common/i18n/localization.js +2 -16
  29. package/lib/common/i18n/localization.js.map +1 -1
  30. package/lib/common/nls.d.ts +1 -0
  31. package/lib/common/nls.d.ts.map +1 -1
  32. package/lib/common/nls.js +2 -1
  33. package/lib/common/nls.js.map +1 -1
  34. package/lib/common/quick-pick-service.d.ts +2 -1
  35. package/lib/common/quick-pick-service.d.ts.map +1 -1
  36. package/lib/common/quick-pick-service.js.map +1 -1
  37. package/lib/electron-browser/electron-clipboard-service.d.ts.map +1 -1
  38. package/lib/electron-browser/electron-clipboard-service.js +2 -3
  39. package/lib/electron-browser/electron-clipboard-service.js.map +1 -1
  40. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.d.ts.map +1 -1
  41. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js +1 -2
  42. package/lib/electron-browser/keyboard/electron-keyboard-layout-change-notifier.js.map +1 -1
  43. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts +2 -3
  44. package/lib/electron-browser/menu/electron-context-menu-renderer.d.ts.map +1 -1
  45. package/lib/electron-browser/menu/electron-context-menu-renderer.js +10 -18
  46. package/lib/electron-browser/menu/electron-context-menu-renderer.js.map +1 -1
  47. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts +10 -8
  48. package/lib/electron-browser/menu/electron-main-menu-factory.d.ts.map +1 -1
  49. package/lib/electron-browser/menu/electron-main-menu-factory.js +33 -32
  50. package/lib/electron-browser/menu/electron-main-menu-factory.js.map +1 -1
  51. package/lib/electron-browser/menu/electron-menu-contribution.d.ts +6 -6
  52. package/lib/electron-browser/menu/electron-menu-contribution.d.ts.map +1 -1
  53. package/lib/electron-browser/menu/electron-menu-contribution.js +39 -54
  54. package/lib/electron-browser/menu/electron-menu-contribution.js.map +1 -1
  55. package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
  56. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +2 -6
  57. package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
  58. package/lib/electron-browser/preload.d.ts +2 -0
  59. package/lib/electron-browser/preload.d.ts.map +1 -0
  60. package/lib/electron-browser/preload.js +183 -0
  61. package/lib/electron-browser/preload.js.map +1 -0
  62. package/lib/electron-browser/token/electron-token-frontend-module.d.ts.map +1 -1
  63. package/lib/electron-browser/token/electron-token-frontend-module.js +1 -2
  64. package/lib/electron-browser/token/electron-token-frontend-module.js.map +1 -1
  65. package/lib/electron-browser/window/electron-frontend-application-state.d.ts.map +1 -1
  66. package/lib/electron-browser/window/electron-frontend-application-state.js +1 -3
  67. package/lib/electron-browser/window/electron-frontend-application-state.js.map +1 -1
  68. package/lib/electron-browser/window/electron-secondary-window-service.d.ts +1 -3
  69. package/lib/electron-browser/window/electron-secondary-window-service.d.ts.map +1 -1
  70. package/lib/electron-browser/window/electron-secondary-window-service.js +6 -34
  71. package/lib/electron-browser/window/electron-secondary-window-service.js.map +1 -1
  72. package/lib/electron-browser/window/electron-window-service.d.ts +1 -8
  73. package/lib/electron-browser/window/electron-window-service.d.ts.map +1 -1
  74. package/lib/electron-browser/window/electron-window-service.js +8 -25
  75. package/lib/electron-browser/window/electron-window-service.js.map +1 -1
  76. package/lib/electron-common/electron-api.d.ts +94 -0
  77. package/lib/electron-common/electron-api.d.ts.map +1 -0
  78. package/lib/electron-common/electron-api.js +53 -0
  79. package/lib/electron-common/electron-api.js.map +1 -0
  80. package/lib/electron-common/messaging/electron-connection-handler.d.ts +0 -7
  81. package/lib/electron-common/messaging/electron-connection-handler.d.ts.map +1 -1
  82. package/lib/electron-common/messaging/electron-connection-handler.js +1 -5
  83. package/lib/electron-common/messaging/electron-connection-handler.js.map +1 -1
  84. package/lib/electron-main/electron-api-main.d.ts +21 -0
  85. package/lib/electron-main/electron-api-main.d.ts.map +1 -0
  86. package/lib/electron-main/electron-api-main.js +261 -0
  87. package/lib/electron-main/electron-api-main.js.map +1 -0
  88. package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
  89. package/lib/electron-main/electron-main-application-module.js +3 -3
  90. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  91. package/lib/electron-main/electron-main-application.d.ts +8 -2
  92. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  93. package/lib/electron-main/electron-main-application.js +32 -29
  94. package/lib/electron-main/electron-main-application.js.map +1 -1
  95. package/lib/electron-main/electron-security-token-service.d.ts.map +1 -1
  96. package/lib/electron-main/electron-security-token-service.js +2 -1
  97. package/lib/electron-main/electron-security-token-service.js.map +1 -1
  98. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +4 -5
  99. package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
  100. package/lib/electron-main/messaging/electron-messaging-contribution.js +4 -7
  101. package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
  102. package/lib/electron-main/theia-electron-window.d.ts +2 -4
  103. package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
  104. package/lib/electron-main/theia-electron-window.js +11 -34
  105. package/lib/electron-main/theia-electron-window.js.map +1 -1
  106. package/lib/node/i18n/localization-backend-contribution.d.ts.map +1 -1
  107. package/lib/node/i18n/localization-backend-contribution.js +2 -1
  108. package/lib/node/i18n/localization-backend-contribution.js.map +1 -1
  109. package/lib/node/i18n/localization-provider.d.ts.map +1 -1
  110. package/lib/node/i18n/localization-provider.js +2 -1
  111. package/lib/node/i18n/localization-provider.js.map +1 -1
  112. package/package.json +7 -4
  113. package/src/browser/core-preferences.ts +26 -0
  114. package/src/browser/hover-service.ts +12 -1
  115. package/src/browser/icon-theme-service.ts +1 -1
  116. package/src/browser/shell/application-shell.ts +29 -1
  117. package/src/browser/shell/tab-bars.ts +111 -17
  118. package/src/browser/style/hover-service.css +4 -0
  119. package/src/browser/style/tabs.css +25 -0
  120. package/src/browser/test/jsdom.ts +1 -1
  121. package/src/browser/tree/tree-iterator.ts +4 -4
  122. package/src/browser/tree/tree-selection-state.spec.ts +29 -2
  123. package/src/common/i18n/localization.ts +6 -16
  124. package/src/common/nls.ts +3 -1
  125. package/src/common/quick-pick-service.ts +2 -1
  126. package/src/electron-browser/electron-clipboard-service.ts +2 -3
  127. package/src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.ts +1 -2
  128. package/src/electron-browser/menu/electron-context-menu-renderer.ts +10 -17
  129. package/src/electron-browser/menu/electron-main-menu-factory.ts +51 -44
  130. package/src/electron-browser/menu/electron-menu-contribution.ts +46 -57
  131. package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +4 -9
  132. package/src/electron-browser/preload.ts +208 -0
  133. package/src/electron-browser/token/electron-token-frontend-module.ts +1 -2
  134. package/src/electron-browser/window/electron-frontend-application-state.ts +1 -3
  135. package/src/electron-browser/window/electron-secondary-window-service.ts +7 -31
  136. package/src/electron-browser/window/electron-window-service.ts +8 -25
  137. package/src/electron-common/electron-api.ts +134 -0
  138. package/src/electron-common/messaging/electron-connection-handler.ts +0 -9
  139. package/src/electron-main/electron-api-main.ts +291 -0
  140. package/src/electron-main/electron-main-application-module.ts +3 -4
  141. package/src/electron-main/electron-main-application.ts +33 -37
  142. package/src/electron-main/electron-security-token-service.ts +2 -1
  143. package/src/electron-main/messaging/electron-messaging-contribution.ts +8 -10
  144. package/src/electron-main/theia-electron-window.ts +8 -33
  145. package/src/node/i18n/localization-backend-contribution.ts +2 -1
  146. package/src/node/i18n/localization-provider.ts +2 -1
  147. package/LICENSE +0 -642
  148. package/electron-shared/@electron/remote/index.d.ts +0 -1
  149. package/electron-shared/@electron/remote/index.js +0 -1
  150. package/electron-shared/@electron/remote/main/index.d.ts +0 -1
  151. package/electron-shared/@electron/remote/main/index.js +0 -1
  152. package/lib/electron-common/messaging/electron-messages.d.ts +0 -25
  153. package/lib/electron-common/messaging/electron-messages.d.ts.map +0 -1
  154. package/lib/electron-common/messaging/electron-messages.js +0 -37
  155. package/lib/electron-common/messaging/electron-messages.js.map +0 -1
  156. package/lib/electron-main/electron-native-keymap.d.ts +0 -8
  157. package/lib/electron-main/electron-native-keymap.d.ts.map +0 -1
  158. package/lib/electron-main/electron-native-keymap.js +0 -48
  159. package/lib/electron-main/electron-native-keymap.js.map +0 -1
  160. package/src/electron-common/messaging/electron-messages.ts +0 -42
  161. package/src/electron-main/electron-native-keymap.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"electron-keyboard-layout-change-notifier.js","sourceRoot":"","sources":["../../../src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,8DAA8D;AAC9D,yCAAsD;AAEtD,8CAAoD;AAEpD;;;GAGG;AAEH,IAAa,oCAAoC,GAAjD,MAAa,oCAAoC;IAAjD;QAEuB,wBAAmB,GAAG,IAAI,eAAO,EAAwB,CAAC;IAWjF,CAAC;IATG,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAC1C,CAAC;IAGS,UAAU;QAChB,sBAAW,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,KAAgC,EAAE,SAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7J,CAAC;CAEJ,CAAA;AAJG;IADC,IAAA,yBAAa,GAAE;;;;sEAGf;AAXQ,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAahD;AAbY,oFAAoC"}
1
+ {"version":3,"file":"electron-keyboard-layout-change-notifier.js","sourceRoot":"","sources":["../../../src/electron-browser/keyboard/electron-keyboard-layout-change-notifier.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,2EAA2E;AAC3E,gFAAgF;;;;;;;;;;;;AAEhF,yCAAsD;AAEtD,8CAAoD;AAEpD;;;GAGG;AAEH,IAAa,oCAAoC,GAAjD,MAAa,oCAAoC;IAAjD;QAEuB,wBAAmB,GAAG,IAAI,eAAO,EAAwB,CAAC;IAWjF,CAAC;IATG,IAAI,uBAAuB;QACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAC1C,CAAC;IAGS,UAAU;QAChB,MAAM,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,CAAC,SAA+B,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACpI,CAAC;CAEJ,CAAA;AAJG;IADC,IAAA,yBAAa,GAAE;;;;sEAGf;AAXQ,oCAAoC;IADhD,IAAA,sBAAU,GAAE;GACA,oCAAoC,CAahD;AAbY,oFAAoC"}
@@ -1,12 +1,11 @@
1
- import * as electron from '../../../electron-shared/electron';
2
1
  import { ContextMenuRenderer, RenderContextMenuOptions, ContextMenuAccess, FrontendApplicationContribution, PreferenceService } from '../../browser';
3
2
  import { ElectronMainMenuFactory } from './electron-main-menu-factory';
4
3
  import { ContextMenuContext } from '../../browser/menu/context-menu-context';
5
4
  import { MenuPath, MenuContribution, MenuModelRegistry } from '../../common';
6
5
  import { BrowserContextMenuRenderer } from '../../browser/menu/browser-context-menu-renderer';
7
6
  export declare class ElectronContextMenuAccess extends ContextMenuAccess {
8
- readonly menu: electron.Menu;
9
- constructor(menu: electron.Menu);
7
+ readonly menuHandle: Promise<number>;
8
+ constructor(menuHandle: Promise<number>);
10
9
  }
11
10
  export declare namespace ElectronTextInputContextMenu {
12
11
  const MENU_PATH: MenuPath;
@@ -1 +1 @@
1
- {"version":3,"file":"electron-context-menu-renderer.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAC;AAE9D,OAAO,EACH,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,+BAA+B,EAAwC,iBAAiB,EAC7J,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAG9F,qBAAa,yBAA0B,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI;gBAAnB,IAAI,EAAE,QAAQ,CAAC,IAAI;CAK3C;AAED,yBAAiB,4BAA4B,CAAC;IACnC,MAAM,SAAS,EAAE,QAAkC,CAAC;IACpD,MAAM,oBAAoB,UAAsC,CAAC;IACjE,MAAM,UAAU,UAAiC,CAAC;IAClD,MAAM,YAAY,UAAmC,CAAC;CAChE;AAED,qBACa,wCAAyC,YAAW,+BAA+B,EAAE,gBAAgB;IAG9G,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,OAAO,IAAI,IAAI;IAiBf,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CASnD;AAED,qBACa,2BAA4B,SAAQ,0BAA0B;IAU1B,OAAO,CAAC,mBAAmB;IAPxE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,cAAc,EAAE,OAAO,CAAQ;gBAEY,mBAAmB,EAAE,uBAAuB;cAKjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAOlB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB;CAqBpF"}
1
+ {"version":3,"file":"electron-context-menu-renderer.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"AAmBA,OAAO,EACH,mBAAmB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,+BAA+B,EAAwC,iBAAiB,EAC7J,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,qBAAa,yBAA0B,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;gBAA3B,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC;CAKnD;AAED,yBAAiB,4BAA4B,CAAC;IACnC,MAAM,SAAS,EAAE,QAAkC,CAAC;IACpD,MAAM,oBAAoB,UAAsC,CAAC;IACjE,MAAM,UAAU,UAAiC,CAAC;IAClD,MAAM,YAAY,UAAmC,CAAC;CAChE;AAED,qBACa,wCAAyC,YAAW,+BAA+B,EAAE,gBAAgB;IAG9G,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAE5D,OAAO,IAAI,IAAI;IAiBf,aAAa,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;CASnD;AAED,qBACa,2BAA4B,SAAQ,0BAA0B;IAU1B,OAAO,CAAC,mBAAmB;IAPxE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IAG/C,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAExD,SAAS,CAAC,cAAc,EAAE,OAAO,CAAQ;gBAEY,mBAAmB,EAAE,uBAAuB;cAKjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIlB,QAAQ,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB;CAmBpF"}
@@ -29,19 +29,17 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.ElectronContextMenuRenderer = exports.ElectronTextInputContextMenuContribution = exports.ElectronTextInputContextMenu = exports.ElectronContextMenuAccess = void 0;
31
31
  /* eslint-disable @typescript-eslint/no-explicit-any */
32
- const electron = require("../../../electron-shared/electron");
33
32
  const inversify_1 = require("inversify");
34
33
  const browser_1 = require("../../browser");
35
34
  const electron_main_menu_factory_1 = require("./electron-main-menu-factory");
36
35
  const context_menu_context_1 = require("../../browser/menu/context-menu-context");
37
36
  const browser_context_menu_renderer_1 = require("../../browser/menu/browser-context-menu-renderer");
38
- const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
39
37
  class ElectronContextMenuAccess extends browser_1.ContextMenuAccess {
40
- constructor(menu) {
38
+ constructor(menuHandle) {
41
39
  super({
42
- dispose: () => menu.closePopup()
40
+ dispose: () => menuHandle.then(handle => window.electronTheiaCore.closePopup(handle))
43
41
  });
44
- this.menu = menu;
42
+ this.menuHandle = menuHandle;
45
43
  }
46
44
  }
47
45
  exports.ElectronContextMenuAccess = ElectronContextMenuAccess;
@@ -93,27 +91,21 @@ let ElectronContextMenuRenderer = class ElectronContextMenuRenderer extends brow
93
91
  this.useNativeStyle = true;
94
92
  }
95
93
  async init() {
96
- electron.ipcRenderer.on(electron_messages_1.TitleBarStyleAtStartup, (_event, style) => {
97
- this.useNativeStyle = style === 'native';
98
- });
99
- electron.ipcRenderer.send(electron_messages_1.RequestTitleBarStyle);
94
+ this.useNativeStyle = await window.electronTheiaCore.getTitleBarStyleAtStartup() === 'native';
100
95
  }
101
96
  doRender(options) {
102
97
  if (this.useNativeStyle) {
103
98
  const { menuPath, anchor, args, onHide, context, contextKeyService } = options;
104
99
  const menu = this.electronMenuFactory.createElectronContextMenu(menuPath, args, context, contextKeyService);
105
100
  const { x, y } = (0, browser_1.coordinateFromAnchor)(anchor);
106
- const zoom = electron.webFrame.getZoomFactor();
107
- // TODO: Remove the offset once Electron fixes https://github.com/electron/electron/issues/31641
108
- const offset = process.platform === 'win32' ? 0 : 2;
109
- // x and y values must be Ints or else there is a conversion error
110
- menu.popup({ x: Math.round(x * zoom) + offset, y: Math.round(y * zoom) + offset });
101
+ const menuHandle = window.electronTheiaCore.popup(menu, x, y, () => {
102
+ if (onHide) {
103
+ onHide();
104
+ }
105
+ });
111
106
  // native context menu stops the event loop, so there is no keyboard events
112
107
  this.context.resetAltPressed();
113
- if (onHide) {
114
- menu.once('menu-will-close', () => onHide());
115
- }
116
- return new ElectronContextMenuAccess(menu);
108
+ return new ElectronContextMenuAccess(menuHandle);
117
109
  }
118
110
  else {
119
111
  return super.doRender(options);
@@ -1 +1 @@
1
- {"version":3,"file":"electron-context-menu-renderer.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-context-menu-renderer.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-context-menu-renderer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { MenuPath, MenuNode } from '../../common';
2
2
  import { Keybinding } from '../../common/keybinding';
3
3
  import { PreferenceService } from '../../browser';
4
4
  import { BrowserMainMenuFactory } from '../../browser/menu/browser-menu-plugin';
5
- import { ContextMatcher } from 'src/browser/context-key-service';
5
+ import { ContextMatcher } from '../../browser/context-key-service';
6
+ import { MenuDto, MenuRole } from '../../electron-common/electron-api';
6
7
  /**
7
8
  * Representation of possible electron menu options.
8
9
  */
@@ -33,21 +34,22 @@ export interface ElectronMenuOptions {
33
34
  */
34
35
  export declare type ElectronMenuItemRole = ('undo' | 'redo' | 'cut' | 'copy' | 'paste' | 'pasteAndMatchStyle' | 'delete' | 'selectAll' | 'reload' | 'forceReload' | 'toggleDevTools' | 'resetZoom' | 'zoomIn' | 'zoomOut' | 'togglefullscreen' | 'window' | 'minimize' | 'close' | 'help' | 'about' | 'services' | 'hide' | 'hideOthers' | 'unhide' | 'quit' | 'startSpeaking' | 'stopSpeaking' | 'zoom' | 'front' | 'appMenu' | 'fileMenu' | 'editMenu' | 'viewMenu' | 'recentDocuments' | 'toggleTabBar' | 'selectNextTab' | 'selectPreviousTab' | 'mergeAllWindows' | 'clearRecentDocuments' | 'moveTabToNewWindow' | 'windowMenu');
35
36
  export declare class ElectronMainMenuFactory extends BrowserMainMenuFactory {
36
- protected _menu?: Electron.Menu;
37
+ protected _menu?: MenuDto[];
37
38
  protected _toggledCommands: Set<string>;
38
39
  protected preferencesService: PreferenceService;
39
40
  postConstruct(): void;
40
41
  setMenuBar(): Promise<void>;
41
- createElectronMenuBar(): Electron.Menu | null;
42
- createElectronContextMenu(menuPath: MenuPath, args?: any[], context?: HTMLElement, contextKeyService?: ContextMatcher): Electron.Menu;
43
- protected fillMenuTemplate(parentItems: Electron.MenuItemConstructorOptions[], menu: MenuNode, args: unknown[] | undefined, options: ElectronMenuOptions): Electron.MenuItemConstructorOptions[];
42
+ createElectronMenuBar(): MenuDto[] | undefined;
43
+ createElectronContextMenu(menuPath: MenuPath, args?: any[], context?: HTMLElement, contextKeyService?: ContextMatcher): MenuDto[];
44
+ protected fillMenuTemplate(parentItems: MenuDto[], menu: MenuNode, args: unknown[] | undefined, options: ElectronMenuOptions): MenuDto[];
44
45
  protected undefinedOrMatch(contextKeyService: ContextMatcher, expression?: string, context?: HTMLElement): boolean;
45
46
  /**
46
47
  * Return a user visible representation of a keybinding.
47
48
  */
48
49
  protected acceleratorFor(keybinding: Keybinding): string;
49
- protected roleFor(id: string): ElectronMenuItemRole | undefined;
50
- protected execute(command: string, args: any[], menuPath: MenuPath): Promise<void>;
51
- protected createOSXMenu(): Electron.MenuItemConstructorOptions;
50
+ protected roleFor(id: string): MenuRole | undefined;
51
+ protected execute(cmd: string, args: any[], menuPath: MenuPath): Promise<void>;
52
+ findMenuById(items: MenuDto[], id: string): MenuDto | undefined;
53
+ protected createOSXMenu(): MenuDto;
52
54
  }
53
55
  //# sourceMappingURL=electron-main-menu-factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAwB,QAAQ,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAA;CACzB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAC1E,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GACxE,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,GAC1E,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAClD,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GACtD,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/D,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GACzE,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,GAClF,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEzC,qBACa,uBAAwB,SAAQ,sBAAsB;IAE/D,SAAS,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IAChC,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGpD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGhD,aAAa,IAAI,IAAI;IAsBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAWjC,qBAAqB,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI;IAqB7C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,QAAQ,CAAC,IAAI;IAMrI,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,0BAA0B,EAAE,EACzE,IAAI,EAAE,QAAQ,EACd,IAAI,uBAAgB,EACpB,OAAO,EAAE,mBAAmB,GAC7B,QAAQ,CAAC,0BAA0B,EAAE;IAuExC,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAOlH;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAexD,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS;cA2B/C,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBxF,SAAS,CAAC,aAAa,IAAI,QAAQ,CAAC,0BAA0B;CAoCjE"}
1
+ {"version":3,"file":"electron-main-menu-factory.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAwB,QAAQ,EAAE,QAAQ,EAA2D,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;OAGG;IACH,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;;OAEG;IACH,YAAY,EAAE,QAAQ,CAAA;CACzB;AAED;;;GAGG;AACH,oBAAY,oBAAoB,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAC1E,oBAAoB,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GACxE,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,kBAAkB,GAC1E,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAClD,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,MAAM,GACtD,eAAe,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAC/D,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,GAAG,cAAc,GACzE,eAAe,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,sBAAsB,GAClF,oBAAoB,GAAG,YAAY,CAAC,CAAC;AAEzC,qBACa,uBAAwB,SAAQ,sBAAsB;IAE/D,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGpD,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IAGhD,aAAa,IAAI,IAAI;IAsBf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,qBAAqB,IAAI,OAAO,EAAE,GAAG,SAAS;IAgB9C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,cAAc,GAAG,OAAO,EAAE;IAKjI,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE,EAC7C,IAAI,EAAE,QAAQ,EACd,IAAI,uBAAgB,EACpB,OAAO,EAAE,mBAAmB,GAC7B,OAAO,EAAE;IA2EZ,SAAS,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO;IAOlH;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAexD,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;cA2BnC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpF,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAe/D,SAAS,CAAC,aAAa,IAAI,OAAO;CAoCrC"}
@@ -26,7 +26,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
26
26
  Object.defineProperty(exports, "__esModule", { value: true });
27
27
  exports.ElectronMainMenuFactory = void 0;
28
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
- const electronRemote = require("../../../electron-shared/@electron/remote");
30
29
  const inversify_1 = require("inversify");
31
30
  const common_1 = require("../../common");
32
31
  const browser_1 = require("../../browser");
@@ -44,13 +43,13 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
44
43
  this.setMenuBar();
45
44
  }
46
45
  if (this._menu) {
47
- for (const item of this._toggledCommands) {
48
- const menuItem = this._menu.getMenuItemById(item);
46
+ for (const cmd of this._toggledCommands) {
47
+ const menuItem = this.findMenuById(this._menu, cmd);
49
48
  if (menuItem) {
50
- menuItem.checked = this.commandRegistry.isToggled(item);
49
+ menuItem.checked = this.commandRegistry.isToggled(cmd);
51
50
  }
52
51
  }
53
- electronRemote.getCurrentWindow().setMenu(this._menu);
52
+ window.electronTheiaCore.setMenu(this._menu);
54
53
  }
55
54
  }, 10));
56
55
  this.keybindingRegistry.onKeybindingsChanged(() => {
@@ -59,39 +58,27 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
59
58
  }
60
59
  async setMenuBar() {
61
60
  await this.preferencesService.ready;
62
- if (common_1.isOSX) {
63
- const createdMenuBar = this.createElectronMenuBar();
64
- electronRemote.Menu.setApplicationMenu(createdMenuBar);
65
- }
66
- else if (this.preferencesService.get('window.titleBarStyle') === 'native') {
67
- const createdMenuBar = this.createElectronMenuBar();
68
- electronRemote.getCurrentWindow().setMenu(createdMenuBar);
69
- }
61
+ const createdMenuBar = this.createElectronMenuBar();
62
+ window.electronTheiaCore.setMenu(createdMenuBar);
70
63
  }
71
64
  createElectronMenuBar() {
72
65
  const preference = this.preferencesService.get('window.menuBarVisibility') || 'classic';
73
66
  const maxWidget = document.getElementsByClassName(theia_dock_panel_1.MAXIMIZED_CLASS);
74
67
  if (preference === 'visible' || (preference === 'classic' && maxWidget.length === 0)) {
75
68
  const menuModel = this.menuProvider.getMenu(common_1.MAIN_MENU_BAR);
76
- const template = this.fillMenuTemplate([], menuModel, [], { rootMenuPath: common_1.MAIN_MENU_BAR });
69
+ this._menu = this.fillMenuTemplate([], menuModel, [], { rootMenuPath: common_1.MAIN_MENU_BAR });
77
70
  if (common_1.isOSX) {
78
- template.unshift(this.createOSXMenu());
71
+ this._menu.unshift(this.createOSXMenu());
79
72
  }
80
- const menu = electronRemote.Menu.buildFromTemplate(template);
81
- if (!menu) {
82
- throw new Error('menu is null');
83
- }
84
- this._menu = menu;
85
73
  return this._menu;
86
74
  }
87
75
  this._menu = undefined;
88
76
  // eslint-disable-next-line no-null/no-null
89
- return null;
77
+ return undefined;
90
78
  }
91
79
  createElectronContextMenu(menuPath, args, context, contextKeyService) {
92
80
  const menuModel = this.menuProvider.getMenu(menuPath);
93
- const template = this.fillMenuTemplate([], menuModel, args, { showDisabled: false, context, rootMenuPath: menuPath, contextKeyService });
94
- return electronRemote.Menu.buildFromTemplate(template);
81
+ return this.fillMenuTemplate([], menuModel, args, { showDisabled: false, context, rootMenuPath: menuPath, contextKeyService });
95
82
  }
96
83
  fillMenuTemplate(parentItems, menu, args = [], options) {
97
84
  var _a, _b;
@@ -144,13 +131,13 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
144
131
  enabled: true,
145
132
  visible: true,
146
133
  accelerator,
147
- click: () => this.execute(commandId, args, options.rootMenuPath)
134
+ execute: () => this.execute(commandId, args, options.rootMenuPath)
148
135
  };
149
136
  if (common_1.isOSX) {
150
137
  const role = this.roleFor(node.id);
151
138
  if (role) {
152
139
  menuItem.role = role;
153
- delete menuItem.click;
140
+ delete menuItem.execute;
154
141
  }
155
142
  }
156
143
  parentItems.push(menuItem);
@@ -208,18 +195,18 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
208
195
  }
209
196
  return role;
210
197
  }
211
- async execute(command, args, menuPath) {
198
+ async execute(cmd, args, menuPath) {
212
199
  try {
213
200
  // This is workaround for https://github.com/eclipse-theia/theia/issues/446.
214
201
  // Electron menus do not update based on the `isEnabled`, `isVisible` property of the command.
215
202
  // We need to check if we can execute it.
216
- if (this.menuCommandExecutor.isEnabled(menuPath, command, ...args)) {
217
- await this.menuCommandExecutor.executeCommand(menuPath, command, ...args);
218
- if (this._menu && this.menuCommandExecutor.isVisible(menuPath, command, ...args)) {
219
- const item = this._menu.getMenuItemById(command);
203
+ if (this.menuCommandExecutor.isEnabled(menuPath, cmd, ...args)) {
204
+ await this.menuCommandExecutor.executeCommand(menuPath, cmd, ...args);
205
+ if (this._menu && this.menuCommandExecutor.isVisible(menuPath, cmd, ...args)) {
206
+ const item = this.findMenuById(this._menu, cmd);
220
207
  if (item) {
221
- item.checked = this.menuCommandExecutor.isToggled(menuPath, command, ...args);
222
- electronRemote.getCurrentWindow().setMenu(this._menu);
208
+ item.checked = this.menuCommandExecutor.isToggled(menuPath, cmd, ...args);
209
+ window.electronTheiaCore.setMenu(this._menu);
223
210
  }
224
211
  }
225
212
  }
@@ -228,6 +215,20 @@ let ElectronMainMenuFactory = class ElectronMainMenuFactory extends browser_menu
228
215
  // no-op
229
216
  }
230
217
  }
218
+ findMenuById(items, id) {
219
+ for (const item of items) {
220
+ if (item.id === id) {
221
+ return item;
222
+ }
223
+ if (item.submenu) {
224
+ const found = this.findMenuById(item.submenu, id);
225
+ if (found) {
226
+ return found;
227
+ }
228
+ }
229
+ }
230
+ return undefined;
231
+ }
231
232
  createOSXMenu() {
232
233
  return {
233
234
  label: 'Theia',
@@ -1 +1 @@
1
- {"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-main-menu-factory.js","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-main-menu-factory.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import * as electron from '../../../electron-shared/electron';
2
1
  import { Command, CommandContribution, CommandRegistry, MenuModelRegistry, MenuContribution } from '../../common';
3
2
  import { KeybindingContribution, KeybindingRegistry, Widget, FrontendApplication, FrontendApplicationContribution, Message, ApplicationShell } from '../../browser';
4
3
  import { ElectronMainMenuFactory } from './electron-main-menu-factory';
@@ -7,6 +6,7 @@ import { BrowserMenuBarContribution } from '../../browser/menu/browser-menu-plug
7
6
  import { WindowService } from '../../browser/window/window-service';
8
7
  import { WindowTitleService } from '../../browser/window/window-title-service';
9
8
  import '../../../src/electron-browser/menu/electron-menu-style.css';
9
+ import { MenuDto } from '../../electron-common/electron-api';
10
10
  export declare namespace ElectronCommands {
11
11
  const TOGGLE_DEVELOPER_TOOLS: Command;
12
12
  const RELOAD: Command;
@@ -48,17 +48,17 @@ export declare class ElectronMenuContribution extends BrowserMenuBarContribution
48
48
  * By default, this method is called on application `onStart`.
49
49
  */
50
50
  protected hideTopPanel(app: FrontendApplication): void;
51
- protected setMenu(app: FrontendApplication, electronMenu?: electron.Menu | null, electronWindow?: electron.BrowserWindow): void;
52
- protected createCustomTitleBar(app: FrontendApplication, electronWindow: electron.BrowserWindow): void;
51
+ protected setMenu(app: FrontendApplication, electronMenu?: MenuDto[] | undefined): void;
52
+ protected createCustomTitleBar(app: FrontendApplication): void;
53
53
  protected createCustomTitleWidget(app: FrontendApplication): void;
54
- protected handleWindowControls(electronWindow: electron.BrowserWindow): void;
54
+ protected handleWindowControls(): void;
55
55
  protected createControlButton(id: string, handler: () => void): HTMLElement;
56
56
  protected handleRequiredRestart(): Promise<void>;
57
57
  registerCommands(registry: CommandRegistry): void;
58
58
  registerKeybindings(registry: KeybindingRegistry): void;
59
59
  registerMenus(registry: MenuModelRegistry): void;
60
- protected toggleFullScreen(currentWindow: electron.BrowserWindow): void;
61
- protected handleFullScreen(currentWindow: electron.BrowserWindow, menuBarVisibility: string): void;
60
+ protected toggleFullScreen(): void;
61
+ protected handleFullScreen(menuBarVisibility: string): void;
62
62
  }
63
63
  export declare class CustomTitleWidget extends Widget {
64
64
  protected readonly electronMenuContribution: ElectronMenuContribution;
@@ -1 +1 @@
1
- {"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"electron-menu-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/menu/electron-menu-contribution.ts"],"names":[],"mappings":"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"}
@@ -28,15 +28,12 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.CustomTitleWidget = exports.ElectronMenuContribution = exports.CustomTitleWidgetFactory = exports.ElectronMenus = exports.ElectronCommands = void 0;
31
- const electron = require("../../../electron-shared/electron");
32
- const electronRemote = require("../../../electron-shared/@electron/remote");
33
31
  const inversify_1 = require("inversify");
34
32
  const common_1 = require("../../common");
35
33
  const browser_1 = require("../../browser");
36
34
  const electron_main_menu_factory_1 = require("./electron-main-menu-factory");
37
35
  const frontend_application_state_1 = require("../../browser/frontend-application-state");
38
36
  const frontend_application_config_provider_1 = require("../../browser/frontend-application-config-provider");
39
- const electron_messages_1 = require("../../electron-common/messaging/electron-messages");
40
37
  const electron_window_preferences_1 = require("../window/electron-window-preferences");
41
38
  const browser_menu_plugin_1 = require("../../browser/menu/browser-menu-plugin");
42
39
  const window_service_1 = require("../../browser/window/window-service");
@@ -120,36 +117,34 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
120
117
  // OSX: Recreate the menus when changing windows.
121
118
  // OSX only has one menu bar for all windows, so we need to swap
122
119
  // between them as the user switches windows.
123
- const targetWindow = electronRemote.getCurrentWindow();
124
- const callback = () => this.setMenu(app);
125
- targetWindow.on('focus', callback);
126
- window.addEventListener('unload', () => targetWindow.off('focus', callback));
120
+ const disposeHandler = window.electronTheiaCore.onWindowEvent('focus', () => {
121
+ this.setMenu(app);
122
+ });
123
+ window.addEventListener('unload', () => disposeHandler.dispose());
127
124
  }
128
125
  attachMenuBarVisibilityListener() {
129
126
  this.preferenceService.onPreferenceChanged(e => {
130
127
  if (e.preferenceName === 'window.menuBarVisibility') {
131
- const targetWindow = electronRemote.getCurrentWindow();
132
- this.handleFullScreen(targetWindow, e.newValue);
128
+ this.handleFullScreen(e.newValue);
133
129
  }
134
130
  });
135
131
  }
136
132
  handleTitleBarStyling(app) {
137
133
  this.hideTopPanel(app);
138
- electron.ipcRenderer.on(electron_messages_1.TitleBarStyleAtStartup, (_event, style) => {
134
+ window.electronTheiaCore.getTitleBarStyleAtStartup().then(style => {
139
135
  this.titleBarStyle = style;
140
136
  this.setMenu(app);
141
137
  this.preferenceService.ready.then(() => {
142
138
  this.preferenceService.set('window.titleBarStyle', this.titleBarStyle, browser_1.PreferenceScope.User);
143
139
  });
144
140
  });
145
- electron.ipcRenderer.send(electron_messages_1.RequestTitleBarStyle);
146
141
  this.preferenceService.ready.then(() => {
147
- electronRemote.getCurrentWindow().setMenuBarVisibility(['classic', 'visible'].includes(this.preferenceService.get('window.menuBarVisibility', 'classic')));
142
+ window.electronTheiaCore.setMenuBarVisible(['classic', 'visible'].includes(this.preferenceService.get('window.menuBarVisibility', 'classic')));
148
143
  });
149
144
  this.preferenceService.onPreferenceChanged(change => {
150
145
  if (change.preferenceName === 'window.titleBarStyle') {
151
- if (this.titleBarStyleChangeFlag && this.titleBarStyle !== change.newValue && electronRemote.getCurrentWindow().isFocused()) {
152
- electron.ipcRenderer.send(electron_messages_1.TitleBarStyleChanged, change.newValue);
146
+ if (this.titleBarStyleChangeFlag && this.titleBarStyle !== change.newValue) {
147
+ window.electronTheiaCore.setTitleBarStyle(change.newValue);
153
148
  this.handleRequiredRestart();
154
149
  }
155
150
  this.titleBarStyleChangeFlag = true;
@@ -182,20 +177,17 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
182
177
  }
183
178
  }
184
179
  }
185
- setMenu(app, electronMenu = this.factory.createElectronMenuBar(), electronWindow = electronRemote.getCurrentWindow()) {
186
- if (common_1.isOSX) {
187
- electronRemote.Menu.setApplicationMenu(electronMenu);
188
- }
189
- else {
180
+ setMenu(app, electronMenu = this.factory.createElectronMenuBar()) {
181
+ if (!common_1.isOSX) {
190
182
  this.hideTopPanel(app);
191
183
  if (this.titleBarStyle === 'custom' && !this.menuBar) {
192
- this.createCustomTitleBar(app, electronWindow);
184
+ this.createCustomTitleBar(app);
185
+ return;
193
186
  }
194
- // Unix/Windows: Set the per-window menus
195
- electronWindow.setMenu(electronMenu);
196
187
  }
188
+ window.electronTheiaCore.setMenu(electronMenu);
197
189
  }
198
- createCustomTitleBar(app, electronWindow) {
190
+ createCustomTitleBar(app) {
199
191
  const dragPanel = new browser_1.Widget();
200
192
  dragPanel.id = 'theia-drag-panel';
201
193
  app.shell.addWidget(dragPanel, { area: 'top' });
@@ -203,9 +195,9 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
203
195
  this.createCustomTitleWidget(app);
204
196
  const controls = document.createElement('div');
205
197
  controls.id = 'window-controls';
206
- controls.append(this.createControlButton('minimize', () => electronWindow.minimize()), this.createControlButton('maximize', () => electronWindow.maximize()), this.createControlButton('restore', () => electronWindow.unmaximize()), this.createControlButton('close', () => electronWindow.close()));
198
+ controls.append(this.createControlButton('minimize', () => window.electronTheiaCore.minimize()), this.createControlButton('maximize', () => window.electronTheiaCore.maximize()), this.createControlButton('restore', () => window.electronTheiaCore.unMaximize()), this.createControlButton('close', () => window.electronTheiaCore.close()));
207
199
  app.shell.topPanel.node.append(controls);
208
- this.handleWindowControls(electronWindow);
200
+ this.handleWindowControls();
209
201
  }
210
202
  createCustomTitleWidget(app) {
211
203
  const titleWidget = this.customTitleWidgetFactory();
@@ -213,12 +205,12 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
213
205
  app.shell.addWidget(titleWidget, { area: 'top' });
214
206
  }
215
207
  }
216
- handleWindowControls(electronWindow) {
208
+ handleWindowControls() {
217
209
  toggleControlButtons();
218
- electronWindow.on('maximize', toggleControlButtons);
219
- electronWindow.on('unmaximize', toggleControlButtons);
210
+ window.electronTheiaCore.onWindowEvent('maximize', toggleControlButtons);
211
+ window.electronTheiaCore.onWindowEvent('unmaximize', toggleControlButtons);
220
212
  function toggleControlButtons() {
221
- if (electronWindow.isMaximized()) {
213
+ if (window.electronTheiaCore.isMaximized()) {
222
214
  document.body.classList.add('maximized');
223
215
  }
224
216
  else {
@@ -249,33 +241,26 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
249
241
  });
250
242
  if (await dialog.open()) {
251
243
  this.windowService.setSafeToShutDown();
252
- electron.ipcRenderer.send(electron_messages_1.Restart);
244
+ window.electronTheiaCore.restart();
253
245
  }
254
246
  }
255
247
  registerCommands(registry) {
256
- const currentWindow = electronRemote.getCurrentWindow();
257
248
  registry.registerCommand(ElectronCommands.TOGGLE_DEVELOPER_TOOLS, {
258
249
  execute: () => {
259
- const webContent = electronRemote.getCurrentWebContents();
260
- if (!webContent.isDevToolsOpened()) {
261
- webContent.openDevTools();
262
- }
263
- else {
264
- webContent.closeDevTools();
265
- }
250
+ window.electronTheiaCore.toggleDevTools();
266
251
  }
267
252
  });
268
253
  registry.registerCommand(ElectronCommands.RELOAD, {
269
254
  execute: () => this.windowService.reload()
270
255
  });
271
256
  registry.registerCommand(ElectronCommands.CLOSE_WINDOW, {
272
- execute: () => currentWindow.close()
257
+ execute: () => window.electronTheiaCore.close()
273
258
  });
274
259
  registry.registerCommand(ElectronCommands.ZOOM_IN, {
275
- execute: () => {
276
- const webContents = currentWindow.webContents;
260
+ execute: async () => {
261
+ const curentLevel = await window.electronTheiaCore.getZoomLevel();
277
262
  // When starting at a level that is not a multiple of 0.5, increment by at most 0.5 to reach the next highest multiple of 0.5.
278
- let zoomLevel = (Math.floor(webContents.zoomLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) + electron_window_preferences_1.ZoomLevel.VARIATION;
263
+ let zoomLevel = (Math.floor(curentLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) + electron_window_preferences_1.ZoomLevel.VARIATION;
279
264
  if (zoomLevel > electron_window_preferences_1.ZoomLevel.MAX) {
280
265
  zoomLevel = electron_window_preferences_1.ZoomLevel.MAX;
281
266
  return;
@@ -285,10 +270,10 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
285
270
  }
286
271
  });
287
272
  registry.registerCommand(ElectronCommands.ZOOM_OUT, {
288
- execute: () => {
289
- const webContents = currentWindow.webContents;
273
+ execute: async () => {
274
+ const curentLevel = await window.electronTheiaCore.getZoomLevel();
290
275
  // When starting at a level that is not a multiple of 0.5, decrement by at most 0.5 to reach the next lowest multiple of 0.5.
291
- let zoomLevel = (Math.ceil(webContents.zoomLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) - electron_window_preferences_1.ZoomLevel.VARIATION;
276
+ let zoomLevel = (Math.ceil(curentLevel / electron_window_preferences_1.ZoomLevel.VARIATION) * electron_window_preferences_1.ZoomLevel.VARIATION) - electron_window_preferences_1.ZoomLevel.VARIATION;
292
277
  if (zoomLevel < electron_window_preferences_1.ZoomLevel.MIN) {
293
278
  zoomLevel = electron_window_preferences_1.ZoomLevel.MIN;
294
279
  return;
@@ -301,9 +286,9 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
301
286
  execute: () => this.preferenceService.set('window.zoomLevel', electron_window_preferences_1.ZoomLevel.DEFAULT, browser_1.PreferenceScope.User)
302
287
  });
303
288
  registry.registerCommand(ElectronCommands.TOGGLE_FULL_SCREEN, {
304
- isEnabled: () => currentWindow.isFullScreenable(),
305
- isVisible: () => currentWindow.isFullScreenable(),
306
- execute: () => this.toggleFullScreen(currentWindow)
289
+ isEnabled: () => window.electronTheiaCore.isFullScreenable(),
290
+ isVisible: () => window.electronTheiaCore.isFullScreenable(),
291
+ execute: () => this.toggleFullScreen()
307
292
  });
308
293
  }
309
294
  registerKeybindings(registry) {
@@ -365,15 +350,15 @@ let ElectronMenuContribution = class ElectronMenuContribution extends browser_me
365
350
  order: '0'
366
351
  });
367
352
  }
368
- toggleFullScreen(currentWindow) {
369
- currentWindow.setFullScreen(!currentWindow.isFullScreen());
353
+ toggleFullScreen() {
354
+ window.electronTheiaCore.toggleFullScreen();
370
355
  const menuBarVisibility = this.preferenceService.get('window.menuBarVisibility', 'classic');
371
- this.handleFullScreen(currentWindow, menuBarVisibility);
356
+ this.handleFullScreen(menuBarVisibility);
372
357
  }
373
- handleFullScreen(currentWindow, menuBarVisibility) {
374
- const shouldShowTop = !currentWindow.isFullScreen() || menuBarVisibility === 'visible';
358
+ handleFullScreen(menuBarVisibility) {
359
+ const shouldShowTop = !window.electronTheiaCore.isFullScreen() || menuBarVisibility === 'visible';
375
360
  if (this.titleBarStyle === 'native') {
376
- currentWindow.menuBarVisible = shouldShowTop;
361
+ window.electronTheiaCore.setMenuBarVisible(shouldShowTop);
377
362
  }
378
363
  else if (shouldShowTop) {
379
364
  this.shell.topPanel.show();