tray_manager
tray_manager copied to clipboard
Linux: App crashes when appindicator is missing
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.
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