Electron 2.0 DocumentationElectron (formerly known as Atom Shell) is an open-source framework created and maintained by GitHub. It allows for the development of desktop GUI applications using front and back end components originally developed for web applications: Node.js runtime for the backend and Chromium for the frontend. Electron is the main GUI framework behind several notable open-source projects including GitHub's Atom and Microsoft's Visual Studio Code source code editors, the Tidal mus
ic streaming service desktop application and the Light Table IDE, in addition to the freeware desktop client for the Discord chat service.Table of ContentAbout ElectronAccessibilityElectron Application ArchitectureApplication DebuggingApplication DistributionApplication PackagingAutomated Testing with a Custom DriverBoilerplates and CLIsCode SigningDebugging the Main ProcessDebugging the Main Process in VSCodeDesktop Environment IntegrationDeveloper EnvironmentDevTools ExtensionElectron VersioningWriting Your First Electron AppIn-App Purchase (macOS)InstallationKeyboard ShortcutsCustom Linux Desktop Launcher ActionsMac App Store Submission GuideMacOS DockMultithreadingNative File Drag & DropNotifications (Windows, Linux, macOS)Offscreen RenderingOnline/Offline Event DetectionProgress Bar in Taskbar (Windows, macOS, Unity)Quick StartRecent Documents (Windows & macOS)REPLRepresented File for macOS BrowserWindowsSecurity, Native Capabilities, and Your ResponsibilitySnapcraft Guide (Ubuntu Software Center & More)Electron SupportTesting on Headless CI Systems (Travis CI, Jenkins)Updating ApplicationsUsing Native Node ModulesUsing Pepper Flash PluginUsing Selenium and WebDriverUsing Widevine CDM PluginWindows Store GuideWindows TaskbarFrequently asked questionsAcceleratorappautoUpdaterBrowserViewBrowserWindowBrowserWindowProxySupported Chrome Command Line SwitchesClientRequestclipboardcontentTracingCookiescrashReporterDebuggerdesktopCapturerdialogDownloadItemEnvironment VariablesFile ObjectFrameless WindowglobalShortcutinAppPurchaseIncomingMessageipcMainipcRendererLocalesMenuMenuItemnativeImagenetNotificationpowerMonitorpowerSaveBlockerprocessprotocolremotesandbox OptionscreensessionshellSynopsissystemPreferencesTouchBarTouchBarButtonTouchBarColorPickerTouchBarGroupTouchBarLabelTouchBarPopoverTouchBarScrubberTouchBarSegmentedControlTouchBarSliderTouchBarSpacerTraywebContentswebFrameWebRequest Tagwindow.open FunctionTechnical Differences Between Electron and NW.js (formerly node-webkit)Build Instructions (experimental GN build)Build Instructions (Linux)Build Instructions (macOS)Build Instructions (Windows)Build System OverviewChromium DevelopmentUsing clang-format on C++ CodeCoding StyleDebugging on WindowsDebugging on macOSDebugging with XCodeIssues In ElectronPull RequestsReleasingSetting Up Symbol Server in DebuggerSource Code Directory StructureTestingUpgrading ChromiumUpgrading CrashpadUpgrading NodeV8 Development
... moreless ...