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

Native Desktop Menu and Tray

Ranking updated Jun 30, 2026

For a native menu and tray library for desktop apps, the first results are maxogden/menubar (Menubar is a library for building Electron applications that live in the system tray, providing native menu integration and tray icon management — it fits your cross-platform tray and menu need, though it assumes an Electron host), asticode/go-astilectron and getlantern/systray (getlantern/systray is a cross-platform Go library that provides the exact core demand: placing a native menu and icon in the system tray notification area, with event-driven callbacks for menu interactions — squarely matching the search for a cross-platform tray and menu library). zidoro/pomatez and lencx/chatgpt round out the shortlist. Compare the match explanations and check the project documentation against your requirements.

Cross-platform libraries for implementing system tray icons and native application menus in desktop software.

Native Desktop Menu and Tray

Find the best repos with AI.We'll search the best matching repositories with AI.
  • 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

    Menubar is a library for building Electron applications that live in the system tray, providing native menu integration and tray icon management — it fits your cross-platform tray and menu need, though it assumes an Electron host.

    TypeScriptNative Menu ManagementSystem Tray IntegrationsSystem Tray Utilities
    View on GitHub↗6,780
  • 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

    go-astilectron is a Go library that provides cross-platform APIs for constructing native menus and controlling system tray icons through an Electron bridge, directly matching the request for a cross-platform desktop tray and menu library with event-driven callbacks and desktop framework integration.

    GoSystem Tray IconsSystem Tray Wrappers
    View on GitHub↗4,874
  • getlantern/systraygetlantern avatar

    getlantern/systray

    3,707View 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

    getlantern/systray is a cross-platform Go library that provides the exact core demand: placing a native menu and icon in the system tray (notification area), with event-driven callbacks for menu interactions — squarely matching the search for a cross-platform tray and menu library.

    GoSystem Tray IntegrationsSystem Tray Icons
    View on GitHub↗3,707
  • zidoro/pomatezzidoro avatar

    zidoro/pomatez

    4,853View on GitHub↗

    Pomatez is a desktop focus tool and Pomodoro timer application designed to track work intervals and scheduled breaks. It integrates a task management list for creating and checking off items during focused work sessions. The application enforces strict focus through timer control restrictions and full-screen overlays that block desktop access during mandatory break periods. It provides continuous progress monitoring via a system tray timer and indicator, allowing session tracking without opening the main window. The software manages time through customizable work and break cycles, including

    Pomatez is a Pomodoro timer desktop application that uses a system tray icon and menu, but it is not a library providing APIs for building native menus and tray icons in other applications — it is a finished product, not the reusable component you are looking for.

    TypeScriptSystem Tray IntegrationsSystem Tray Utilities
    View on GitHub↗4,853
  • lencx/chatgptlencx avatar

    lencx/ChatGPT

    54,388View on GitHub↗

    This project is a cross-platform desktop application that wraps web-based interfaces into a standalone, native container. By utilizing a webview-based rendering engine, it allows users to access web services as local applications on Windows, macOS, and Linux without requiring a full browser installation. The application is built on a memory-safe backend that manages system-level tasks and facilitates secure communication between the web frontend and the native operating system. This architecture enables features such as system-tray integration for background execution and quick access, provid

    This project is a ChatGPT desktop application that uses system-tray integration, but it is not a library that provides APIs for building native menus and tray icons—the visitor wants a reusable library, not a specific app.

    RustCross-PlatformSystem Tray Integrations
    View on GitHub↗54,388
  • google/flutter-desktop-embeddinggoogle avatar

    google/flutter-desktop-embedding

    7,056View on GitHub↗

    This project is a desktop embedding layer that serves as a bridge between the Flutter engine and the native windowing systems of desktop operating systems. It functions as a Flutter desktop plugin and a native menu bar manager to facilitate the development of cross-platform desktop applications. The system focuses on desktop application integration and native operating system menu management. It provides the tools necessary to create and manage application menus within the native system menu bar for desktop platforms.

    This Flutter desktop embedding plugin provides native menu management but does not cover system tray icons, so it addresses only part of the cross-platform tray and menu library you're looking for.

    C++Native Menu Management
    View on GitHub↗7,056
  • splode/pomotroidSplode avatar

    Splode/pomotroid

    5,273View on GitHub↗

    Pomotroid is a cross-platform desktop Pomodoro timer application designed for managing work and break intervals. It functions as a focus manager and productivity statistics tracker that utilizes a high-precision timer engine to organize focus sessions. The application distinguishes itself by operating as a WebSocket timer broadcaster, featuring a local server that streams timer state and lifecycle events to external automation scripts and stream overlays. It also includes a productivity trend analysis system that logs completed rounds to a local database to generate daily summaries, weekly st

    Pomotroid is a cross-platform desktop Pomodoro timer application that itself uses system tray icons and menus, but it is not a library that exposes APIs for other applications to create native menus and tray icons — it is a finished app, not the reusable building block you are seeking.

    RustSystem Tray IntegrationsSystem Tray Wrappers
    View on GitHub↗5,273
  • linuxmint/cinnamonlinuxmint avatar

    linuxmint/cinnamon

    5,301View on GitHub↗

    Cinnamon is a desktop environment interface for Linux operating systems. It provides a visual layout and user interface for managing windows and applications, focusing on desktop workflow management. The project enables Linux GUI customization, allowing the look and feel of the environment to be modified. It includes a window management system to handle the placement and behavior of application windows within the workspace. The environment utilizes a JavaScript-based shell and a modular applet architecture for extensibility, while using CSS for component styling. The interface is built with

    Cinnamon is a full desktop environment for Linux, not a cross-platform library you embed in your own applications to create native menus and system trays.

    JavaScriptGTK Toolkits
    View on GitHub↗5,301
  • marktext/marktextmarktext avatar

    marktext/marktext

    57,443View on GitHub↗

    Marktext is a cross-platform desktop application designed for markdown document authoring and structured note-taking. It functions as a WYSIWYG text processor, providing a distraction-free interface that renders formatted content in real-time while hiding the underlying markup syntax. The application utilizes a multi-process architecture that separates system integration from the user interface, ensuring consistent performance across Windows, macOS, and Linux. By employing a custom editor core built on native browser capabilities and a structured syntax tree, it manages complex document eleme

    Marktext is a markdown editor desktop application, not a library that provides APIs for building native menus and system tray icons, so it does not match the request for a cross-platform desktop tray and menu library.

    TypeScriptCross-Platform
    View on GitHub↗57,443
  • alexays/waybarAlexays avatar

    Alexays/Waybar

    10,686View on GitHub↗

    Waybar is a modular status bar for Wayland compositors that provides a configuration-driven interface for system monitoring and desktop management. It functions as a shell component that integrates directly with Wayland protocols to track window manager states, manage system tray icons, and display real-time hardware, network, and power metrics. The project distinguishes itself through a highly flexible architecture that allows for independent or synchronized interface bars across multiple monitors, each with unique layout and styling rules. Users can extend the bar's functionality by creatin

    Waybar is a Wayland status bar with system tray display, not a cross-platform library providing APIs for adding native menus or tray icons to arbitrary desktop applications—it's a shell component, not a toolkit for app developers.

    C++System Tray IntegrationsSystem Tray Icons
    View on GitHub↗10,686
  • gitsquared/edex-uiGitSquared avatar

    GitSquared/edex-ui

    44,271View on GitHub↗

    This project is a cross-platform desktop application that functions as a graphical shell replacement. Built using web technologies, it provides a unified workspace that integrates a terminal emulator with real-time system monitoring tools, allowing users to interact with their operating system through a touch-friendly, native-like interface. The application distinguishes itself through a highly customizable layout engine that uses external configuration files to arrange interface components. It features a distinct visual aesthetic and wraps standard terminal emulation within a graphical conta

    Edex-UI is a desktop shell and terminal emulator application, not a library for programmatically creating native menus and system tray icons — it uses them internally rather than exposing them as APIs for other projects.

    JavaScriptDesktop Runtimes
    View on GitHub↗44,271
  • xanderfrangos/twinkle-trayxanderfrangos avatar

    xanderfrangos/twinkle-tray

    7,961View on GitHub↗

    Twinkle Tray is a Windows display manager and DDC/CI monitor control utility designed to manage hardware settings across internal and external displays. It functions as a system tray application that allows for the adjustment of brightness, contrast, and volume on multiple monitors. The project provides multi-display brightness normalization to balance backlight levels across different hardware profiles for a consistent visual experience. It also includes an automatic brightness scheduler that modifies luminosity based on the time of day or system idle states. Beyond the user interface, the

    Twinkle Tray is a Windows-specific monitor control utility that itself lives in the system tray, not a cross-platform library that provides APIs for building native menus and tray icons into other desktop applications.

    JavaScriptSystem Tray Integrations
    View on GitHub↗7,961
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
maxogden/menubar6.8KTypeScriptBSD-2-ClauseOct 10, 2025
asticode/go-astilectron4.9KGoMITFeb 16, 2024
getlantern/systray3.7KGoApache-2.0Jul 3, 2024
zidoro/pomatez4.9KTypeScriptMITMay 19, 2026
lencx/chatgpt54.4KRust—Aug 29, 2024
google/flutter-desktop-embedding7.1KC++Apache-2.0Apr 3, 2024
splode/pomotroid5.3KRustMITJun 16, 2026
linuxmint/cinnamon5.3KJavaScriptgpl-2.0Feb 22, 2026
marktext/marktext57.4KTypeScriptMITJun 16, 2026
alexays/waybar10.7KC++mitFeb 19, 2026

Related searches

  • a menu bar organizer for macOS
  • a cross-platform framework for desktop applications
  • a cross-platform GUI framework for Rust desktop apps
  • an auto-update toolkit for Electron applications
  • a framework for building cross-platform desktop apps
  • Desktop apps
  • a tiling window manager for desktop workflows
  • a desktop client for running local LLMs