tray_manager is now built on nativeapi: the per-platform plugin code is gone, and one C++ core drives macOS, Windows and Linux.
- Breaking:
package:tray_manager/tray_manager.dartexports the native API —TrayIcon,Menu,MenuItem,Imageand their events. Several tray icons at once, double-click events,contextMenuTrigger, menu item icons, radio groups and accelerators come with it. - The 0.5.x API moved to
package:tray_manager/legacy.dart:trayManager,TrayListener, and aMenu/MenuItempair with themenu_baseshape (menu_baseitself is no longer a dependency). Existing apps change one import. It is a bridge: everything in it is@Deprecatedand will be removed in a later release. The README lists the behaviour differences and maps each old call to the native API. - Breaking: requires Flutter 3.47 / Dart 3.13 and macOS 10.15, and depends on nativeapi ^0.3.0. CI builds and the publish workflow pin Flutter 3.47.5.
- Linux: the tray icon is a StatusNotifierItem, and
setToolTipworks. Tray icon clicks are not reported there — the panel keeps them and opens the menu itself, as it did in 0.5.x. Builds need GTK 3, X11 and Xi development files;libayatana-appindicator3-devis not one of them (nativeapi 0.3.0 stopped requiring and linking it). - Windows:
.pngicons work as well as.ico. MenuItem.label,toolTip,checkedanddisabledof the legacy API update the visible menu when assigned;onClickruns once per click, with or without aTrayListener. A native checkbox item is not toggled by a click.- New example on
package:flutter/widgets.dartalone; the full one is nativeapi's tray_icon_example.
- feat(macos): add Swift Package Manager support
- chore: replace mostly_reasonable_lints with flutter_lints
- ci: align workflows with screen_retriever
- fix(windows): tray icon disappears after explorer restart #85
- Prevent plugin to be reregistered when spawning subwindow (#80)
- Fix the sandbox check to also work for docker/podman containers (#78)
- Fix: Resolved a memory leak when setting the icon multiple times on windows (#76)
- feat(windows): restore icon and context menu when Explorer restarts if necessary #71
- fix: resolve memory leak issue when update menu on macOS (#66)
- [macos] Support setting the icon size on macOS. (#60)
- chore: Add
bringAppToFrontparam topopUpContextMenumethod (#58)
- [windows][bug] fix the crash bug on windows targeting c++20 (#47)
- fix(macos): Fix app will crash when closing the tray. #44
- fix(linux): ensure icon works in sandboxed environments #43
- Updates minimum supported SDK version to Flutter 3.3/Dart 3.0.
- chore: Bump flutter to 3.6
- [linux] Fix libayatana set icon deprecation
- [macos] Implemented
setIconPositionmethod. (#25)
- [windows] getBounds method returns null when not initialized
- [macos] fixed destroy() not properly destroying tray icons #21 #22
- [macos] Fix getBounds crash
- [macos] Optimize tray icon click event response
- Support Flutter 3.0
- [macos] Implemented
setTitlemethod. - [linux] Implemented
setTitlemethod. #15 - [linux] Fix build on Ubuntu 22.04 #16 #17
- Support Checkbox MenuItem #3
- [macos] Fixed onTrayIconMouseDown not triggered
- [macos] Fix the problem that the tray highlight state is incorrect #4 #10
- [windows] Implemented
setToolTipMethod.
- [macos] Add
isTemplateparameter tosetIconmethod
- [linux] Remove
<uuid/uuid.h>dependency
- Support sub menu.
- Implemented
destroyMethod. - Implemented
setIconMethod. - Implemented
setContextMenuMethod. - Implemented
popUpContextMenuMethod. - Implemented
getBoundsMethod.
- Initial release.