diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 7ff22460e..a4a71a2cc 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -35,7 +35,7 @@ open module org.cryptomator.desktop { requires org.apache.commons.lang3; /* TODO: filename-based modules: */ - requires static javax.inject; + requires static javax.inject; /* ugly dagger/guava crap */ provides TrayMenuController with AwtTrayMenuController; provides Configurator with LogbackConfiguratorFactory; diff --git a/src/main/java/org/cryptomator/ui/traymenu/AwtTrayMenuController.java b/src/main/java/org/cryptomator/ui/traymenu/AwtTrayMenuController.java index b69d582e9..428abdc08 100644 --- a/src/main/java/org/cryptomator/ui/traymenu/AwtTrayMenuController.java +++ b/src/main/java/org/cryptomator/ui/traymenu/AwtTrayMenuController.java @@ -30,8 +30,8 @@ import java.util.List; import java.util.function.Consumer; /** - * Responsible to manage the tray icon on macOS and Windows using AWT. - * For Linux, we use {@link AppindicatorTrayMenuController} + * Fallback tray icon implementation using AWT. This will only be used if no better implementation is found. + * @see preferred AppIndicator-based implementation used on Linux */ @CheckAvailability @Priority(Priority.FALLBACK) @@ -46,7 +46,7 @@ public class AwtTrayMenuController implements TrayMenuController { @CheckAvailability public static boolean isAvailable() { - return !SystemUtils.IS_OS_LINUX && SystemTray.isSupported(); + return SystemTray.isSupported(); } @Override @@ -112,7 +112,7 @@ public class AwtTrayMenuController implements TrayMenuController { menuItem.setEnabled(a.enabled()); menu.add(menuItem); } - case SeparatorItem separatorItem -> menu.addSeparator(); + case SeparatorItem s -> menu.addSeparator(); // TODO: rename pattern variable with JEP 443 case SubMenuItem s -> { var submenu = new Menu(s.title()); addChildren(submenu, s.items()); diff --git a/src/main/java/org/cryptomator/ui/traymenu/TrayMenuBuilder.java b/src/main/java/org/cryptomator/ui/traymenu/TrayMenuBuilder.java index 490144b43..b471e9104 100644 --- a/src/main/java/org/cryptomator/ui/traymenu/TrayMenuBuilder.java +++ b/src/main/java/org/cryptomator/ui/traymenu/TrayMenuBuilder.java @@ -69,7 +69,7 @@ public class TrayMenuBuilder { trayMenu.showTrayIcon(loader -> { switch (loader) { case TrayIconLoader.PngData l -> l.loadPng(getAppropriateTrayIconImage()); - case TrayIconLoader.FreedesktopIconName l -> l.lookupByName(getAppropriateTrayIconSVG()); + case TrayIconLoader.FreedesktopIconName l -> l.lookupByName(getAppropriateFreedesktopIconName()); } }, this::showMainWindow, "Cryptomator"); trayMenu.onBeforeOpenMenu(() -> { @@ -93,7 +93,7 @@ public class TrayMenuBuilder { trayMenu.updateTrayIcon(loader -> { switch (loader) { case TrayIconLoader.PngData l -> l.loadPng(getAppropriateTrayIconImage()); - case TrayIconLoader.FreedesktopIconName l -> l.lookupByName(getAppropriateTrayIconSVG()); + case TrayIconLoader.FreedesktopIconName l -> l.lookupByName(getAppropriateFreedesktopIconName()); } }); rebuildMenu(); @@ -184,7 +184,7 @@ public class TrayMenuBuilder { } } - private String getAppropriateTrayIconSVG() { + private String getAppropriateFreedesktopIconName() { boolean isAnyVaultUnlocked = vaults.stream().anyMatch(Vault::isUnlocked); return isAnyVaultUnlocked ? "org.cryptomator.Cryptomator-monochrome-unlocked" : "org.cryptomator.Cryptomator-monochrome";