NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #872 most downloaded on pub.dev
This plugin allows Flutter desktop apps to define a system tray icon.
Last release 19 days ago
19 Sep 2026
Ships fairly regularly
a new release about every 2 months
Nearly every release is documented
notes for 25 of 26 stable releases
2 versions withdrawn
withdrawn after publishing
5 years old
28 releases · first in 2021
One column per quarter.
Existing apps change one import. It is a bridge: everything in it is @Deprecated and will be removed in a later release. The README lists the behaviou…
tray_manager is now built on nativeapi: the
per-platform plugin code is gone, and one C++ core drives macOS, Windows and Linux.
package:tray_manager/tray_manager.dart exports the native API —TrayIcon, Menu, MenuItem, Image and their events. Several tray icons at once,contextMenuTrigger, menu item icons, radio groups andpackage:tray_manager/legacy.dart: trayManager,TrayListener, and a Menu / MenuItem pair with the menu_base shape (menu_base@Deprecated and will be removed in a later release. The READMEsetToolTip works. Tray icon clickslibayatana-appindicator3-dev.png icons work as well as .ico.MenuItem.label, toolTip, checked and disabled of the legacy API update theonClick runs once per click, with or without aTrayListener. A native checkbox item is not toggled by a click.package:flutter/widgets.dart alone; the full one is nativeapi'sChange one import and existing code keeps working: package:tray_manager/legacy.dart carries the 0.5.x API (trayManager, TrayListener, and a Menu / MenuItem pair with the menu_base shape, without depending on menu_base). Everything in it is deprecated and goes away in a later release; the README maps each old call to its native counterpart.
On Linux, one behaviour differs and will not come back: tray icon clicks are not reported — the panel keeps them and opens the menu itself.
📦 https://pub.dev/packages/tray_manager/versions/0.7.0
Full Changelog: v0.5.3...v0.7.0
libayatana-appindicator3-dev — nativeapi 0.3.0
stopped requiring and linking it. GTK 3, X11 and Xi development files are enough.Correct the 0.6.0 notes: tray icon clicks are not reported on Linux — the panel keeps them and opens the menu itself, as it did in 0.5.x.
Documentation only.
app_links known issue, which no longer applies (tray and menu
messages no longer go through Flutter's window message delegates); say what a Linux
desktop needs to show the icon; list the calls that stopped throwing
MissingPluginException per platform; note that a native checkbox item is not toggled
by a click; fix the table of contents; remove the visits badge.Existing apps change one import. It is a bridge: everything in it is @Deprecated and will be removed in a later release. The README lists the behaviou…
tray_manager is now built on nativeapi: the per-platform plugin code is gone, and one C++ core drives macOS, Windows and Linux.
package:tray_manager/tray_manager.dart exports the native API —
TrayIcon, Menu, MenuItem, Image and their events. Several tray icons at once,
double-click events, contextMenuTrigger, menu item icons, radio groups and
accelerators come with it.package:tray_manager/legacy.dart: trayManager,
TrayListener, and a Menu / MenuItem pair with the menu_base shape (menu_base
itself is no longer a dependency). Existing apps change one import. It is a bridge:
everything in it is @Deprecated and will be removed in a later release. The README
lists the behaviour differences and maps each old call to the native API.setToolTip works. Tray icon clicks
are still not reported there. Builds need GTK 3, X11 and Xi development files and, until the next nativeapi
release drops a leftover requirement, still libayatana-appindicator3-dev..png icons work as well as .ico.MenuItem.label, toolTip, checked and disabled of the legacy API update the
visible menu when assigned; onClick runs once per click, with or without a
TrayListener.package:flutter/widgets.dart alone; the full one is nativeapi's
tray_icon_example.feat(macos): add Swift Package Manager support
fix(windows): tray icon disappears after explorer restart #85
Fix: Resolved a memory leak when setting the icon multiple times on windows by @jovica-me in #76
Full Changelog: v0.5.0...v0.5.1
docs: add "path" to use Git package correctly by @pzhlkj6612 in #72
Full Changelog: v0.4.0...v0.5.0
fix: resolve memory leak issue when update menu on macOS by @anserme in #66
refactor: ✏️ Rename TrayIconPositon to TrayIconPosition by @harimasora in #62
Full Changelog: v0.3.1...v0.3.2
support setting the iconSize on macOS by @alkebuware in #60
Full Changelog: v0.3.0...v0.3.1
Gives Option in popUpContextMenu() to Foreground App or Not by @EthanBarlow in #58
Full Changelog: v0.2.4...v0.3.0
bringAppToFront param to popUpContextMenu method (#58)Add notes to the code comments of setToolTip by @MegatronKing in #54
Full Changelog: v0.2.3...v0.2.4
fix(macos): Fix app will crash when closing the tray. #44
fix(linux): ensure icon works in sandboxed environments #43
[linux] Fix libayatana set icon deprecation
[macos] Implemented setIconPosition method.
setIconPosition method. (#25)Nothing published for this version
[windows] getBounds method returns null when not initialized
[macos] Optimize tray icon click event response
[macos] Implemented setTitle method.
setTitle method.setTitle method. #15[macos] Fixed onTrayIconMouseDown not triggered
[macos] Fix the problem that the tray highlight state is incorrect #4 #10
[windows] Implemented setToolTip Method.
setToolTip Method.[macos] Add isTemplate parameter to setIcon method
isTemplate parameter to setIcon method* [linux] Remove dependency
<uuid/uuid.h> dependency* Support sub menu.
Implemented setContextMenu Method.
destroy Method.setIcon Method.setContextMenu Method.popUpContextMenu Method.getBounds Method.* Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →