1. Home
  2. /
  3. Electron
  4. /
  5. Tray Example

Tray Example - Electron Typing CST Test

Loading…

Tray Example — Electron Code

Shows how to create a system tray icon with a context menu.

// main.js
const { app, BrowserWindow, Tray, Menu } = require('electron');
let tray;
function createWindow() {
	const win = new BrowserWindow({ width: 400, height: 300 });
	win.loadFile('index.html');
	tray = new Tray('icon.png');
	const contextMenu = Menu.buildFromTemplate([{ label: 'Quit', role: 'quit' }]);
	tray.setToolTip('Tray Example');
	tray.setContextMenu(contextMenu);
}
app.whenReady().then(createWindow);

Electron Language Guide

Electron is an open-source framework for building cross-platform desktop applications using web technologies (HTML, CSS, JS) with Node.js integration and Chromium-based rendering. It allows developers to create desktop apps for Windows, macOS, and Linux with a single codebase.

Primary Use Cases

  • ▸Cross-platform desktop apps for Windows, macOS, and Linux
  • ▸Rapid development using web technologies
  • ▸Internal enterprise tools
  • ▸Consumer desktop apps (Slack, VS Code, Discord)
  • ▸Apps requiring integration with Node.js modules

Notable Features

  • ▸Cross-platform support with a single codebase
  • ▸Full access to Node.js APIs
  • ▸Chromium-based rendering for web-like UI
  • ▸Automatic updates via electron-updater
  • ▸Extensive ecosystem of plugins and libraries

Origin & Creator

Created by GitHub in 2013 (originally as Atom Shell) to power the Atom text editor, Electron has grown into a popular framework for desktop apps.

Industrial Note

Best suited for cross-platform desktop apps where rapid development with web technologies is prioritized over binary size or raw performance.

More Electron Typing Exercises

Electron Simple Todo AppElectron Notification ExampleElectron IPC Communication ExampleElectron Menu ExampleElectron Dialog ExampleElectron Local Storage ExampleElectron Context Menu ExampleElectron System Info ExampleElectron Dark Mode Toggle Example

Practice Other Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypher