awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
max-mapper avatar

max-mapper/menubar

0
View on GitHub↗

Menubar

Menubar is a TypeScript library for building menu bar and taskbar desktop applications on top of Electron. Given a single HTML page or web address, it creates a tray icon and an attached popup window, then handles showing, hiding, and positioning that window next to the icon. The same code runs on macOS, Windows, and most Linux distributions.

The library wraps Electron's tray and browser window objects behind one higher-level object, configured through a single options object that merges with defaults. The popup can open on click or right-click and hides automatically when it loses focus unless it is pinned always on top. The window can also be created ahead of time in a hidden state, which makes the first click respond faster at the cost of extra memory. After startup, the returned object exposes the underlying app, window, tray, and positioner instances, along with methods to show, hide, and change options.

Customization covers the tray icon image (including high-resolution variants), tooltip, dock icon visibility, window size and position, and whether the window appears when the host app is activated. Content can be loaded from a local file or a remote address, with loading options passed through to the page loader. Named lifecycle events fire when the tray is ready and when the window is created, about to load, shown, hidden, closed, or loses focus. Examples cover animating the tray icon and attaching a native context menu.

Type definitions ship with the compiled library, giving autocomplete and compile-time checks in TypeScript projects.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Menubar App Frameworks - Builds menu bar and taskbar desktop apps on Electron by wiring a tray icon to a popup window opened from the menu bar.
  • Menubar Application Frameworks - Builds menu bar and taskbar desktop apps from a single HTML page, handling tray icon, window creation, and show or hide behavior.
  • Electron Framework Extensions - Provides a high-level Electron library that turns a single HTML page or web address into a tray icon with an attached popup window.
  • Electron Desktop Applications - Builds small Electron desktop apps that live in the system tray and open a web-based popup window from the menu bar or taskbar.
  • System Tray Managers - Creates, positions, shows, and hides an Electron browser window anchored to a tray icon, with lifecycle events for custom logic.
  • Cross-Platform Desktop Development - Produces tray applications that run on macOS, Windows, and most Linux distributions from one shared codebase using Electron.
  • Lifecycle Event Hooks - Emits named events when the tray is ready and when the window is created, about to load, shown, hidden, closed, or loses focus.
  • Window Orchestration - Automatically places the app window next to the tray icon so it appears anchored to the menu bar or taskbar.
  • Tray Popup Windows - Creates a tray icon and attached popup window from just an HTML file or web address, handling the boilerplate.
  • System Tray Icons - Wraps tray icon setup and its attached window so an app appears in the menu bar from one HTML entry page.
  • Window Visibility Triggers - Opens the window on click or right-click, hides it on focus loss unless pinned on top, and supports preloading.
  • Cross-Platform Desktop Applications - Produces menu bar and taskbar applications from web technologies that run on macOS, Windows, and most Linux distributions from one codebase.
  • Programmatic Application Controllers - Exposes the underlying app, window, tray, and positioner objects plus methods to show, hide, and change options after startup.
  • Application Tray Integration - Initializes a tray application from an existing desktop app instance with optional settings for the tray icon and attached window.
  • Window Preloading - Creates the browser window in advance in a hidden state so the first tray click responds faster, trading memory for speed.
  • Cross-Platform Support - Run the same tray application on macOS, Windows, and most Linux distributions with a very small footprint and minimal dependencies.
  • Options Objects - Takes a single options object merged with defaults to control icon, tooltip, window size, and show or hide behavior.
  • Window Preloading - Creates the browser window in advance in a hidden state so the first click responds faster, trading extra memory.
  • Window Visibility Controllers - Shows or hides the window on click, right-click, or focus loss, with an option to keep it always on top.
  • Window Positioning Control - Places the window relative to the tray icon or at explicit coordinates, with control over width, height, and workspace visibility.
  • Window Lifecycle Monitors - Emits named events when the tray is ready and when the window is created, about to load, shown, hidden, closed, or loses focus.
  • Window Appearance Controllers - Configures window size, position, icon, tooltip, dock visibility, and workspace display, with high-resolution icon variants picked up automatically.
  • Focus-Loss Auto-Hiding - Hides the popup window automatically when it loses focus unless it is pinned always on top.
  • System Tray Customizations - Allows tuning of the menu bar icon image, high-resolution variants, tooltip, dock visibility, and popup size and position near the tray.
  • Tray-Anchored Popup Windows - Computes popup window coordinates from the tray icon bounds so it appears directly beneath or beside the menu bar icon.
  • Preloaded Popup Windows - Creates the popup window in advance in a hidden state so the first click on the tray icon responds quickly, trading memory for speed.
  • Programmatic Window Controls - Exposes app, window, tray, and positioner instances plus methods to show, hide, and change options after creation.
  • Tray and Window Wrappers - Wraps Electron's tray and browser window objects in the main process behind one higher-level object.
  • Icon Behavior Configurations - Lets developers configure tray icon, tooltip, window size and position, dock visibility, and click or right-click opening behavior.
  • Window Behavior Controls - Exposes methods to show, hide, and reposition the tray window after startup, plus access to the underlying app, tray, and window objects.
  • Event Emitters - Exposes tray and window lifecycle stages as named events that application code can subscribe to with callbacks.
6,781 stars·363 forks·TypeScript·BSD-2-Clause·0 views

Star history

Star history chart for max-mapper/menubarStar history chart for max-mapper/menubar

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Menubar

These projects share indexed features with Menubar. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • blackboardsh/electrobunblackboardsh avatar

    blackboardsh/electrobun

    5,534View on GitHub↗

    Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop apps. It provides a TypeScript-based runtime and a native system webview to create interfaces that integrate embedded browser views with host-process logic. The project features a native GPU integration layer with direct FFI bindings, allowing for high-performance GPU surfaces and compute workloads to run within a desktop application. It also includes an inter-process communication bridge using a typed RPC system to exchange data and execute functions between the native backend

    C++
    View on GitHub↗5,534
  • asticode/go-astilectronasticode avatar

    asticode/go-astilectron

    4,874View on GitHub↗

    go-astilectron is a cross-platform GUI framework and binding that enables the creation of desktop software by combining a compiled Go backend with an Electron frontend. It functions as an inter-process communication bridge, utilizing an asynchronous messaging system to exchange JSON events and synchronize state between the Go process and the JavaScript user interface. The project provides a native desktop API wrapper to orchestrate system-level features from the backend. This includes the ability to manage browser windows, construct native application menus, and control system tray icons and

    Gocross-platformdesktop-appelectron
    View on GitHub↗4,874
  • maxogden/menubarmaxogden avatar

    maxogden/menubar

    6,780View on GitHub↗

    This is a framework for building desktop applications that reside in the system tray using Electron. It functions as a system tray integration library and window manager, providing the necessary components to handle native tray icons, tooltips, and the associated window lifecycles for menubar applications. The framework coordinates native system tray interactions with web-based user interfaces. It maps application commands to the operating system's native menu system and orchestrates the visibility and positioning of child windows relative to tray icon click events. The project covers native

    TypeScript
    View on GitHub↗6,780
  • getlantern/systraygetlantern avatar

    getlantern/systray

    3,727View on GitHub↗

    systray is a Go library used to create and manage icons and menus within the operating system notification area. It functions as a cross-platform GUI library that provides a persistent application entry point and a notification area menu manager. The library enables the creation of hierarchical menus and custom tray icons across different desktop operating systems. It supports the use of nested submenus and allows for the styling of individual menu entries with custom images. The toolset covers a range of interaction capabilities, including the management of menu item states through checked

    Go
    View on GitHub↗3,727
Compare all 30 related projects→

Frequently asked questions

What does max-mapper/menubar do?

Menubar is a TypeScript library for building menu bar and taskbar desktop applications on top of Electron. Given a single HTML page or web address, it creates a tray icon and an attached popup window, then handles showing, hiding, and positioning that window next to the icon. The same code runs on macOS, Windows, and most Linux distributions.

What are the main features of max-mapper/menubar?

The main features of max-mapper/menubar are: Menubar App Frameworks, Menubar Application Frameworks, Electron Framework Extensions, Electron Desktop Applications, System Tray Managers, Cross-Platform Desktop Development, Lifecycle Event Hooks, Window Orchestration.

Which projects share features with max-mapper/menubar?

Projects with overlapping indexed features include: blackboardsh/electrobun — Electrobun is a desktop application framework and webview-based GUI toolkit used for building cross-platform desktop… asticode/go-astilectron — go-astilectron is a cross-platform GUI framework and binding that enables the creation of desktop software by… maxogden/menubar — This is a framework for building desktop applications that reside in the system tray using Electron. It functions as a… getlantern/systray — systray is a Go library used to create and manage icons and menus within the operating system notification area. It… home-sweet-gnome/dash-to-panel — This project is a GNOME Shell extension that provides a unified taskbar by combining the application dash and system… physiix/topsi-project-manager — Topsi is a desktop application designed for project management and task tracking. It provides a visual interface for…