diff --git a/pom.xml b/pom.xml index ff00b52..d5b8230 100644 --- a/pom.xml +++ b/pom.xml @@ -25,12 +25,12 @@ 3.12.0 31.1-jre 4.10.0 - 3.0 - 3.0 - 3.0 + 3.1.1 + 3.1.1 + 3.1.1 5.8.11 2.0.22 - 6.4.0 + 6.4.4 1.5.3 @@ -134,7 +134,7 @@ io.github.fvarrui javapackager - 1.6.5 + 1.7.2 true com.luoboduner.moo.info.App diff --git a/src/main/java/com/luoboduner/moo/info/App.java b/src/main/java/com/luoboduner/moo/info/App.java index 0dfb849..6101c4a 100644 --- a/src/main/java/com/luoboduner/moo/info/App.java +++ b/src/main/java/com/luoboduner/moo/info/App.java @@ -42,9 +42,7 @@ public class App { System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("apple.awt.application.name", "MooInfo"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "MooInfo"); - if (UIUtil.isDarkLaf()) { - System.setProperty("apple.awt.application.appearance", "system"); - } + System.setProperty("apple.awt.application.appearance", "system"); FlatDesktop.setAboutHandler(() -> { try { @@ -73,8 +71,8 @@ public class App { Init.initTheme(); // install inspectors - FlatInspector.install( "ctrl shift alt X" ); - FlatUIDefaultsInspector.install( "ctrl shift alt Y" ); + FlatInspector.install("ctrl shift alt X"); + FlatUIDefaultsInspector.install("ctrl shift alt Y"); mainFrame = new MainFrame(); mainFrame.init(); diff --git a/src/main/java/com/luoboduner/moo/info/ui/Init.java b/src/main/java/com/luoboduner/moo/info/ui/Init.java index 50f8e43..3b8b26e 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/Init.java +++ b/src/main/java/com/luoboduner/moo/info/ui/Init.java @@ -118,7 +118,12 @@ public class Init { case "Vuesion": FlatVuesionIJTheme.setup(); break; - + case "Flat macOS Light": + FlatMacLightLaf.setup(); + break; + case "Flat macOS Dark": + FlatMacDarkLaf.setup(); + break; default: FlatDarculaLaf.setup(); } diff --git a/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java b/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java index 9bf06b0..8ab0e09 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java +++ b/src/main/java/com/luoboduner/moo/info/ui/component/TopMenuBar.java @@ -55,7 +55,9 @@ public class TopMenuBar extends JMenuBar { "IntelliJ Cyan", "IntelliJ Light", "Xcode-Dark", - "Vuesion"}; + "Vuesion", + "Flat macOS Light", + "Flat macOS Dark"}; private static String[] fontNames = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); diff --git a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java index 98e1ac7..a87d253 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java +++ b/src/main/java/com/luoboduner/moo/info/ui/form/MainWindow.java @@ -1,7 +1,9 @@ package com.luoboduner.moo.info.ui.form; +import com.formdev.flatlaf.util.SystemInfo; import com.intellij.uiDesigner.core.GridConstraints; import com.intellij.uiDesigner.core.GridLayoutManager; +import com.luoboduner.moo.info.util.SystemUtil; import lombok.Getter; import javax.swing.*; @@ -44,6 +46,11 @@ public class MainWindow { public void init() { mainWindow = getInstance(); + if (SystemUtil.isMacOs() && SystemInfo.isMacFullWindowContentSupported) { + GridLayoutManager gridLayoutManager = (GridLayoutManager) mainPanel.getLayout(); + gridLayoutManager.setMargin(new Insets(20, 0, 0, 0)); + } + mainWindow.getOverviewPanel().add(OverviewForm.getInstance().getMainPanel(), gridConstraints); mainWindow.getDetailPanel().add(DetailForm.getInstance().getMainPanel(), gridConstraints); mainWindow.getMemoryPanel().add(MemoryForm.getInstance().getMainPanel(), gridConstraints); diff --git a/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java b/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java index 1ff4afb..fb06a93 100644 --- a/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java +++ b/src/main/java/com/luoboduner/moo/info/ui/frame/MainFrame.java @@ -1,10 +1,12 @@ package com.luoboduner.moo.info.ui.frame; import com.formdev.flatlaf.extras.FlatSVGUtils; +import com.formdev.flatlaf.util.SystemInfo; import com.luoboduner.moo.info.ui.UiConsts; import com.luoboduner.moo.info.ui.component.TopMenuBar; import com.luoboduner.moo.info.ui.listener.FrameListener; import com.luoboduner.moo.info.util.ComponentUtil; +import com.luoboduner.moo.info.util.SystemUtil; import javax.swing.*; @@ -26,6 +28,13 @@ public class MainFrame extends JFrame { setJMenuBar(topMenuBar); ComponentUtil.setPreferSizeAndLocateToCenter(this, 0.6, 0.8); + if (SystemUtil.isMacOs() && SystemInfo.isMacFullWindowContentSupported) { + this.getRootPane().putClientProperty("apple.awt.fullWindowContent", true); + this.getRootPane().putClientProperty("apple.awt.transparentTitleBar", true); + this.getRootPane().putClientProperty("apple.awt.fullscreenable", true); + this.getRootPane().putClientProperty("apple.awt.windowTitleVisible", false); + } + FrameListener.addListeners(); }