custom-electron-titlebar 3.2.5 → 3.2.9

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 (175) hide show
  1. package/.vscode/launch.json +49 -0
  2. package/.vscode/tasks.json +34 -0
  3. package/README.md +15 -24
  4. package/_config.yml +1 -0
  5. package/{lib → build}/browser/browser.d.ts +0 -0
  6. package/{lib → build}/browser/browser.js +1 -0
  7. package/build/browser/browser.js.map +1 -0
  8. package/{lib → build}/browser/event.d.ts +0 -0
  9. package/{lib → build}/browser/event.js +3 -1
  10. package/build/browser/event.js.map +1 -0
  11. package/{lib → build}/browser/iframe.d.ts +0 -0
  12. package/{lib/base → build}/browser/iframe.js +1 -0
  13. package/build/browser/iframe.js.map +1 -0
  14. package/{lib → build}/browser/keyboardEvent.d.ts +0 -0
  15. package/{lib → build}/browser/keyboardEvent.js +1 -0
  16. package/build/browser/keyboardEvent.js.map +1 -0
  17. package/{lib → build}/browser/mouseEvent.d.ts +0 -0
  18. package/{lib → build}/browser/mouseEvent.js +1 -0
  19. package/build/browser/mouseEvent.js.map +1 -0
  20. package/{lib → build}/common/arrays.d.ts +0 -0
  21. package/{lib → build}/common/arrays.js +1 -0
  22. package/build/common/arrays.js.map +1 -0
  23. package/{lib → build}/common/async.d.ts +0 -0
  24. package/{lib → build}/common/async.js +1 -0
  25. package/build/common/async.js.map +1 -0
  26. package/{lib → build}/common/charCode.d.ts +0 -0
  27. package/{lib/base → build}/common/charCode.js +1 -0
  28. package/build/common/charCode.js.map +1 -0
  29. package/{lib → build}/common/color.d.ts +0 -0
  30. package/{lib → build}/common/color.js +1 -0
  31. package/build/common/color.js.map +1 -0
  32. package/{lib → build}/common/dom.d.ts +0 -0
  33. package/{lib → build}/common/dom.js +17 -14
  34. package/build/common/dom.js.map +1 -0
  35. package/{lib → build}/common/event.d.ts +0 -0
  36. package/{lib → build}/common/event.js +2 -1
  37. package/build/common/event.js.map +1 -0
  38. package/{lib → build}/common/iterator.d.ts +0 -0
  39. package/{lib → build}/common/iterator.js +1 -0
  40. package/build/common/iterator.js.map +1 -0
  41. package/{lib → build}/common/keyCodes.d.ts +0 -0
  42. package/{lib → build}/common/keyCodes.js +1 -0
  43. package/build/common/keyCodes.js.map +1 -0
  44. package/{lib → build}/common/lifecycle.d.ts +0 -0
  45. package/{lib → build}/common/lifecycle.js +1 -0
  46. package/build/common/lifecycle.js.map +1 -0
  47. package/{lib → build}/common/linkedList.d.ts +0 -0
  48. package/{lib → build}/common/linkedList.js +1 -0
  49. package/build/common/linkedList.js.map +1 -0
  50. package/{lib → build}/common/platform.d.ts +0 -0
  51. package/{lib → build}/common/platform.js +1 -0
  52. package/build/common/platform.js.map +1 -0
  53. package/{lib → build}/index.d.ts +0 -0
  54. package/{lib → build}/index.js +1 -0
  55. package/build/index.js.map +1 -0
  56. package/{lib → build}/menu/menu.d.ts +0 -0
  57. package/{lib → build}/menu/menu.js +39 -38
  58. package/build/menu/menu.js.map +1 -0
  59. package/{lib → build}/menu/menuitem.d.ts +10 -2
  60. package/{lib → build}/menu/menuitem.js +71 -29
  61. package/build/menu/menuitem.js.map +1 -0
  62. package/{lib → build}/menubar.d.ts +0 -0
  63. package/{lib → build}/menubar.js +38 -34
  64. package/build/menubar.js.map +1 -0
  65. package/{lib → build}/themebar.d.ts +0 -0
  66. package/{lib → build}/themebar.js +31 -2
  67. package/build/themebar.js.map +1 -0
  68. package/{lib → build}/titlebar.d.ts +0 -0
  69. package/{lib → build}/titlebar.js +72 -59
  70. package/build/titlebar.js.map +1 -0
  71. package/package.json +13 -7
  72. package/lib/base/browser/browser.d.ts +0 -25
  73. package/lib/base/browser/browser.js +0 -117
  74. package/lib/base/browser/canIUse.d.ts +0 -18
  75. package/lib/base/browser/canIUse.js +0 -63
  76. package/lib/base/browser/dom.d.ts +0 -230
  77. package/lib/base/browser/dom.js +0 -1080
  78. package/lib/base/browser/event.d.ts +0 -12
  79. package/lib/base/browser/event.js +0 -28
  80. package/lib/base/browser/iframe.d.ts +0 -33
  81. package/lib/base/browser/keyboardEvent.d.ts +0 -40
  82. package/lib/base/browser/keyboardEvent.js +0 -256
  83. package/lib/base/browser/mouseEvent.d.ts +0 -69
  84. package/lib/base/browser/mouseEvent.js +0 -146
  85. package/lib/base/common/arrays.d.ts +0 -149
  86. package/lib/base/common/arrays.js +0 -549
  87. package/lib/base/common/async.d.ts +0 -259
  88. package/lib/base/common/async.js +0 -728
  89. package/lib/base/common/cancellation.d.ts +0 -29
  90. package/lib/base/common/cancellation.js +0 -114
  91. package/lib/base/common/charCode.d.ts +0 -415
  92. package/lib/base/common/color.d.ts +0 -163
  93. package/lib/base/common/color.js +0 -495
  94. package/lib/base/common/errors.d.ts +0 -65
  95. package/lib/base/common/errors.js +0 -164
  96. package/lib/base/common/event.d.ts +0 -248
  97. package/lib/base/common/event.js +0 -703
  98. package/lib/base/common/functional.d.ts +0 -1
  99. package/lib/base/common/functional.js +0 -21
  100. package/lib/base/common/iterator.d.ts +0 -16
  101. package/lib/base/common/iterator.js +0 -82
  102. package/lib/base/common/keyCodes.d.ts +0 -268
  103. package/lib/base/common/keyCodes.js +0 -292
  104. package/lib/base/common/lifecycle.d.ts +0 -67
  105. package/lib/base/common/lifecycle.js +0 -234
  106. package/lib/base/common/linkedList.d.ts +0 -16
  107. package/lib/base/common/linkedList.js +0 -128
  108. package/lib/base/common/network.d.ts +0 -65
  109. package/lib/base/common/network.js +0 -124
  110. package/lib/base/common/path.d.ts +0 -39
  111. package/lib/base/common/path.js +0 -1407
  112. package/lib/base/common/platform.d.ts +0 -53
  113. package/lib/base/common/platform.js +0 -176
  114. package/lib/base/common/process.d.ts +0 -5
  115. package/lib/base/common/process.js +0 -18
  116. package/lib/base/common/sequence.d.ts +0 -27
  117. package/lib/base/common/sequence.js +0 -32
  118. package/lib/base/common/uri.d.ts +0 -153
  119. package/lib/base/common/uri.js +0 -612
  120. package/lib/browser/iframe.js +0 -109
  121. package/lib/common/charCode.js +0 -6
  122. package/lib/menu.d.ts +0 -53
  123. package/lib/menu.js +0 -532
  124. package/lib/menuitem.d.ts +0 -46
  125. package/lib/menuitem.js +0 -295
  126. package/lib/vs/base/browser/browser.d.ts +0 -25
  127. package/lib/vs/base/browser/browser.js +0 -117
  128. package/lib/vs/base/browser/canIUse.d.ts +0 -18
  129. package/lib/vs/base/browser/canIUse.js +0 -63
  130. package/lib/vs/base/browser/dom.d.ts +0 -230
  131. package/lib/vs/base/browser/dom.js +0 -1080
  132. package/lib/vs/base/browser/event.d.ts +0 -12
  133. package/lib/vs/base/browser/event.js +0 -28
  134. package/lib/vs/base/browser/iframe.d.ts +0 -33
  135. package/lib/vs/base/browser/iframe.js +0 -109
  136. package/lib/vs/base/browser/keyboardEvent.d.ts +0 -40
  137. package/lib/vs/base/browser/keyboardEvent.js +0 -256
  138. package/lib/vs/base/browser/mouseEvent.d.ts +0 -69
  139. package/lib/vs/base/browser/mouseEvent.js +0 -146
  140. package/lib/vs/base/common/arrays.d.ts +0 -149
  141. package/lib/vs/base/common/arrays.js +0 -549
  142. package/lib/vs/base/common/async.d.ts +0 -259
  143. package/lib/vs/base/common/async.js +0 -728
  144. package/lib/vs/base/common/cancellation.d.ts +0 -29
  145. package/lib/vs/base/common/cancellation.js +0 -114
  146. package/lib/vs/base/common/charCode.d.ts +0 -415
  147. package/lib/vs/base/common/charCode.js +0 -6
  148. package/lib/vs/base/common/color.d.ts +0 -163
  149. package/lib/vs/base/common/color.js +0 -495
  150. package/lib/vs/base/common/errors.d.ts +0 -65
  151. package/lib/vs/base/common/errors.js +0 -164
  152. package/lib/vs/base/common/event.d.ts +0 -248
  153. package/lib/vs/base/common/event.js +0 -703
  154. package/lib/vs/base/common/functional.d.ts +0 -1
  155. package/lib/vs/base/common/functional.js +0 -21
  156. package/lib/vs/base/common/iterator.d.ts +0 -16
  157. package/lib/vs/base/common/iterator.js +0 -82
  158. package/lib/vs/base/common/keyCodes.d.ts +0 -268
  159. package/lib/vs/base/common/keyCodes.js +0 -292
  160. package/lib/vs/base/common/lifecycle.d.ts +0 -67
  161. package/lib/vs/base/common/lifecycle.js +0 -234
  162. package/lib/vs/base/common/linkedList.d.ts +0 -16
  163. package/lib/vs/base/common/linkedList.js +0 -128
  164. package/lib/vs/base/common/network.d.ts +0 -65
  165. package/lib/vs/base/common/network.js +0 -124
  166. package/lib/vs/base/common/path.d.ts +0 -39
  167. package/lib/vs/base/common/path.js +0 -1407
  168. package/lib/vs/base/common/platform.d.ts +0 -53
  169. package/lib/vs/base/common/platform.js +0 -176
  170. package/lib/vs/base/common/process.d.ts +0 -5
  171. package/lib/vs/base/common/process.js +0 -18
  172. package/lib/vs/base/common/sequence.d.ts +0 -27
  173. package/lib/vs/base/common/sequence.js +0 -32
  174. package/lib/vs/base/common/uri.d.ts +0 -153
  175. package/lib/vs/base/common/uri.js +0 -612
@@ -14,20 +14,21 @@ const platform_1 = require("./common/platform");
14
14
  const color_1 = require("./common/color");
15
15
  const dom_1 = require("./common/dom");
16
16
  const menubar_1 = require("./menubar");
17
- const electron_1 = require("electron");
17
+ const remote = require("@electron/remote");
18
18
  const themebar_1 = require("./themebar");
19
19
  const INACTIVE_FOREGROUND_DARK = color_1.Color.fromHex('#222222');
20
20
  const ACTIVE_FOREGROUND_DARK = color_1.Color.fromHex('#333333');
21
21
  const INACTIVE_FOREGROUND = color_1.Color.fromHex('#EEEEEE');
22
22
  const ACTIVE_FOREGROUND = color_1.Color.fromHex('#FFFFFF');
23
+ const IS_MAC_BIGSUR_OR_LATER = platform_1.isMacintosh && parseInt(process.getSystemVersion().split(".")[0]) >= 11;
23
24
  const BOTTOM_TITLEBAR_HEIGHT = '60px';
24
- const TOP_TITLEBAR_HEIGHT_MAC = '22px';
25
+ const TOP_TITLEBAR_HEIGHT_MAC = IS_MAC_BIGSUR_OR_LATER ? '28px' : '22px';
25
26
  const TOP_TITLEBAR_HEIGHT_WIN = '30px';
26
27
  const defaultOptions = {
27
28
  backgroundColor: color_1.Color.fromHex('#444444'),
28
29
  iconsTheme: themebar_1.Themebar.win,
29
30
  shadow: false,
30
- menu: electron_1.remote.Menu.getApplicationMenu(),
31
+ menu: remote.Menu.getApplicationMenu(),
31
32
  minimizable: true,
32
33
  maximizable: true,
33
34
  closeable: true,
@@ -44,7 +45,7 @@ class Titlebar extends themebar_1.Themebar {
44
45
  this.menubar.blur();
45
46
  }
46
47
  };
47
- this.currentWindow = electron_1.remote.getCurrentWindow();
48
+ this.currentWindow = remote.getCurrentWindow();
48
49
  this._options = Object.assign(Object.assign({}, defaultOptions), options);
49
50
  this.registerListeners();
50
51
  this.createTitlebar();
@@ -75,7 +76,7 @@ class Titlebar extends themebar_1.Themebar {
75
76
  }
76
77
  createTitlebar() {
77
78
  // Content container
78
- this.container = dom_1.$('div.container-after-titlebar');
79
+ this.container = (0, dom_1.$)('div.container-after-titlebar');
79
80
  if (this._options.menuPosition === 'bottom') {
80
81
  this.container.style.top = BOTTOM_TITLEBAR_HEIGHT;
81
82
  this.container.style.bottom = '0px';
@@ -89,72 +90,77 @@ class Titlebar extends themebar_1.Themebar {
89
90
  this.container.style.position = 'absolute';
90
91
  this.container.style.overflow = this._options.overflow;
91
92
  while (document.body.firstChild) {
92
- dom_1.append(this.container, document.body.firstChild);
93
+ (0, dom_1.append)(this.container, document.body.firstChild);
93
94
  }
94
- dom_1.append(document.body, this.container);
95
+ (0, dom_1.append)(document.body, this.container);
95
96
  document.body.style.overflow = 'hidden';
96
97
  document.body.style.margin = '0';
97
98
  // Titlebar
98
- this.titlebar = dom_1.$('div.titlebar');
99
- dom_1.addClass(this.titlebar, platform_1.isWindows ? 'cet-windows' : platform_1.isLinux ? 'cet-linux' : 'cet-mac');
99
+ this.titlebar = (0, dom_1.$)('div.titlebar');
100
+ (0, dom_1.addClass)(this.titlebar, platform_1.isWindows ? 'cet-windows' : platform_1.isLinux ? 'cet-linux' : 'cet-mac');
100
101
  if (this._options.order) {
101
- dom_1.addClass(this.titlebar, this._options.order);
102
+ (0, dom_1.addClass)(this.titlebar, this._options.order);
102
103
  }
103
104
  if (this._options.shadow) {
104
105
  this.titlebar.style.boxShadow = `0 2px 1px -1px rgba(0, 0, 0, .2), 0 1px 1px 0 rgba(0, 0, 0, .14), 0 1px 3px 0 rgba(0, 0, 0, .12)`;
105
106
  }
106
- this.dragRegion = dom_1.append(this.titlebar, dom_1.$('div.titlebar-drag-region'));
107
+ this.dragRegion = (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.titlebar-drag-region'));
107
108
  // App Icon (Windows/Linux)
108
109
  if (!platform_1.isMacintosh && this._options.icon) {
109
- this.appIcon = dom_1.append(this.titlebar, dom_1.$('div.window-appicon'));
110
+ this.appIcon = (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.window-appicon'));
110
111
  this.updateIcon(this._options.icon);
111
112
  }
112
113
  // Menubar
113
- this.menubarContainer = dom_1.append(this.titlebar, dom_1.$('div.menubar'));
114
+ this.menubarContainer = (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.menubar'));
114
115
  this.menubarContainer.setAttribute('role', 'menubar');
115
116
  if (this._options.menu) {
116
117
  this.updateMenu(this._options.menu);
117
118
  this.updateMenuPosition(this._options.menuPosition);
118
119
  }
119
120
  // Title
120
- this.title = dom_1.append(this.titlebar, dom_1.$('div.window-title'));
121
+ this.title = (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.window-title'));
121
122
  if (!platform_1.isMacintosh) {
122
123
  this.title.style.cursor = 'default';
123
124
  }
125
+ if (IS_MAC_BIGSUR_OR_LATER) {
126
+ this.title.style.fontWeight = "600";
127
+ this.title.style.fontSize = "13px";
128
+ }
124
129
  this.updateTitle();
125
130
  this.setHorizontalAlignment(this._options.titleHorizontalAlignment);
126
131
  // Maximize/Restore on doubleclick
127
132
  if (platform_1.isMacintosh) {
128
133
  let isMaximized = this.currentWindow.isMaximized();
129
- this._register(dom_1.addDisposableListener(this.titlebar, dom_1.EventType.DBLCLICK, () => {
134
+ this._register((0, dom_1.addDisposableListener)(this.titlebar, dom_1.EventType.DBLCLICK, () => {
130
135
  isMaximized = !isMaximized;
131
136
  this.onDidChangeMaximized(isMaximized);
132
137
  }));
133
138
  }
134
139
  // Window Controls (Windows/Linux)
135
140
  if (!platform_1.isMacintosh) {
136
- this.windowControls = dom_1.append(this.titlebar, dom_1.$('div.window-controls-container'));
141
+ this.windowControls = (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.window-controls-container'));
137
142
  // Minimize
138
- const minimizeIconContainer = dom_1.append(this.windowControls, dom_1.$('div.window-icon-bg'));
139
- const minimizeIcon = dom_1.append(minimizeIconContainer, dom_1.$('div.window-icon'));
140
- dom_1.addClass(minimizeIcon, 'window-minimize');
143
+ const minimizeIconContainer = (0, dom_1.append)(this.windowControls, (0, dom_1.$)('div.window-icon-bg'));
144
+ minimizeIconContainer.title = "Minimize";
145
+ const minimizeIcon = (0, dom_1.append)(minimizeIconContainer, (0, dom_1.$)('div.window-icon'));
146
+ (0, dom_1.addClass)(minimizeIcon, 'window-minimize');
141
147
  if (!this._options.minimizable) {
142
- dom_1.addClass(minimizeIconContainer, 'inactive');
148
+ (0, dom_1.addClass)(minimizeIconContainer, 'inactive');
143
149
  }
144
150
  else {
145
- this._register(dom_1.addDisposableListener(minimizeIcon, dom_1.EventType.CLICK, e => {
151
+ this._register((0, dom_1.addDisposableListener)(minimizeIcon, dom_1.EventType.CLICK, e => {
146
152
  this.currentWindow.minimize();
147
153
  }));
148
154
  }
149
155
  // Restore
150
- const restoreIconContainer = dom_1.append(this.windowControls, dom_1.$('div.window-icon-bg'));
151
- this.maxRestoreControl = dom_1.append(restoreIconContainer, dom_1.$('div.window-icon'));
152
- dom_1.addClass(this.maxRestoreControl, 'window-max-restore');
156
+ const restoreIconContainer = (0, dom_1.append)(this.windowControls, (0, dom_1.$)('div.window-icon-bg'));
157
+ this.maxRestoreControl = (0, dom_1.append)(restoreIconContainer, (0, dom_1.$)('div.window-icon'));
158
+ (0, dom_1.addClass)(this.maxRestoreControl, 'window-max-restore');
153
159
  if (!this._options.maximizable) {
154
- dom_1.addClass(restoreIconContainer, 'inactive');
160
+ (0, dom_1.addClass)(restoreIconContainer, 'inactive');
155
161
  }
156
162
  else {
157
- this._register(dom_1.addDisposableListener(this.maxRestoreControl, dom_1.EventType.CLICK, e => {
163
+ this._register((0, dom_1.addDisposableListener)(this.maxRestoreControl, dom_1.EventType.CLICK, e => {
158
164
  if (this.currentWindow.isMaximized()) {
159
165
  this.currentWindow.unmaximize();
160
166
  this.onDidChangeMaximized(false);
@@ -166,15 +172,16 @@ class Titlebar extends themebar_1.Themebar {
166
172
  }));
167
173
  }
168
174
  // Close
169
- const closeIconContainer = dom_1.append(this.windowControls, dom_1.$('div.window-icon-bg'));
170
- dom_1.addClass(closeIconContainer, 'window-close-bg');
171
- const closeIcon = dom_1.append(closeIconContainer, dom_1.$('div.window-icon'));
172
- dom_1.addClass(closeIcon, 'window-close');
175
+ const closeIconContainer = (0, dom_1.append)(this.windowControls, (0, dom_1.$)('div.window-icon-bg'));
176
+ closeIconContainer.title = "Close";
177
+ (0, dom_1.addClass)(closeIconContainer, 'window-close-bg');
178
+ const closeIcon = (0, dom_1.append)(closeIconContainer, (0, dom_1.$)('div.window-icon'));
179
+ (0, dom_1.addClass)(closeIcon, 'window-close');
173
180
  if (!this._options.closeable) {
174
- dom_1.addClass(closeIconContainer, 'inactive');
181
+ (0, dom_1.addClass)(closeIconContainer, 'inactive');
175
182
  }
176
183
  else {
177
- this._register(dom_1.addDisposableListener(closeIcon, dom_1.EventType.CLICK, e => {
184
+ this._register((0, dom_1.addDisposableListener)(closeIcon, dom_1.EventType.CLICK, e => {
178
185
  if (this._options.hideWhenClickingClose) {
179
186
  this.currentWindow.hide();
180
187
  }
@@ -185,12 +192,12 @@ class Titlebar extends themebar_1.Themebar {
185
192
  }
186
193
  // Resizer
187
194
  this.resizer = {
188
- top: dom_1.append(this.titlebar, dom_1.$('div.resizer.top')),
189
- left: dom_1.append(this.titlebar, dom_1.$('div.resizer.left'))
195
+ top: (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.resizer.top')),
196
+ left: (0, dom_1.append)(this.titlebar, (0, dom_1.$)('div.resizer.left'))
190
197
  };
191
198
  this.onDidChangeMaximized(this.currentWindow.isMaximized());
192
199
  }
193
- dom_1.prepend(document.body, this.titlebar);
200
+ (0, dom_1.prepend)(document.body, this.titlebar);
194
201
  }
195
202
  onBlur() {
196
203
  this.isInactive = true;
@@ -205,29 +212,29 @@ class Titlebar extends themebar_1.Themebar {
205
212
  // Hide title when toggling menu bar
206
213
  if (visible) {
207
214
  // Hack to fix issue #52522 with layered webkit-app-region elements appearing under cursor
208
- dom_1.hide(this.dragRegion);
209
- setTimeout(() => dom_1.show(this.dragRegion), 50);
215
+ (0, dom_1.hide)(this.dragRegion);
216
+ setTimeout(() => (0, dom_1.show)(this.dragRegion), 50);
210
217
  }
211
218
  }
212
219
  }
213
220
  onMenubarFocusChanged(focused) {
214
221
  if (platform_1.isWindows || platform_1.isLinux) {
215
222
  if (focused) {
216
- dom_1.hide(this.dragRegion);
223
+ (0, dom_1.hide)(this.dragRegion);
217
224
  }
218
225
  else {
219
- dom_1.show(this.dragRegion);
226
+ (0, dom_1.show)(this.dragRegion);
220
227
  }
221
228
  }
222
229
  }
223
230
  onDidChangeWindowFocus(hasFocus) {
224
231
  if (this.titlebar) {
225
232
  if (hasFocus) {
226
- dom_1.removeClass(this.titlebar, 'inactive');
233
+ (0, dom_1.removeClass)(this.titlebar, 'inactive');
227
234
  this.onFocus();
228
235
  }
229
236
  else {
230
- dom_1.addClass(this.titlebar, 'inactive');
237
+ (0, dom_1.addClass)(this.titlebar, 'inactive');
231
238
  this.closeMenu();
232
239
  this.onBlur();
233
240
  }
@@ -236,40 +243,42 @@ class Titlebar extends themebar_1.Themebar {
236
243
  onDidChangeMaximized(maximized) {
237
244
  if (this.maxRestoreControl) {
238
245
  if (maximized) {
239
- dom_1.removeClass(this.maxRestoreControl, 'window-maximize');
240
- dom_1.addClass(this.maxRestoreControl, 'window-unmaximize');
246
+ (0, dom_1.removeClass)(this.maxRestoreControl, 'window-maximize');
247
+ this.maxRestoreControl.title = "Restore Down";
248
+ (0, dom_1.addClass)(this.maxRestoreControl, 'window-unmaximize');
241
249
  }
242
250
  else {
243
- dom_1.removeClass(this.maxRestoreControl, 'window-unmaximize');
244
- dom_1.addClass(this.maxRestoreControl, 'window-maximize');
251
+ (0, dom_1.removeClass)(this.maxRestoreControl, 'window-unmaximize');
252
+ this.maxRestoreControl.title = "Maximize";
253
+ (0, dom_1.addClass)(this.maxRestoreControl, 'window-maximize');
245
254
  }
246
255
  }
247
256
  if (this.resizer) {
248
257
  if (maximized) {
249
- dom_1.hide(this.resizer.top, this.resizer.left);
258
+ (0, dom_1.hide)(this.resizer.top, this.resizer.left);
250
259
  }
251
260
  else {
252
- dom_1.show(this.resizer.top, this.resizer.left);
261
+ (0, dom_1.show)(this.resizer.top, this.resizer.left);
253
262
  }
254
263
  }
255
264
  }
256
265
  onDidChangeFullscreen(fullscreen) {
257
266
  if (!platform_1.isMacintosh) {
258
267
  if (fullscreen) {
259
- dom_1.hide(this.appIcon, this.title, this.windowControls);
268
+ (0, dom_1.hide)(this.appIcon, this.title, this.windowControls);
260
269
  }
261
270
  else {
262
- dom_1.show(this.appIcon, this.title, this.windowControls);
271
+ (0, dom_1.show)(this.appIcon, this.title, this.windowControls);
263
272
  }
264
273
  }
265
274
  }
266
275
  updateStyles() {
267
276
  if (this.titlebar) {
268
277
  if (this.isInactive) {
269
- dom_1.addClass(this.titlebar, 'inactive');
278
+ (0, dom_1.addClass)(this.titlebar, 'inactive');
270
279
  }
271
280
  else {
272
- dom_1.removeClass(this.titlebar, 'inactive');
281
+ (0, dom_1.removeClass)(this.titlebar, 'inactive');
273
282
  }
274
283
  const titleBackground = this.isInactive && this._options.unfocusEffect
275
284
  ? this._options.backgroundColor.lighten(.45)
@@ -277,13 +286,13 @@ class Titlebar extends themebar_1.Themebar {
277
286
  this.titlebar.style.backgroundColor = titleBackground.toString();
278
287
  let titleForeground;
279
288
  if (titleBackground.isLighter()) {
280
- dom_1.addClass(this.titlebar, 'light');
289
+ (0, dom_1.addClass)(this.titlebar, 'light');
281
290
  titleForeground = this.isInactive && this._options.unfocusEffect
282
291
  ? INACTIVE_FOREGROUND_DARK
283
292
  : ACTIVE_FOREGROUND_DARK;
284
293
  }
285
294
  else {
286
- dom_1.removeClass(this.titlebar, 'light');
295
+ (0, dom_1.removeClass)(this.titlebar, 'light');
287
296
  titleForeground = this.isInactive && this._options.unfocusEffect
288
297
  ? INACTIVE_FOREGROUND
289
298
  : ACTIVE_FOREGROUND;
@@ -367,6 +376,9 @@ class Titlebar extends themebar_1.Themebar {
367
376
  if (!platform_1.isMacintosh) {
368
377
  if (this.menubar) {
369
378
  this.menubar.dispose();
379
+ if (!menu) {
380
+ return;
381
+ }
370
382
  this._options.menu = menu;
371
383
  }
372
384
  this.menubar = new menubar_1.Menubar(this.menubarContainer, this._options, this.closeMenu);
@@ -376,7 +388,7 @@ class Titlebar extends themebar_1.Themebar {
376
388
  this.updateStyles();
377
389
  }
378
390
  else {
379
- electron_1.remote.Menu.setApplicationMenu(menu);
391
+ remote.Menu.setApplicationMenu(menu);
380
392
  }
381
393
  }
382
394
  /**
@@ -395,10 +407,10 @@ class Titlebar extends themebar_1.Themebar {
395
407
  }
396
408
  this.titlebar.style.webkitFlexWrap = this._options.menuPosition && this._options.menuPosition === 'bottom' ? 'wrap' : null;
397
409
  if (this._options.menuPosition === 'bottom') {
398
- dom_1.addClass(this.menubarContainer, 'bottom');
410
+ (0, dom_1.addClass)(this.menubarContainer, 'bottom');
399
411
  }
400
412
  else {
401
- dom_1.removeClass(this.menubarContainer, 'bottom');
413
+ (0, dom_1.removeClass)(this.menubarContainer, 'bottom');
402
414
  }
403
415
  }
404
416
  /**
@@ -428,13 +440,14 @@ class Titlebar extends themebar_1.Themebar {
428
440
  dispose() {
429
441
  if (this.menubar)
430
442
  this.menubar.dispose();
431
- dom_1.removeNode(this.titlebar);
443
+ (0, dom_1.removeNode)(this.titlebar);
432
444
  while (this.container.firstChild) {
433
- dom_1.append(document.body, this.container.firstChild);
445
+ (0, dom_1.append)(document.body, this.container.firstChild);
434
446
  }
435
- dom_1.removeNode(this.container);
447
+ (0, dom_1.removeNode)(this.container);
436
448
  this.removeListeners();
437
449
  super.dispose();
438
450
  }
439
451
  }
440
452
  exports.Titlebar = Titlebar;
453
+ //# sourceMappingURL=titlebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"titlebar.js","sourceRoot":"","sources":["../src/titlebar.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "custom-electron-titlebar",
3
- "version": "3.2.5",
3
+ "version": "3.2.9",
4
4
  "description": "Custom Electron Titlebar is a library for electron that allows you to configure a fully customizable title bar.",
5
- "main": "lib/index.js",
6
- "types": "lib/index.d.ts",
5
+ "main": "build/index.js",
6
+ "types": "build/index.d.ts",
7
7
  "scripts": {
8
8
  "build": "tsc",
9
9
  "dev": "electron example/main.js",
@@ -29,11 +29,17 @@
29
29
  "homepage": "https://github.com/AlexTorresSk/custom-electron-titlebar#readme",
30
30
  "directories": {
31
31
  "example": "example",
32
- "lib": "lib"
32
+ "build": "build"
33
+ },
34
+ "peerDependencies": {
35
+ "electron": "^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0"
36
+ },
37
+ "dependencies": {
38
+ "@electron/remote": "^1.1.0",
39
+ "@types/node": "^17.0.0"
33
40
  },
34
- "dependencies": {},
35
41
  "devDependencies": {
36
- "electron": "^10.1.3",
37
- "typescript": "^4.0.3"
42
+ "electron": "^10.4.0",
43
+ "typescript": "^4.2.3"
38
44
  }
39
45
  }
@@ -1,25 +0,0 @@
1
- import { Event } from '../common/event';
2
- import { IDisposable } from '../common/lifecycle';
3
- /** A zoom index, e.g. 1, 2, 3 */
4
- export declare function setZoomLevel(zoomLevel: number, isTrusted: boolean): void;
5
- export declare function getZoomLevel(): number;
6
- /** Returns the time (in ms) since the zoom level was changed */
7
- export declare function getTimeSinceLastZoomLevelChanged(): number;
8
- export declare function onDidChangeZoomLevel(callback: (zoomLevel: number) => void): IDisposable;
9
- /** The zoom scale for an index, e.g. 1, 1.2, 1.4 */
10
- export declare function getZoomFactor(): number;
11
- export declare function setZoomFactor(zoomFactor: number): void;
12
- export declare function getPixelRatio(): number;
13
- export declare function setFullscreen(fullscreen: boolean): void;
14
- export declare function isFullscreen(): boolean;
15
- export declare const onDidChangeFullscreen: Event<void>;
16
- export declare const isEdge: boolean;
17
- export declare const isOpera: boolean;
18
- export declare const isFirefox: boolean;
19
- export declare const isWebKit: boolean;
20
- export declare const isChrome: boolean;
21
- export declare const isSafari: boolean;
22
- export declare const isWebkitWebView: boolean;
23
- export declare const isIPad: boolean;
24
- export declare const isEdgeWebView: boolean;
25
- export declare const isStandalone: boolean;
@@ -1,117 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.isStandalone = exports.isEdgeWebView = exports.isIPad = exports.isWebkitWebView = exports.isSafari = exports.isChrome = exports.isWebKit = exports.isFirefox = exports.isOpera = exports.isEdge = exports.onDidChangeFullscreen = exports.isFullscreen = exports.setFullscreen = exports.getPixelRatio = exports.setZoomFactor = exports.getZoomFactor = exports.onDidChangeZoomLevel = exports.getTimeSinceLastZoomLevelChanged = exports.getZoomLevel = exports.setZoomLevel = void 0;
8
- const event_1 = require("../common/event");
9
- class WindowManager {
10
- constructor() {
11
- // --- Zoom Level
12
- this._zoomLevel = 0;
13
- this._lastZoomLevelChangeTime = 0;
14
- this._onDidChangeZoomLevel = new event_1.Emitter();
15
- this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event;
16
- // --- Zoom Factor
17
- this._zoomFactor = 1;
18
- // --- Fullscreen
19
- this._fullscreen = false;
20
- this._onDidChangeFullscreen = new event_1.Emitter();
21
- this.onDidChangeFullscreen = this._onDidChangeFullscreen.event;
22
- }
23
- getZoomLevel() {
24
- return this._zoomLevel;
25
- }
26
- getTimeSinceLastZoomLevelChanged() {
27
- return Date.now() - this._lastZoomLevelChangeTime;
28
- }
29
- setZoomLevel(zoomLevel, isTrusted) {
30
- if (this._zoomLevel === zoomLevel) {
31
- return;
32
- }
33
- this._zoomLevel = zoomLevel;
34
- // See https://github.com/Microsoft/vscode/issues/26151
35
- this._lastZoomLevelChangeTime = isTrusted ? 0 : Date.now();
36
- this._onDidChangeZoomLevel.fire(this._zoomLevel);
37
- }
38
- getZoomFactor() {
39
- return this._zoomFactor;
40
- }
41
- setZoomFactor(zoomFactor) {
42
- this._zoomFactor = zoomFactor;
43
- }
44
- // --- Pixel Ratio
45
- getPixelRatio() {
46
- let ctx = document.createElement('canvas').getContext('2d');
47
- let dpr = window.devicePixelRatio || 1;
48
- let bsr = ctx.webkitBackingStorePixelRatio ||
49
- ctx.mozBackingStorePixelRatio ||
50
- ctx.msBackingStorePixelRatio ||
51
- ctx.oBackingStorePixelRatio ||
52
- ctx.backingStorePixelRatio || 1;
53
- return dpr / bsr;
54
- }
55
- setFullscreen(fullscreen) {
56
- if (this._fullscreen === fullscreen) {
57
- return;
58
- }
59
- this._fullscreen = fullscreen;
60
- this._onDidChangeFullscreen.fire();
61
- }
62
- isFullscreen() {
63
- return this._fullscreen;
64
- }
65
- }
66
- WindowManager.INSTANCE = new WindowManager();
67
- /** A zoom index, e.g. 1, 2, 3 */
68
- function setZoomLevel(zoomLevel, isTrusted) {
69
- WindowManager.INSTANCE.setZoomLevel(zoomLevel, isTrusted);
70
- }
71
- exports.setZoomLevel = setZoomLevel;
72
- function getZoomLevel() {
73
- return WindowManager.INSTANCE.getZoomLevel();
74
- }
75
- exports.getZoomLevel = getZoomLevel;
76
- /** Returns the time (in ms) since the zoom level was changed */
77
- function getTimeSinceLastZoomLevelChanged() {
78
- return WindowManager.INSTANCE.getTimeSinceLastZoomLevelChanged();
79
- }
80
- exports.getTimeSinceLastZoomLevelChanged = getTimeSinceLastZoomLevelChanged;
81
- function onDidChangeZoomLevel(callback) {
82
- return WindowManager.INSTANCE.onDidChangeZoomLevel(callback);
83
- }
84
- exports.onDidChangeZoomLevel = onDidChangeZoomLevel;
85
- /** The zoom scale for an index, e.g. 1, 1.2, 1.4 */
86
- function getZoomFactor() {
87
- return WindowManager.INSTANCE.getZoomFactor();
88
- }
89
- exports.getZoomFactor = getZoomFactor;
90
- function setZoomFactor(zoomFactor) {
91
- WindowManager.INSTANCE.setZoomFactor(zoomFactor);
92
- }
93
- exports.setZoomFactor = setZoomFactor;
94
- function getPixelRatio() {
95
- return WindowManager.INSTANCE.getPixelRatio();
96
- }
97
- exports.getPixelRatio = getPixelRatio;
98
- function setFullscreen(fullscreen) {
99
- WindowManager.INSTANCE.setFullscreen(fullscreen);
100
- }
101
- exports.setFullscreen = setFullscreen;
102
- function isFullscreen() {
103
- return WindowManager.INSTANCE.isFullscreen();
104
- }
105
- exports.isFullscreen = isFullscreen;
106
- exports.onDidChangeFullscreen = WindowManager.INSTANCE.onDidChangeFullscreen;
107
- const userAgent = navigator.userAgent;
108
- exports.isEdge = (userAgent.indexOf('Edge/') >= 0);
109
- exports.isOpera = (userAgent.indexOf('Opera') >= 0);
110
- exports.isFirefox = (userAgent.indexOf('Firefox') >= 0);
111
- exports.isWebKit = (userAgent.indexOf('AppleWebKit') >= 0);
112
- exports.isChrome = (userAgent.indexOf('Chrome') >= 0);
113
- exports.isSafari = (!exports.isChrome && (userAgent.indexOf('Safari') >= 0));
114
- exports.isWebkitWebView = (!exports.isChrome && !exports.isSafari && exports.isWebKit);
115
- exports.isIPad = (userAgent.indexOf('iPad') >= 0 || (exports.isSafari && navigator.maxTouchPoints > 0));
116
- exports.isEdgeWebView = exports.isEdge && (userAgent.indexOf('WebView/') >= 0);
117
- exports.isStandalone = (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches);
@@ -1,18 +0,0 @@
1
- export declare const enum KeyboardSupport {
2
- Always = 0,
3
- FullScreen = 1,
4
- None = 2
5
- }
6
- /**
7
- * Browser feature we can support in current platform, browser and environment.
8
- */
9
- export declare const BrowserFeatures: {
10
- clipboard: {
11
- writeText: boolean;
12
- readText: boolean;
13
- richText: boolean;
14
- };
15
- keyboard: KeyboardSupport;
16
- touch: boolean;
17
- pointerEvents: boolean;
18
- };
@@ -1,63 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.BrowserFeatures = void 0;
27
- const browser = __importStar(require("./browser"));
28
- const platform = __importStar(require("../common/platform"));
29
- /**
30
- * Browser feature we can support in current platform, browser and environment.
31
- */
32
- exports.BrowserFeatures = {
33
- clipboard: {
34
- writeText: (platform.isNative
35
- || (document.queryCommandSupported && document.queryCommandSupported('copy'))
36
- || !!(navigator && navigator.clipboard && navigator.clipboard.writeText)),
37
- readText: (platform.isNative
38
- || !!(navigator && navigator.clipboard && navigator.clipboard.readText)),
39
- richText: (() => {
40
- if (browser.isEdge) {
41
- let index = navigator.userAgent.indexOf('Edge/');
42
- let version = parseInt(navigator.userAgent.substring(index + 5, navigator.userAgent.indexOf('.', index)), 10);
43
- if (!version || (version >= 12 && version <= 16)) {
44
- return false;
45
- }
46
- }
47
- return true;
48
- })()
49
- },
50
- keyboard: (() => {
51
- if (platform.isNative || browser.isStandalone) {
52
- return 0 /* Always */;
53
- }
54
- if (navigator.keyboard || browser.isSafari) {
55
- return 1 /* FullScreen */;
56
- }
57
- return 2 /* None */;
58
- })(),
59
- // 'ontouchstart' in window always evaluates to true with typescript's modern typings. This causes `window` to be
60
- // `never` later in `window.navigator`. That's why we need the explicit `window as Window` cast
61
- touch: 'ontouchstart' in window || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0,
62
- pointerEvents: window.PointerEvent && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0 || navigator.maxTouchPoints > 0 || window.navigator.msMaxTouchPoints > 0)
63
- };