Adding a System Tray Icon to an NW.js Desktop App
Learn how to add a system tray icon to an NW.js desktop app using the nw.Tray API, with a complete example, cross‑platform notes, and cleanup tips.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how to add a system tray icon to an NW.js desktop app using the nw.Tray API, with a complete example, cross‑platform notes, and cleanup tips.
Step‑by‑step guide to create a frameless, draggable NW.js window with custom title‑bar controls, including manifest setup, HTML/CSS/JS, native‑module rebuild, verification and rollback.
Learn how to use NW.js to merge Node.js and Chromium contexts, allowing direct system access from the DOM without IPC overhead.
Learn how to securely implement nodeIntegration in NW.js by isolating trusted local content from untrusted remote data using preload scripts and CSP.
Learn how to choose between Mixed and Separate contexts in NW.js to balance native OS access with application security and stability.
NW.js lets DOM JavaScript call Node directly — but whether those worlds share one context is the decision that determines your app's security posture. Here's how to structure around it.
Goal: Configure the NW.js DevTools remote debugging interface so that it listens only on the localhost loopback address (127.0.0.1) to prevent unintended network exposure. Constraint: By default, when DevTools are enabled the builder binds the debugging listener to all interfaces (0.0.0.0) and the NW.js manifest or command‑line interface does not expose a bu
Node-Remote Whitelist Behavior in Production Builds When an NW.js app is run in development mode, any loaded page—including those from remote URLs—has automatic access to Node.js APIs. However, after packaging the application, the default sandbox prevents Node.js integration for remote content unless the page’s origin is explicitly listed in the node-remote
Context Since NW.js 0.46.0, the Notification API respects the OS focus-assist / do-not-disturb settings, and the {silent: true} option suppresses the sound and banner while still delivering the message to the Windows Action Center or macOS Notification Center. I am migrating an app from a pre-0.46 release, where the silent flag appears to have been ignored o