diff --git a/gui/griffon-app/lifecycle/Initialize.groovy b/gui/griffon-app/lifecycle/Initialize.groovy index 60a8702e..df0577fa 100644 --- a/gui/griffon-app/lifecycle/Initialize.groovy +++ b/gui/griffon-app/lifecycle/Initialize.groovy @@ -1,3 +1,4 @@ +import com.muwire.gui.LNFs import griffon.core.GriffonApplication import groovy.swing.SwingBuilder import groovy.util.logging.Log @@ -118,6 +119,9 @@ class Initialize extends AbstractLifecycleHandler { LookAndFeel chosen = lookAndFeel('system', 'gtk', 'metal') uiSettings.lnf = chosen.getID() log.info("ended up applying $chosen.name") + if (LNFs.SYSTEM_ALIASES.contains(uiSettings.lnf)) + uiSettings.lnf = "system" + FontUIResource defaultFont = chosen.getDefaults().getFont("Label.font") uiSettings.font = defaultFont.getName() diff --git a/gui/src/main/groovy/com/muwire/gui/LNFs.groovy b/gui/src/main/groovy/com/muwire/gui/LNFs.groovy index 03394b78..d6ad224b 100644 --- a/gui/src/main/groovy/com/muwire/gui/LNFs.groovy +++ b/gui/src/main/groovy/com/muwire/gui/LNFs.groovy @@ -6,6 +6,7 @@ package com.muwire.gui class LNFs { static final Map nameToClass = new HashMap<>() static final Map classToName = new HashMap<>() + static final Set SYSTEM_ALIASES = new HashSet<>() static final String[] availableLNFs @@ -24,6 +25,10 @@ class LNFs { } static { + SYSTEM_ALIASES.add("GTK") // Linux + SYSTEM_ALIASES.add("Aqua") // Mac + SYSTEM_ALIASES.add("Windows") // Windows + register("System", "system") register("Metal","metal") register("Darcula","com.bulenkov.darcula.DarculaLaf")