tray_manager icon indicating copy to clipboard operation
tray_manager copied to clipboard

Linux: App crashes when appindicator is missing

Open dainnilsson opened this issue 2 years ago • 1 comments

When running an app with this plugin on Linux without libayatana-appindicator3-1 the app immediately crashes with:

error while loading shared libraries: libayatana-appindicator3.so.1: cannot open shared object file: No such file or directory

This happens even without ever invoking any trayManager functions. Would it be possible to detect this and fail more gracefully? Ideally I'd like if my app could continue to run without a tray icon, and I could inform the user to install the required package to enable it.

dainnilsson avatar Feb 22 '23 08:02 dainnilsson

My app doesn't even build if the dependencies are not found.

I only want to use the plugin on Windows and macOS, but not on the Linux platform because I don't want to make the users download any dependencies to use the app. When I try to build for Linux, this error is emitted:

[   +5 ms] -- Checking for module 'ayatana-appindicator3-0.1'
[   +1 ms] --   No package 'ayatana-appindicator3-0.1' found
[        ] -- Checking for module 'appindicator3-0.1'
[   +1 ms] --   No package 'appindicator3-0.1' found
[        ] CMake Error at flutter/ephemeral/.plugin_symlinks/tray_manager/linux/CMakeLists.txt:32 (message):
[        ]   The `tray_manager` package requires ayatana-appindicator3-0.1 or
[        ]   appindicator3-0.1.  See
[        ]   https://github.com/leanflutter/tray_manager#linux-requirements

See full logs

bdlukaa avatar Oct 11 '24 11:10 bdlukaa