This is an automated email from the ASF dual-hosted git repository.
mbien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new cc2687534c FlatLaf: Enable Window decoration option for Linux
new 0a618c9880 Merge pull request #6391 from
demitriusbelai/flatlaf-window-decoration
cc2687534c is described below
commit cc2687534c44a8945ef405ec848ad84d7a4475e9
Author: Demitrius Belai <[email protected]>
AuthorDate: Mon Aug 28 17:33:33 2023 -0300
FlatLaf: Enable Window decoration option for Linux
---
.../src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java | 7 +++++++
.../org/netbeans/swing/laf/flatlaf/FlatLafOptionsPanel.java | 11 +++++++----
.../src/org/netbeans/swing/laf/flatlaf/FlatLafPrefs.java | 7 +++++--
.../o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java | 3 +++
4 files changed, 22 insertions(+), 6 deletions(-)
diff --git
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
index 5cf17babcb..9411ce9a89 100644
---
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
+++
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLFCustoms.java
@@ -19,6 +19,7 @@
package org.netbeans.swing.laf.flatlaf;
+import com.formdev.flatlaf.util.SystemInfo;
import com.formdev.flatlaf.util.UIScale;
import java.awt.Color;
import java.awt.Font;
@@ -26,8 +27,10 @@ import java.awt.Insets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.concurrent.Callable;
import javax.swing.BorderFactory;
import javax.swing.InputMap;
+import javax.swing.JFrame;
import javax.swing.KeyStroke;
import javax.swing.UIDefaults;
import javax.swing.UIDefaults.LazyValue;
@@ -151,6 +154,10 @@ public class FlatLFCustoms extends LFCustoms {
}
}
}
+ if (SystemInfo.isLinux) {
+ result.add("windowDefaultLookAndFeelDecorated");
+ result.add(FlatLafPrefs.isUseWindowDecorations());
+ }
return result.toArray();
}
diff --git
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafOptionsPanel.java
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafOptionsPanel.java
index f95768a9d6..553a910c89 100644
---
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafOptionsPanel.java
+++
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafOptionsPanel.java
@@ -19,6 +19,7 @@
package org.netbeans.swing.laf.flatlaf;
import com.formdev.flatlaf.FlatLaf;
+import com.formdev.flatlaf.FlatLightLaf;
import com.formdev.flatlaf.util.SystemInfo;
import java.awt.Color;
import java.io.BufferedWriter;
@@ -52,7 +53,8 @@ import org.openide.util.RequestProcessor;
public class FlatLafOptionsPanel extends javax.swing.JPanel {
private static final Color DEFAULT = new Color(0, true);
- private static final Color currentAccentColor =
FlatLafPrefs.getAccentColor();
+ private static final Color currentAccentColor =
getPrefsAccentColorOrDefault();
+ private static final boolean currentUseWindowDecorations =
FlatLafPrefs.isUseWindowDecorations();
private static final RequestProcessor RP = new
RequestProcessor(FlatLafOptionsPanel.class);
@@ -108,7 +110,7 @@ public class FlatLafOptionsPanel extends javax.swing.JPanel
{
}
private void updateEnabled() {
- boolean supportsWindowDecorations =
FlatLaf.supportsNativeWindowDecorations();
+ boolean supportsWindowDecorations =
FlatLaf.supportsNativeWindowDecorations() || new
FlatLightLaf().getSupportsWindowDecorations();
useWindowDecorationsCheckBox.setEnabled(supportsWindowDecorations);
unifiedTitleBarCheckBox.setEnabled(supportsWindowDecorations &&
useWindowDecorationsCheckBox.isSelected());
menuBarEmbeddedCheckBox.setEnabled(supportsWindowDecorations &&
useWindowDecorationsCheckBox.isSelected());
@@ -341,7 +343,8 @@ public class FlatLafOptionsPanel extends javax.swing.JPanel
{
FlatLafPrefs.setUnderlineMenuSelection(underlineMenuSelectionCheckBox.isSelected());
FlatLafPrefs.setAlwaysShowMnemonics(alwaysShowMnemonicsCheckBox.isSelected());
- if (!Objects.equals(accentColor, currentAccentColor)) {
+ if (!Objects.equals(accentColor, currentAccentColor)
+ || SystemInfo.isLinux &&
useWindowDecorationsCheckBox.isSelected() != currentUseWindowDecorations) {
askForRestart();
}
return false;
@@ -368,7 +371,7 @@ public class FlatLafOptionsPanel extends javax.swing.JPanel
{
NotificationDisplayer.Priority.NORMAL,
NotificationDisplayer.Category.INFO);
}
- private Color getPrefsAccentColorOrDefault() {
+ private static Color getPrefsAccentColorOrDefault() {
Color accentColor = FlatLafPrefs.getAccentColor();
return accentColor != null ? accentColor : DEFAULT;
}
diff --git
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafPrefs.java
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafPrefs.java
index 19f894bba1..9a72202326 100644
---
a/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafPrefs.java
+++
b/platform/o.n.swing.laf.flatlaf/src/org/netbeans/swing/laf/flatlaf/FlatLafPrefs.java
@@ -18,6 +18,7 @@
*/
package org.netbeans.swing.laf.flatlaf;
+import com.formdev.flatlaf.util.SystemInfo;
import java.awt.Color;
import java.util.prefs.Preferences;
import org.openide.util.NbPreferences;
@@ -37,6 +38,8 @@ class FlatLafPrefs {
private static final Preferences prefs =
NbPreferences.forModule(FlatLafPrefs.class);
+ private static final boolean DEF_USE_WINDOW_DECORATIONS =
SystemInfo.isWindows_10_orLater;
+
static Color getAccentColor() {
return parseColor(prefs.get(ACCENT_COLOR, null));
}
@@ -60,11 +63,11 @@ class FlatLafPrefs {
}
static boolean isUseWindowDecorations() {
- return prefs.getBoolean(USE_WINDOW_DECORATIONS, true);
+ return prefs.getBoolean(USE_WINDOW_DECORATIONS,
DEF_USE_WINDOW_DECORATIONS);
}
static void setUseWindowDecorations(boolean value) {
- putBoolean(USE_WINDOW_DECORATIONS, value, true);
+ putBoolean(USE_WINDOW_DECORATIONS, value, DEF_USE_WINDOW_DECORATIONS);
}
static boolean isUnifiedTitleBar() {
diff --git a/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
b/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
index 5119482026..8ab286991a 100644
--- a/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
+++ b/platform/o.n.swing.plaf/src/org/netbeans/swing/plaf/Startup.java
@@ -334,6 +334,9 @@ public final class Startup {
defaults.putDefaults
(customs.getLookAndFeelCustomizationKeysAndValues());
}
+ if (defaults.getBoolean("windowDefaultLookAndFeelDecorated")) {
+ JFrame.setDefaultLookAndFeelDecorated(true);
+ }
}
private void runPostInstall() {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists