tray_manager 0.8.0 copy "tray_manager: ^0.8.0" to clipboard
tray_manager: ^0.8.0 copied to clipboard

This plugin allows Flutter desktop apps to define a system tray icon.

0.8.0 #

  • Depends on nativeapi 0.5.1 and nativeapi_flutter 0.5.1. ImageAsset now comes from nativeapi_flutter; package:tray_manager/tray_manager.dart still exports it.
  • A hot restart no longer leaves the old tray icon behind or crashes the app (#106): nativeapi releases what the old isolate created and stops calling its callbacks.
  • Apps that also target the web build again (#108): tray_manager compiles there, and every call throws, so guard tray code with kIsWeb.
  • Linux: the StatusNotifierItem Id is stable across launches (#109). It is the GApplication ID or the executable name, and TrayIcon.createWithIdentifier sets one explicitly.
  • Linux: setTitle shows the title next to the icon where the shell draws a label (GNOME's AppIndicator extension) instead of in the tooltip.
  • Windows: getBounds() no longer divides by the device pixel ratio; nativeapi reports tray bounds in logical pixels.
  • The example runs on the web, with the tray controls disabled.

0.7.0 #

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.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.
  • The 0.5.x API moved to 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.
  • 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 setToolTip works. 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-dev is not one of them (nativeapi 0.3.0 stopped requiring and linking it).
  • Windows: .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. A native checkbox item is not toggled by a click.
  • New example on package:flutter/widgets.dart alone; the full one is nativeapi's tray_icon_example.

0.5.3 #

  • feat(macos): add Swift Package Manager support
  • chore: replace mostly_reasonable_lints with flutter_lints
  • ci: align workflows with screen_retriever

0.5.2 #

  • fix(windows): tray icon disappears after explorer restart #85

0.5.1 #

  • 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)

0.5.0 #

  • feat(windows): restore icon and context menu when Explorer restarts if necessary #71

0.4.0 #

  • fix: resolve memory leak issue when update menu on macOS (#66)

0.3.1 #

  • [macos] Support setting the icon size on macOS. (#60)

0.3.0 #

  • chore: Add bringAppToFront param to popUpContextMenu method (#58)

0.2.4 #

  • [windows][bug] fix the crash bug on windows targeting c++20 (#47)

0.2.3 #

  • fix(macos): Fix app will crash when closing the tray. #44

0.2.2 #

  • fix(linux): ensure icon works in sandboxed environments #43
  • Updates minimum supported SDK version to Flutter 3.3/Dart 3.0.

0.2.1 #

  • chore: Bump flutter to 3.6
  • [linux] Fix libayatana set icon deprecation

0.2.0 #

  • [macos] Implemented setIconPosition method. (#25)

0.1.8 #

  • [windows] getBounds method returns null when not initialized
  • [macos] fixed destroy() not properly destroying tray icons #21 #22
  • [macos] Fix getBounds crash

0.1.7 #

  • [macos] Optimize tray icon click event response

0.1.6 #

  • Support Flutter 3.0
  • [macos] Implemented setTitle method.
  • [linux] Implemented setTitle method. #15
  • [linux] Fix build on Ubuntu 22.04 #16 #17

0.1.5 #

  • Support Checkbox MenuItem #3
  • [macos] Fixed onTrayIconMouseDown not triggered

0.1.4 #

  • [macos] Fix the problem that the tray highlight state is incorrect #4 #10

0.1.3 #

  • [windows] Implemented setToolTip Method.

0.1.2 #

  • [macos] Add isTemplate parameter to setIcon method

0.1.1 #

  • [linux] Remove <uuid/uuid.h> dependency

0.1.0 #

  • Support sub menu.

0.0.2 #

  • Implemented destroy Method.
  • Implemented setIcon Method.
  • Implemented setContextMenu Method.
  • Implemented popUpContextMenu Method.
  • Implemented getBounds Method.

0.0.1 #

  • Initial release.
291
likes
160
points
220k
downloads

Documentation

API reference

Publisher

verified publisherleanflutter.dev

Weekly Downloads

This plugin allows Flutter desktop apps to define a system tray icon.

Repository (GitHub)
View/report issues

Topics

#tray #tray-manager #system-tray

License

MIT (license)

Dependencies

flutter, nativeapi, nativeapi_flutter

More

Packages that depend on tray_manager