# WebviewJS ## Docs - [Application — WebviewJS Root Object and Event Loop](https://webview.js.org/api/application.md): Application owns the native event loop, all windows, tray icons, and menus. Reference for lifecycle, factory methods, and application events. - [BrowserWindow — Native OS Window Management API](https://webview.js.org/api/browser-window.md): BrowserWindow wraps a native OS window. Control size, position, visibility, decorations, cursors, progress bars, file dialogs, and menus. - [Menu API — Native Menu Bars, Roles, and Shortcuts](https://webview.js.org/api/menu.md): Build native menu bars with submenus, shortcuts, and predefined roles. Set app-level or per-window menus and handle clicks in Node.js. - [Notification API — Desktop Notifications for Node.js](https://webview.js.org/api/notification.md): Show native desktop notifications from your Node.js desktop app. Supports action buttons, images, persistence, and a browser-compatible EventEmitter API. - [TrayIcon API — System Tray Icons, Menus, and Events](https://webview.js.org/api/tray.md): Create and manage a native system tray icon with menus, tooltips, and click events. Supports runtime icon updates and per-platform configuration. - [Types Reference — Interfaces, Enums, and Event Payloads](https://webview.js.org/api/types.md): Complete reference for shared TypeScript interfaces, enums, and event payload types used across the WebviewJS API: Dimensions, Monitor, CursorType. - [WebContext — Shared Browser Data Profiles](https://webview.js.org/api/web-context.md): Use WebContext to share cookies, cache, and storage across webviews, or isolate browser data in separate persistent profiles per user or session. - [Webview — Embedded Browser View Control API](https://webview.js.org/api/webview.md): Control the embedded browser view: load URLs or HTML, run scripts, handle IPC, manage cookies, use DevTools, and expose Node.js functions to the page. - [WebviewJS Event Loop: Non-Blocking GUI Pump Explained](https://webview.js.org/event-loop.md): Learn how WebviewJS integrates with Node's event loop using non-blocking event pumping, and how to control pump frequency, readiness, and shutdown. - [Build a Standalone Desktop Executable with WebviewJS](https://webview.js.org/guides/building-executables.md): Use the WebviewJS CLI to package your app as a self-contained binary with Node SEA, Deno compile, or Bun compile. No runtime needed on the target machine. - [Read and Write Cookies and Storage in a WebviewJS App](https://webview.js.org/guides/cookies-and-storage.md): Read, write, and delete cookies from a WebviewJS webview. Use incognito mode for ephemeral sessions or WebContext to isolate browser data across windows. - [Custom URL Protocol Handlers for Local File Serving](https://webview.js.org/guides/custom-protocols.md): Register custom URL schemes like app:// to serve local assets, route requests, and build offline-capable desktop apps without running an HTTP server. - [WebviewJS IPC: Send Messages Between Page and Node](https://webview.js.org/guides/ipc-messaging.md): Send messages from your web page to Node.js using window.ipc.postMessage, and call Node functions directly from the page using webview.expose(). - [Native Application Menus for Your WebviewJS Desktop App](https://webview.js.org/guides/menus.md): Create native menu bars with keyboard accelerators, predefined roles, and per-window menus. Handle menu clicks with custom-menu-click events. - [Opening and Managing Multiple Windows in WebviewJS](https://webview.js.org/guides/multiple-windows.md): Open, track, and manage multiple BrowserWindows in a single application. Learn show/hide lifecycle, child popup windows, and cross-window event handling. - [Desktop Notifications](https://webview.js.org/guides/notification.md): Learn how to display native desktop notifications, handle user interactions, and create actionable notifications in your Node.js desktop application. - [System Tray Guide](https://webview.js.org/guides/tray.md): Learn how to keep your application running in the system tray, create context menus, and respond to tray events. - [Installing WebviewJS: Node.js, Deno, and Bun Setup](https://webview.js.org/installation.md): Install @webviewjs/webview via npm, configure platform prerequisites, and verify your setup. Covers Windows, macOS, and Linux requirements. - [WebviewJS: Cross-Platform Native Webview for Node.js](https://webview.js.org/introduction.md): WebviewJS is a Rust-powered native webview library for Node.js, Deno, and Bun. Build desktop apps with real OS windows, menus, tray icons, and IPC. - [WebviewJS on Linux: WebKitGTK, Wayland and X11 Support](https://webview.js.org/platforms/linux.md): Install WebviewJS on Linux with WebKitGTK. Covers apt, dnf, and pacman setup, X11 and Wayland support, and known Linux-specific limitations. - [WebviewJS on macOS: WebKit, Titlebar and Native Tab APIs](https://webview.js.org/platforms/macos.md): Platform-specific notes for WebviewJS on macOS, including WebKit version, titlebar customization, native tabs, shadow control, and threading requirements. - [WebviewJS on Windows: WebView2, Taskbar and Win32 APIs](https://webview.js.org/platforms/windows.md): Platform-specific setup, WebView2 requirements, and Windows-only BrowserWindow APIs including HWND access, taskbar icons, and window class names. - [WebviewJS Quickstart: Build Your First Desktop Window](https://webview.js.org/quickstart.md): Create your first native desktop window with WebviewJS. Load a URL or inline HTML, handle window events, and use IPC in under 30 lines.