diff --git a/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/workbench/PreferencesSupport.java b/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/workbench/PreferencesSupport.java index 8b6fd776fa..44ef073398 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/workbench/PreferencesSupport.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.support.ui/src/org/eclipse/chemclipse/support/ui/workbench/PreferencesSupport.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2017, 2023 Lablicate GmbH. + * Copyright (c) 2017, 2024 Lablicate GmbH. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 @@ -14,9 +14,14 @@ import java.util.ArrayList; import java.util.List; +import org.eclipse.chemclipse.support.settings.OperatingSystemUtils; import org.eclipse.core.runtime.Platform; import org.eclipse.jface.preference.IPreferenceNode; import org.eclipse.jface.preference.PreferenceManager; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.RGB; +import org.eclipse.swt.widgets.Display; import org.eclipse.ui.PlatformUI; public class PreferencesSupport { @@ -36,7 +41,13 @@ public static void cleanPreferencesByNodeId(List preservePreferenceNodes // Workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=564022 public static boolean isDarkTheme() { - return Platform.getPreferencesService().getString("org.eclipse.e4.ui.css.swt.theme", "themeid", "", null).endsWith("dark"); + if(OperatingSystemUtils.isMac()) { + Color background = Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); + RGB rgb = background.getRGB(); + return (rgb.red < 128 && rgb.green < 128 && rgb.blue < 128); + } else { + return Platform.getPreferencesService().getString("org.eclipse.e4.ui.css.swt.theme", "themeid", "", null).endsWith("dark"); + } } /**