kingkont 0.4.0 → 0.5.0
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.
- package/main.js +31 -10
- package/package.json +1 -1
package/main.js
CHANGED
|
@@ -185,8 +185,30 @@ function buildMenu() {
|
|
|
185
185
|
const sendToRenderer = (channel) => {
|
|
186
186
|
if (win && !win.isDestroyed()) win.webContents.send(channel);
|
|
187
187
|
};
|
|
188
|
+
// На macOS первый пункт menubar строится явно — чтобы:
|
|
189
|
+
// 1) показать «KingKont» (а не «Electron» из бандла, если кэш macOS
|
|
190
|
+
// не подхватил CFBundleName);
|
|
191
|
+
// 2) положить «Настройки…» сюда (стандартное место Preferences для macOS),
|
|
192
|
+
// убрав его из «Файл».
|
|
193
|
+
const appMenu = isMac ? [{
|
|
194
|
+
label: 'KingKont',
|
|
195
|
+
submenu: [
|
|
196
|
+
{ label: 'О программе KingKont', role: 'about' },
|
|
197
|
+
{ type: 'separator' },
|
|
198
|
+
{ label: 'Настройки…', accelerator: 'Cmd+,', click: () => sendToRenderer('menu:open-settings') },
|
|
199
|
+
{ type: 'separator' },
|
|
200
|
+
{ role: 'services' },
|
|
201
|
+
{ type: 'separator' },
|
|
202
|
+
{ label: 'Скрыть KingKont', accelerator: 'Cmd+H', role: 'hide' },
|
|
203
|
+
{ role: 'hideOthers' },
|
|
204
|
+
{ role: 'unhide' },
|
|
205
|
+
{ type: 'separator' },
|
|
206
|
+
{ label: 'Завершить KingKont', accelerator: 'Cmd+Q', role: 'quit' },
|
|
207
|
+
],
|
|
208
|
+
}] : [];
|
|
209
|
+
|
|
188
210
|
const template = [
|
|
189
|
-
...
|
|
211
|
+
...appMenu,
|
|
190
212
|
{
|
|
191
213
|
label: 'Файл',
|
|
192
214
|
submenu: [
|
|
@@ -209,21 +231,20 @@ function buildMenu() {
|
|
|
209
231
|
click: () => trigger('#newLocation'),
|
|
210
232
|
},
|
|
211
233
|
{ type: 'separator' },
|
|
212
|
-
{
|
|
213
|
-
label: 'Настройки…',
|
|
214
|
-
accelerator: 'CmdOrCtrl+,',
|
|
215
|
-
click: () => sendToRenderer('menu:open-settings'),
|
|
216
|
-
},
|
|
217
|
-
{ type: 'separator' },
|
|
218
234
|
{
|
|
219
235
|
label: 'Закрыть',
|
|
220
236
|
accelerator: 'CmdOrCtrl+W',
|
|
221
237
|
// Cmd+W: если проект открыт → закрывает проект (renderer решает),
|
|
222
|
-
// если проект уже закрыт → закрывает
|
|
223
|
-
// остаётся в Dock; на Windows/Linux окно — последнее, app.quit).
|
|
238
|
+
// если проект уже закрыт → закрывает окно.
|
|
224
239
|
click: () => sendToRenderer('menu:close-window-or-project'),
|
|
225
240
|
},
|
|
226
|
-
|
|
241
|
+
// На Windows/Linux нужен явный «Настройки» и «Quit», т.к. App-меню нет.
|
|
242
|
+
...(isMac ? [] : [
|
|
243
|
+
{ type: 'separator' },
|
|
244
|
+
{ label: 'Настройки…', accelerator: 'CmdOrCtrl+,', click: () => sendToRenderer('menu:open-settings') },
|
|
245
|
+
{ type: 'separator' },
|
|
246
|
+
{ role: 'quit' },
|
|
247
|
+
]),
|
|
227
248
|
],
|
|
228
249
|
},
|
|
229
250
|
{
|