Jendela & menu
Memisahkan ukuran/opsi jendela utama dan struktur menu klik kanan dari logika panjang di main.js. Format CommonJS (module.exports); electron/main.js memuat dengan require() dari path yang sama.
Electron · Express · NexaJS
Integrasi dengan main.js
- Mode terpaket: shell dibaca sekali saat bootstrap; nilai layout disimpan di memori; builder menu tetap dari modul yang sama.
-
Development: sebelum
require, cache modul untukelectronShell.jsdihapus (delete require.cache[...]) agar edit berkas langsung terasa:-
buildContextMenuTemplate— dipakai lagi pada setiap pembukaan menu konteks. -
mainWindowLayout— dipakai saatcreateWindow(jendela baru); perubahan ukuran/minimal tidak mengubah jendela yang sudah terbuka kecuali jendela baru atau restart app.
-
mainWindowLayout
Objek dinormalisasi di main.js lalu sebagian besar kunci disalurkan ke
new BrowserWindow({ ... }) (properti ContextMenu disingkirkan
dulu — hanya untuk switch menu).
Nilai default umum: resizable: true, maximizable: true, ContextMenu: true.
| Properti | Keterangan |
|---|---|
width, height |
Ukuran awal jendela. |
minWidth, minHeight |
Batas minimum resize. |
maxWidth, maxHeight, x, y, center, title |
Opsional; diteruskan jika diset. |
resizable, minimizable, maximizable, … |
Perilaku jendela (boolean/opsi Electron). |
ContextMenu |
true: pasang menu konteks kustom. false: peristiwa
context-menu dicegah — tidak ada menu Chromium bawaan dan tidak ada
menu kustom.
|
Jika suatu kunci tidak ada di electronShell.js, main.js mengisi dari default internal.
buildContextMenuTemplate(ctx)
Mengembalikan array template untuk Menu.buildFromTemplate. Parameter
ctx disiapkan oleh main.js:
Properti di ctx |
Peran |
|---|---|
getMainWindow |
Mengembalikan BrowserWindow utama. |
isDev |
Menambahkan item DevTools / Inspect jika dev (app tidak terpaket atau
NODE_ENV=development atau ELECTRON_DEV=1).
|
clearCacheAndNotify |
Dipanggil item Bersihkan Cache. |
showAboutDialog |
Dialog Tentang dari package.json. |
contextMenuParams |
Parameter event konteks (untuk inspectElement). |
Menu bawaan (ringkas): Refresh → (dev: DevTools, Inspect) → Bersihkan Cache → Layar
Penuh → item halaman (context-menu-clicked dengan role) →
Setting (zoom) → Jendela → Bantuan → Tentang.