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();
}