Tobias Hagemann 3 years ago
parent
commit
a4070f551b

+ 1 - 0
.github/workflows/release.yml

@@ -145,6 +145,7 @@ jobs:
           jpackageoptions: >
             --app-version "${{ needs.metadata.outputs.semVerNum }}"
             --java-options "-Dfile.encoding=\"utf-8\""
+            --java-options "-Dapple.awt.enableTemplateImages=true"
             --java-options "-Dcryptomator.logDir=\"~/Library/Logs/Cryptomator\""
             --java-options "-Dcryptomator.pluginDir=\"~/Library/Application Support/Cryptomator/Plugins\""
             --java-options "-Dcryptomator.settingsPath=\"~/Library/Application Support/Cryptomator/settings.json\""

+ 1 - 1
.idea/runConfigurations/Cryptomator_macOS.xml

@@ -5,7 +5,7 @@
     </envs>
     <option name="MAIN_CLASS_NAME" value="org.cryptomator.launcher.Cryptomator" />
     <module name="cryptomator" />
-    <option name="VM_PARAMETERS" value="-Duser.language=en -Dcryptomator.settingsPath=&quot;~/Library/Application Support/Cryptomator/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/Library/Application Support/Cryptomator/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/Library/Logs/Cryptomator&quot; -Dcryptomator.pluginDir=&quot;~/Library/Application Support/Cryptomator/Plugins&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m -ea" />
+    <option name="VM_PARAMETERS" value="-Duser.language=en -Dapple.awt.enableTemplateImages=true -Dcryptomator.settingsPath=&quot;~/Library/Application Support/Cryptomator/settings.json&quot; -Dcryptomator.ipcSocketPath=&quot;~/Library/Application Support/Cryptomator/ipc.socket&quot; -Dcryptomator.logDir=&quot;~/Library/Logs/Cryptomator&quot; -Dcryptomator.pluginDir=&quot;~/Library/Application Support/Cryptomator/Plugins&quot; -Dcryptomator.showTrayIcon=true -Xss2m -Xmx512m -ea" />
     <method v="2">
       <option name="Make" enabled="true" />
     </method>

File diff suppressed because it is too large
+ 1 - 1
.idea/runConfigurations/Cryptomator_macOS_Dev.xml


+ 1 - 21
src/main/java/org/cryptomator/ui/traymenu/TrayIconController.java

@@ -2,9 +2,6 @@ package org.cryptomator.ui.traymenu;
 
 import com.google.common.base.Preconditions;
 import org.apache.commons.lang3.SystemUtils;
-import org.cryptomator.integrations.uiappearance.Theme;
-import org.cryptomator.integrations.uiappearance.UiAppearanceException;
-import org.cryptomator.integrations.uiappearance.UiAppearanceProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -12,38 +9,25 @@ import javax.inject.Inject;
 import java.awt.AWTException;
 import java.awt.SystemTray;
 import java.awt.TrayIcon;
-import java.util.Optional;
 
 @TrayMenuScoped
 public class TrayIconController {
 
 	private static final Logger LOG = LoggerFactory.getLogger(TrayIconController.class);
 
-	private final TrayImageFactory imageFactory;
-	private final Optional<UiAppearanceProvider> appearanceProvider;
 	private final TrayMenuController trayMenuController;
 	private final TrayIcon trayIcon;
 	private volatile boolean initialized;
 
 	@Inject
-	TrayIconController(TrayImageFactory imageFactory, TrayMenuController trayMenuController, Optional<UiAppearanceProvider> appearanceProvider) {
+	TrayIconController(TrayImageFactory imageFactory, TrayMenuController trayMenuController) {
 		this.trayMenuController = trayMenuController;
-		this.imageFactory = imageFactory;
-		this.appearanceProvider = appearanceProvider;
 		this.trayIcon = new TrayIcon(imageFactory.loadImage(), "Cryptomator", trayMenuController.getMenu());
 	}
 
 	public synchronized void initializeTrayIcon() throws IllegalStateException {
 		Preconditions.checkState(!initialized);
 
-		appearanceProvider.ifPresent(appearanceProvider -> {
-			try {
-				appearanceProvider.addListener(this::systemInterfaceThemeChanged);
-			} catch (UiAppearanceException e) {
-				LOG.error("Failed to enable automatic tray icon theme switching.");
-			}
-		});
-
 		trayIcon.setImageAutoSize(true);
 		if (SystemUtils.IS_OS_WINDOWS) {
 			trayIcon.addActionListener(trayMenuController::showMainWindow);
@@ -61,10 +45,6 @@ public class TrayIconController {
 		this.initialized = true;
 	}
 
-	private void systemInterfaceThemeChanged(Theme theme) {
-		trayIcon.setImage(imageFactory.loadImage()); // TODO refactor "theme" is re-queried in loadImage()
-	}
-
 	public boolean isInitialized() {
 		return initialized;
 	}

+ 1 - 5
src/main/java/org/cryptomator/ui/traymenu/TrayImageFactory.java

@@ -25,11 +25,7 @@ class TrayImageFactory {
 	}
 
 	private String getMacResourceName() {
-		var theme = appearanceProvider.map(UiAppearanceProvider::getSystemTheme).orElse(Theme.LIGHT);
-		return switch (theme) {
-			case DARK -> "/img/tray_icon_mac_white.png";
-			case LIGHT -> "/img/tray_icon_mac_black.png";
-		};
+		return "/img/tray_icon_mac.png";
 	}
 
 	private String getWinOrLinuxResourceName() {

BIN
src/main/resources/img/tray_icon_mac.png


BIN
src/main/resources/img/tray_icon_mac@2x.png


BIN
src/main/resources/img/tray_icon_mac_black.png


BIN
src/main/resources/img/tray_icon_mac_black@2x.png


BIN
src/main/resources/img/tray_icon_mac_white.png


BIN
src/main/resources/img/tray_icon_mac_white@2x.png