finds.dev← search

// the find

max-mapper/menubar

★ 6,777 · TypeScript · BSD-2-Clause · updated Oct 2025

➖ high level way to create menubar desktop applications with electron

Menubar is a thin Electron wrapper that handles the boilerplate for system-tray/menubar apps — the tray icon, window positioning, show/hide on click, and cross-platform quirks. If you want to ship a small utility that lives in the menu bar without writing 200 lines of Electron glue code yourself, this is the obvious starting point.

The dependency footprint is genuinely minimal — one runtime dep (electron-positioner) and Electron as a peer, 3.6kB gzipped. The event emitter design is the right call: `before-load`, `after-create-window`, etc. let you hook into lifecycle moments without subclassing or monkey-patching. Cross-platform support is honest about its limits (WORKING_PLATFORMS.md exists, which is more than most projects do). The compatibility table pinning menubar versions to Electron versions is practical and saves real debugging time.

Window positioning on multi-monitor setups is delegated entirely to electron-positioner, which has known edge cases on Windows with mixed DPI displays — you will hit this and there is no fallback. The API is a flat options bag with no schema validation; pass a typo like `browserWidow` and it silently does nothing. No TypeScript generics or typed events — the `on('ready', callback)` signatures are untyped in the public API. Last meaningful architectural change appears to be years old; it works but won't get ahead of Electron deprecations proactively, so you're on watch duty for breakage after each Electron major.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →