Skip to content

Switch to libayatana-appindicator dart port #80

Open
arran4 wants to merge 3 commits intoantler119:mainfrom
arran4:port-linux-tray-to-dart-15791953145716769235
Open

Switch to libayatana-appindicator dart port #80
arran4 wants to merge 3 commits intoantler119:mainfrom
arran4:port-linux-tray-to-dart-15791953145716769235

Conversation

@arran4
Copy link
Copy Markdown

@arran4 arran4 commented Mar 8, 2026

I created this port of libayatana to dart to resolve this issue: #79

However I discovered it has a GPL license so I don't think it can be used: #78

See #81 for something better but not exactly the same.

Has not been rigorously tested.

If anyone would like to help with that. Or simply just use it try

dependencies:
  system_tray:
    git:
      url: https://github.com/arran4/fork_system_tray.git
      ref: port-linux-tray-to-dart-15791953145716769235

google-labs-jules Bot and others added 3 commits February 25, 2026 12:24
Refactor the system_tray package to use a platform interface `SystemTrayPlatform`.
Implement `LinuxSystemTray` using `dart_libayatana_appindicator` (pure Dart) for tray and menu operations.
Maintain `MethodChannelSystemTray` for Windows and macOS.
Refactor `linux/` C++ plugin to remove tray/menu logic but keep `AppWindow` logic (which still relies on C++/GTK).
Add `dbus` dependency.
Update `pubspec.yaml` SDK constraint to support Dart 3.
Fix Linux menu item image support by setting `icon-name` property.
Delete unused C++ files in `linux/`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant