diff --git a/ext/mac-bundle/Angry IP Scanner.app/Contents/Info.plist b/ext/mac-bundle/Angry IP Scanner.app/Contents/Info.plist
index c111b24f..2f460f9c 100644
--- a/ext/mac-bundle/Angry IP Scanner.app/Contents/Info.plist
+++ b/ext/mac-bundle/Angry IP Scanner.app/Contents/Info.plist
@@ -24,5 +24,7 @@
NSApplication
NSHighResolutionCapable
+ NSRequiresAquaSystemAppearance
+
diff --git a/src/net/azib/ipscan/gui/GUI.java b/src/net/azib/ipscan/gui/GUI.java
index bbe7c338..f15c8f82 100644
--- a/src/net/azib/ipscan/gui/GUI.java
+++ b/src/net/azib/ipscan/gui/GUI.java
@@ -1,7 +1,6 @@
package net.azib.ipscan.gui;
import net.azib.ipscan.config.LoggerFactory;
-import net.azib.ipscan.config.Platform;
import net.azib.ipscan.config.Version;
import net.azib.ipscan.core.UserErrorException;
import net.azib.ipscan.di.Injector;
@@ -13,7 +12,6 @@ import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
-import java.lang.reflect.Method;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -43,7 +41,6 @@ public class GUI implements AutoCloseable {
public void showMainWindow(Injector injector) {
mainWindow = injector.require(MainWindow.class);
- if (Platform.MAC_OS) setMacDarkAppearanceIfNeeded();
LOG.fine("Main window created: " + (System.currentTimeMillis() - startTime));
@@ -63,36 +60,6 @@ public class GUI implements AutoCloseable {
}
}
- private void setMacDarkAppearanceIfNeeded() {
- try {
- // changing the appearance works only after the shell has been created
- Class os = Class.forName("org.eclipse.swt.internal.cocoa.OS");
- Boolean isDarkMode = (Boolean) os.getMethod("isSystemDarkAppearance").invoke(null);
- Boolean isAppDarkAppearance = (Boolean) os.getMethod("isAppDarkAppearance").invoke(null);
- LOG.info("Dark appearance flags before: " + isDarkMode + ", " + isAppDarkAppearance);
- if (isDarkMode && !isAppDarkAppearance) {
- os.getMethod("setTheme", boolean.class).invoke(null, true);
- isDarkMode = (Boolean) os.getMethod("isSystemDarkAppearance").invoke(null);
- isAppDarkAppearance = (Boolean) os.getMethod("isAppDarkAppearance").invoke(null);
- LOG.info("Dark appearance flags after: " + isDarkMode + ", " + isAppDarkAppearance);
- if (isAppDarkAppearance) {
- // workaround for a bug in SWT: colors need to be reinited after changing the appearance
- Method initColors = display.getClass().getDeclaredMethod("initColors");
- initColors.setAccessible(true);
- initColors.invoke(display);
- LOG.info("initColors called");
- }
- else {
- os.getMethod("setTheme", boolean.class).invoke(null, false);
- LOG.info("Dark appearance reset back because it didn't work");
- }
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
-
public void showMessage(int flags, String title, String localizedMessage) {
Shell parent = Display.getDefault().getActiveShell();
if (parent == null && mainWindow != null) parent = mainWindow.getShell();