Summary
Add proper support for tray menus for common linux distros via libappindicator and the linux-integrations library.
Motivation
Cryptomator relies for tray menu support on the outdated AWT library. While there are plans to to add tray functionality into the used JavaFX framework, after 5 years of Cryptomator this is still on open issue.
AWT support on linux distros degraded over time, resulting in examples like this or that. We put a stop on this by deactivating tray support by default on linux and fallback to only minimize the application (see #1472). (normal running application and application start).
By using widley accepted appindicator library, we should cover the majority of linux distros. The documentation on using the library is sparse, some an example and more info can be found here: https://askubuntu.com/questions/42211/how-to-create-unity-indicators.
Considered Alternatives
Wait till JavaFX supports tray menus. Unfortunately, this seems more and more unrealistic, the regarding bug ticket has no actual activity for several years.
Run Cryptomator as a service. This would require a too big change in architecture, and to keep code a unified code base would also need some implementation for Windows and MacOS.
Additional Context
This feature request references #1078, #1079, #1113, #1344, #1498
AWT Tray menu support can be reactivated by setting the system property cryptomator.showTrayIcon=true at application start.
Summary
Add proper support for tray menus for common linux distros via libappindicator and the linux-integrations library.
Motivation
Cryptomator relies for tray menu support on the outdated AWT library. While there are plans to to add tray functionality into the used JavaFX framework, after 5 years of Cryptomator this is still on open issue.
AWT support on linux distros degraded over time, resulting in examples like this or that. We put a stop on this by deactivating tray support by default on linux and fallback to only minimize the application (see #1472). (normal running application and application start).
By using widley accepted appindicator library, we should cover the majority of linux distros. The documentation on using the library is sparse, some an example and more info can be found here: https://askubuntu.com/questions/42211/how-to-create-unity-indicators.
Considered Alternatives
Wait till JavaFX supports tray menus. Unfortunately, this seems more and more unrealistic, the regarding bug ticket has no actual activity for several years.
Run Cryptomator as a service. This would require a too big change in architecture, and to keep code a unified code base would also need some implementation for Windows and MacOS.
Additional Context
This feature request references #1078, #1079, #1113, #1344, #1498
AWT Tray menu support can be reactivated by setting the system property
cryptomator.showTrayIcon=trueat application start.