| Accessibility |
setAccessibilitySupportEnabled, assistive tech, AXManualAccessibility |
develop-accessibility |
| App Lifecycle |
whenReady, window-all-closed, quit, single instance lock |
develop-app-lifecycle |
| BaseWindow |
Multi-view windows; contentView, View, addChildView; parent/modal |
develop-base-window |
| BrowserWindow |
Creating windows, loadURL/loadFile, ready-to-show, webPreferences |
develop-browser-window |
| Clipboard |
readText/writeText, readHTML/writeHTML; use from preload |
develop-clipboard |
| Cookies |
session.cookies; get, set, remove, flushStore; changed event |
develop-cookies |
| Command Line |
app.commandLine, appendSwitch, hasSwitch; Electron/Node/Chromium flags |
develop-command-line |
| Context Menu |
Right-click menu; webContents context-menu, Menu.popup |
develop-context-menu |
| contentTracing |
Chromium tracing; startRecording, stopRecording; chrome://tracing |
develop-content-tracing |
| Crash Reporter |
crashReporter.start, submitURL, extra; call before ready |
develop-crash-reporter |
| Debug |
Renderer DevTools, main process (--inspect, Chrome/VSCode) |
develop-debug |
| Debugger (CDP) |
webContents.debugger; attach, detach, sendCommand; DevTools Protocol |
develop-debugger |
| DevTools Extension |
loadExtension, removeExtension; electron-devtools-installer |
develop-devtools-extension |
| Dialog |
showOpenDialog, showSaveDialog, showMessageBox; expose via IPC |
develop-dialog |
| Dock |
macOS Dock; bounce, badge, icon, menu, hide/show |
develop-dock |
| Downloads |
will-download, DownloadItem, setSavePath, preventDefault |
develop-downloads |
| Keyboard Shortcuts |
Accelerators, local (MenuItem), global (globalShortcut) |
develop-keyboard-shortcuts |
| Linux Desktop Actions |
.desktop file Actions; launcher shortcuts; process.argv |
develop-linux-desktop-actions |
| Menus and Tray |
Application/context/tray/dock menus; Tray icon and context menu |
develop-menus-tray |
| Native Image |
createFromPath, createFromBuffer, template image; tray, icon |
develop-native-image |
| Native Modules |
Using native Node addons; @electron/rebuild, node-gyp |
develop-native-modules |
| Net |
net.fetch, net.request; HTTP from main (Chromium stack) |
develop-net |
| netLog |
Session network logging; startLogging, stopLogging, captureMode |
develop-net-log |
| Drag and Drop |
Native file drag out; webContents.startDrag, IPC |
develop-drag-drop |
| ESM |
ES modules in main and preload; .mjs, caveats |
develop-esm |
| Multithreading |
Web Workers, nodeIntegrationInWorker; no Electron in workers |
develop-multithreading |
| Navigation History |
webContents.navigationHistory, goBack, goForward, getAllEntries |
develop-navigation-history |
| Offscreen Rendering |
paint event, NativeImage; GPU vs software; setFrameRate |
develop-offscreen-rendering |
| parentPort |
Utility process child; process.parentPort message/postMessage |
develop-parent-port |
| Power Monitor |
suspend, resume, battery/AC, thermal-state-change, shutdown |
develop-power-monitor |
| Power Save Blocker |
powerSaveBlocker; prevent display/app sleep; start/stop by id |
develop-power-save-blocker |
| Progress Bar |
setProgressBar (taskbar/dock); 0–1, indeterminate |
develop-progress-bar |
| Protocol |
Custom protocol (protocol.handle), registerSchemesAsPrivileged |
develop-protocol |
| Recent Documents |
addRecentDocument, clearRecentDocuments; JumpList, Dock |
develop-recent-documents |
| Safe Storage |
encryptString, decryptString; OS keychain |
develop-safe-storage |
| Screen |
getPrimaryDisplay, getAllDisplays, workAreaSize, display events |
develop-screen |
| Session |
partition, defaultSession, permissionRequestHandler, cookies |
develop-session |
| Share Menu |
macOS ShareMenu; share to apps/social; popup, shareMenu role |
develop-share-menu |
| Shell |
openExternal, openPath, showItemInFolder, trashItem; security |
develop-shell |
| Process |
process.type, process.versions, process.platform, process.mas |
develop-process |
| Environment Variables |
ELECTRON_*, NODE_OPTIONS; fuses |
develop-environment-variables |
| Represented File |
setRepresentedFilename, setDocumentEdited (macOS title bar) |
develop-represented-file |
| System Preferences |
getEffectiveAppearance, getColor, getMediaAccessStatus |
develop-system-preferences |
| Touch Bar |
macOS TouchBar; items (Button, Label, Slider, etc.), setTouchBar |
develop-touch-bar |
| Tests |
WebDriver/WebdriverIO E2E, headless CI |
develop-tests |
| Utility Process |
utilityProcess.fork, postMessage, MessagePortMain |
develop-utility-process |
| Web Request |
onBeforeRequest, onHeadersReceived, filter; set CSP |
develop-web-request |
| webContents Navigation |
will-navigate, setWindowOpenHandler, load events |
develop-webcontents-navigation |
| webFrame |
Renderer zoom, insertCSS, executeJavaScript, spell check, frame tree |
develop-web-frame |
| webFrameMain |
Main process frame control; fromId/fromFrameToken, executeJavaScript, IPC |
develop-web-frame-main |
| webUtils |
Renderer getPathForFile(File); file input path; expose via preload |
develop-web-utils |
| Window Customization |
Frameless, transparent, custom title bar |
develop-window-customization |
| Windows Taskbar |
JumpList, setThumbarButtons, setOverlayIcon, flashFrame |
develop-windows-taskbar |