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.
Files changed (2) hide show
  1. package/main.js +31 -10
  2. 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
- ...(isMac ? [{ role: 'appMenu' }] : []),
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
- // если проект уже закрыт → закрывает окно (на macOS приложение
223
- // остаётся в Dock; на Windows/Linux окно — последнее, app.quit).
238
+ // если проект уже закрыт → закрывает окно.
224
239
  click: () => sendToRenderer('menu:close-window-or-project'),
225
240
  },
226
- ...(isMac ? [] : [{ type: 'separator' }, { role: 'quit' }]),
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
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kingkont",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "KingKont · Chatium — нод-редактор сцен с AI-генерацией (картинки/видео/голос/SFX/музыка/текст)",
5
5
  "main": "main.js",
6
6
  "bin": {