From ed69049c08d0bb90fab8925fcb06095da3278680 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 13 Feb 2025 19:19:01 +0100 Subject: [PATCH 01/15] UIDefaultsDump: dump contrast ratios --- .../dumps/uidefaults/FlatDarculaLaf_1.8.0.txt | 6 + .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 120 ++++++++++++++ .../uidefaults/FlatIntelliJLaf_1.8.0.txt | 6 + .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 120 ++++++++++++++ .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 121 ++++++++++++++ .../uidefaults/FlatMacLightLaf_1.8.0.txt | 121 ++++++++++++++ .../dumps/uidefaults/FlatTestLaf_1.8.0.txt | 155 ++++++++++++++++++ .../testing/uidefaults/UIDefaultsDump.java | 139 +++++++++++++++- 8 files changed, 783 insertions(+), 5 deletions(-) diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt index cba7171f..88face3c 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt @@ -113,3 +113,9 @@ - ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + ToggleButton.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + + +#---- contrast ratio: ProgressBar ---- + +- contrast ratio: ProgressBar.selectionForeground #bbbbbb #4c87c8 2.0 !!!!! ++ contrast ratio: ProgressBar.selectionForeground #3c3f41 #a2a2a2 4.2 !!! diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index a8cf1890..c5c7528b 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -1630,3 +1630,123 @@ textText #bbbbbb HSL 0 0 73 javax.swing.plaf.Colo window #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] windowBorder #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] windowText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #bbbbbb #242526 8.0 + +#-- disabledForeground -- +ComboBox.disabledForeground #8c8c8c #3c3f41 3.2 !!!! +Label.disabledForeground #8c8c8c #3c3f41 3.2 !!!! +Spinner.disabledForeground #8c8c8c #3c3f41 3.2 !!!! + +#-- disabledText -- +Button.disabledText #8c8c8c #3c3f41 3.2 !!!! +CheckBox.disabledText #8c8c8c #3c3f41 3.2 !!!! +RadioButton.disabledText #8c8c8c #3c3f41 3.2 !!!! +ToggleButton.disabledText #8c8c8c #3c3f41 3.2 !!!! + +#-- dropCellForeground -- +List.dropCellForeground #bbbbbb #3c588b 3.7 !!!! +Table.dropCellForeground #bbbbbb #3c588b 3.7 !!!! +Tree.dropCellForeground #bbbbbb #3c588b 3.7 !!!! + +#-- focusCellForeground -- +Table.focusCellForeground #bbbbbb #46494b 4.7 !!! + +#-- foreground -- +Button.foreground #bbbbbb #4e5052 4.2 !!! +Button.default.foreground #bbbbbb #375a81 3.7 !!!! +CheckBox.foreground #bbbbbb #3c3f41 5.5 !! +CheckBoxMenuItem.foreground #bbbbbb #303234 6.7 ! +ColorChooser.foreground #bbbbbb #3c3f41 5.5 !! +ComboBox.foreground #bbbbbb #46494b 4.7 !!! +DesktopIcon.foreground #bbbbbb #555c68 3.5 !!!! +EditorPane.foreground #bbbbbb #46494b 4.7 !!! +FormattedTextField.foreground #bbbbbb #46494b 4.7 !!! +JideButton.foreground #bbbbbb #4e5052 4.2 !!! +JideLabel.foreground #bbbbbb #3c3f41 5.5 !! +JideSplitButton.foreground #bbbbbb #4e5052 4.2 !!! +JideTabbedPane.foreground #bbbbbb #3c3f41 5.5 !! +Label.foreground #bbbbbb #3c3f41 5.5 !! +List.foreground #bbbbbb #46494b 4.7 !!! +Menu.foreground #bbbbbb #303234 6.7 ! +MenuBar.foreground #bbbbbb #303234 6.7 ! +MenuItem.foreground #bbbbbb #303234 6.7 ! +OptionPane.foreground #bbbbbb #3c3f41 5.5 !! +Panel.foreground #bbbbbb #3c3f41 5.5 !! +PasswordField.foreground #bbbbbb #46494b 4.7 !!! +PopupMenu.foreground #bbbbbb #303234 6.7 ! +RadioButton.foreground #bbbbbb #3c3f41 5.5 !! +RadioButtonMenuItem.foreground #bbbbbb #303234 6.7 ! +RootPane.foreground #bbbbbb #3c3f41 5.5 !! +Spinner.foreground #bbbbbb #46494b 4.7 !!! +TabbedPane.foreground #bbbbbb #3c3f41 5.5 !! +Table.foreground #bbbbbb #46494b 4.7 !!! +TableHeader.foreground #bbbbbb #46494b 4.7 !!! +TextArea.foreground #bbbbbb #46494b 4.7 !!! +TextField.foreground #bbbbbb #46494b 4.7 !!! +TextPane.foreground #bbbbbb #46494b 4.7 !!! +TitlePane.foreground #bbbbbb #303234 6.7 ! +ToggleButton.foreground #bbbbbb #4e5052 4.2 !!! +ToolTip.foreground #bbbbbb #1e2021 8.5 +Tree.foreground #bbbbbb #46494b 4.7 !!! + +#-- inactiveForeground -- +EditorPane.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +FormattedTextField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +PasswordField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +TextArea.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +TextField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +TextPane.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! +TitlePane.inactiveForeground #8c8c8c #303234 3.8 !!!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #8c8c8c #303233 3.8 !!!! + +#-- monthStringForeground -- +JXMonthView.monthStringForeground #bbbbbb #4c5052 4.2 !!! + +#-- selectedForeground -- +Button.selectedForeground #bbbbbb #676a6c 2.8 !!!!! +ToggleButton.selectedForeground #bbbbbb #676a6c 2.8 !!!!! + +#-- selectionBackground -- +ProgressBar.selectionBackground #bbbbbb #505456 4.0 !!! + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +ComboBox.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +EditorPane.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +FormattedTextField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +List.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +Menu.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +MenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +PasswordField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +ProgressBar.selectionForeground #bbbbbb #4c87c8 2.0 !!!!! +RadioButtonMenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +Table.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +TextArea.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +TextField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +TextPane.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +Tree.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! + +#-- selectionInactiveForeground -- +List.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 +Table.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 +Tree.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 + +#-- specialTitleForeground -- +TaskPane.specialTitleForeground #222222 #afafaf 7.3 + +#-- textForeground -- +Tree.textForeground #bbbbbb #46494b 4.7 !!! + +#-- titleForeground -- +JXTitledPanel.titleForeground #bbbbbb #4c5052 4.2 !!! diff --git a/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0.txt index 7b2d2fd2..4f3f4d0b 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatIntelliJLaf_1.8.0.txt @@ -133,3 +133,9 @@ - ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + ToggleButton.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.FlatButtonBorder [UI] + + +#---- contrast ratio: Button ---- + +- contrast ratio: Button.default.foreground #000000 #ffffff 21.0 ++ contrast ratio: Button.default.foreground #ffffff #478ac9 3.7 !!!! diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index e366fe1d..90cda52f 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -1635,3 +1635,123 @@ textText #000000 HSL 0 0 0 javax.swing.plaf.Colo window #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] windowBorder #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] windowText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #000000 #ffffff 21.0 + +#-- disabledForeground -- +ComboBox.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! +Label.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! +Spinner.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! + +#-- disabledText -- +Button.disabledText #8c8c8c #f2f2f2 3.0 !!!! +CheckBox.disabledText #8c8c8c #f2f2f2 3.0 !!!! +RadioButton.disabledText #8c8c8c #f2f2f2 3.0 !!!! +ToggleButton.disabledText #8c8c8c #f2f2f2 3.0 !!!! + +#-- dropCellForeground -- +List.dropCellForeground #ffffff #3f8fd9 3.4 !!!! +Table.dropCellForeground #ffffff #3f8fd9 3.4 !!!! +Tree.dropCellForeground #ffffff #3f8fd9 3.4 !!!! + +#-- focusCellForeground -- +Table.focusCellForeground #000000 #ffffff 21.0 + +#-- foreground -- +Button.foreground #000000 #ffffff 21.0 +Button.default.foreground #000000 #ffffff 21.0 +CheckBox.foreground #000000 #f2f2f2 18.8 +CheckBoxMenuItem.foreground #000000 #ffffff 21.0 +ColorChooser.foreground #000000 #f2f2f2 18.8 +ComboBox.foreground #000000 #ffffff 21.0 +DesktopIcon.foreground #000000 #c6d2dd 13.7 +EditorPane.foreground #000000 #ffffff 21.0 +FormattedTextField.foreground #000000 #ffffff 21.0 +JideButton.foreground #000000 #ffffff 21.0 +JideLabel.foreground #000000 #f2f2f2 18.8 +JideSplitButton.foreground #000000 #ffffff 21.0 +JideTabbedPane.foreground #000000 #f2f2f2 18.8 +Label.foreground #000000 #f2f2f2 18.8 +List.foreground #000000 #ffffff 21.0 +Menu.foreground #000000 #ffffff 21.0 +MenuBar.foreground #000000 #ffffff 21.0 +MenuItem.foreground #000000 #ffffff 21.0 +OptionPane.foreground #000000 #f2f2f2 18.8 +Panel.foreground #000000 #f2f2f2 18.8 +PasswordField.foreground #000000 #ffffff 21.0 +PopupMenu.foreground #000000 #ffffff 21.0 +RadioButton.foreground #000000 #f2f2f2 18.8 +RadioButtonMenuItem.foreground #000000 #ffffff 21.0 +RootPane.foreground #000000 #f2f2f2 18.8 +Spinner.foreground #000000 #ffffff 21.0 +TabbedPane.foreground #000000 #f2f2f2 18.8 +Table.foreground #000000 #ffffff 21.0 +TableHeader.foreground #000000 #ffffff 21.0 +TextArea.foreground #000000 #ffffff 21.0 +TextField.foreground #000000 #ffffff 21.0 +TextPane.foreground #000000 #ffffff 21.0 +TitlePane.foreground #000000 #ffffff 21.0 +ToggleButton.foreground #000000 #ffffff 21.0 +ToolTip.foreground #000000 #fafafa 20.1 +Tree.foreground #000000 #ffffff 21.0 + +#-- inactiveForeground -- +EditorPane.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +FormattedTextField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +PasswordField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +TextArea.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +TextField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +TextPane.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! +TitlePane.inactiveForeground #8c8c8c #ffffff 3.4 !!!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #8c8c8c #fafafa 3.2 !!!! + +#-- monthStringForeground -- +JXMonthView.monthStringForeground #000000 #dfdfdf 15.8 + +#-- selectedForeground -- +Button.selectedForeground #000000 #cccccc 13.1 +ToggleButton.selectedForeground #000000 #cccccc 13.1 + +#-- selectionBackground -- +ProgressBar.selectionBackground #000000 #d1d1d1 13.8 + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #2675bf 4.8 !!! +ComboBox.selectionForeground #ffffff #2675bf 4.8 !!! +EditorPane.selectionForeground #ffffff #2675bf 4.8 !!! +FormattedTextField.selectionForeground #ffffff #2675bf 4.8 !!! +List.selectionForeground #ffffff #2675bf 4.8 !!! +Menu.selectionForeground #ffffff #2675bf 4.8 !!! +MenuItem.selectionForeground #ffffff #2675bf 4.8 !!! +PasswordField.selectionForeground #ffffff #2675bf 4.8 !!! +ProgressBar.selectionForeground #ffffff #2285e1 3.8 !!!! +RadioButtonMenuItem.selectionForeground #ffffff #2675bf 4.8 !!! +Table.selectionForeground #ffffff #2675bf 4.8 !!! +TextArea.selectionForeground #ffffff #2675bf 4.8 !!! +TextField.selectionForeground #ffffff #2675bf 4.8 !!! +TextPane.selectionForeground #ffffff #2675bf 4.8 !!! +Tree.selectionForeground #ffffff #2675bf 4.8 !!! + +#-- selectionInactiveForeground -- +List.selectionInactiveForeground #000000 #d3d3d3 14.0 +Table.selectionInactiveForeground #000000 #d3d3d3 14.0 +Tree.selectionInactiveForeground #000000 #d3d3d3 14.0 + +#-- specialTitleForeground -- +TaskPane.specialTitleForeground #222222 #afafaf 7.3 + +#-- textForeground -- +Tree.textForeground #000000 #ffffff 21.0 + +#-- titleForeground -- +JXTitledPanel.titleForeground #222222 #dfdfdf 11.9 diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index af6ef1bf..fdd8ff3f 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -1640,3 +1640,124 @@ textText #dddddd HSL 0 0 87 javax.swing.plaf.Colo window #1e1e1e HSL 0 0 12 javax.swing.plaf.ColorUIResource [UI] windowBorder #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] windowText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #dddddd #040404 15.1 + +#-- disabledForeground -- +ComboBox.disabledForeground #9a9a9a #232323 5.6 !! +Label.disabledForeground #9a9a9a #1e1e1e 5.9 !! +Spinner.disabledForeground #9a9a9a #232323 5.6 !! + +#-- disabledText -- +Button.disabledText #9a9a9a #3d3d3d 3.9 !!!! +CheckBox.disabledText #9a9a9a #1e1e1e 5.9 !! +RadioButton.disabledText #9a9a9a #1e1e1e 5.9 !! +ToggleButton.disabledText #9a9a9a #3d3d3d 3.9 !!!! + +#-- dropCellForeground -- +List.dropCellForeground #ffffff #003f99 9.7 +Table.dropCellForeground #ffffff #003f99 9.7 +Tree.dropCellForeground #ffffff #003f99 9.7 + +#-- focusCellForeground -- +Table.focusCellForeground #dddddd #282828 10.9 + +#-- foreground -- +Button.foreground #dddddd #565656 5.4 !! +Button.default.foreground #dddddd #007aff 3.0 !!!! +CheckBox.foreground #dddddd #1e1e1e 12.3 +CheckBoxMenuItem.foreground #dddddd #323232 9.4 +ColorChooser.foreground #dddddd #1e1e1e 12.3 +ComboBox.foreground #dddddd #565656 5.4 !! +DesktopIcon.foreground #dddddd #555c68 5.0 !! +EditorPane.foreground #dddddd #282828 10.9 +FormattedTextField.foreground #dddddd #282828 10.9 +JideButton.foreground #dddddd #565656 5.4 !! +JideLabel.foreground #dddddd #1e1e1e 12.3 +JideSplitButton.foreground #dddddd #565656 5.4 !! +JideTabbedPane.foreground #dddddd #1e1e1e 12.3 +Label.foreground #dddddd #1e1e1e 12.3 +List.foreground #dddddd #282828 10.9 +Menu.foreground #dddddd #323232 9.4 +MenuBar.foreground #dddddd #323232 9.4 +MenuItem.foreground #dddddd #323232 9.4 +OptionPane.foreground #dddddd #1e1e1e 12.3 +Panel.foreground #dddddd #1e1e1e 12.3 +PasswordField.foreground #dddddd #282828 10.9 +PopupMenu.foreground #dddddd #323232 9.4 +RadioButton.foreground #dddddd #1e1e1e 12.3 +RadioButtonMenuItem.foreground #dddddd #323232 9.4 +RootPane.foreground #dddddd #1e1e1e 12.3 +Spinner.foreground #dddddd #282828 10.9 +TabbedPane.foreground #dddddd #1e1e1e 12.3 +Table.foreground #dddddd #282828 10.9 +TableHeader.foreground #dddddd #282828 10.9 +TextArea.foreground #dddddd #282828 10.9 +TextField.foreground #dddddd #282828 10.9 +TextPane.foreground #dddddd #282828 10.9 +TitlePane.foreground #dddddd #323232 9.4 +ToggleButton.foreground #dddddd #565656 5.4 !! +ToolTip.foreground #dddddd #0f0f0f 14.1 +Tree.foreground #dddddd #282828 10.9 + +#-- inactiveForeground -- +EditorPane.inactiveForeground #9a9a9a #232323 5.6 !! +FormattedTextField.inactiveForeground #9a9a9a #232323 5.6 !! +PasswordField.inactiveForeground #9a9a9a #232323 5.6 !! +TextArea.inactiveForeground #9a9a9a #232323 5.6 !! +TextField.inactiveForeground #9a9a9a #232323 5.6 !! +TextPane.inactiveForeground #9a9a9a #232323 5.6 !! +TitlePane.inactiveForeground #9a9a9a #323232 4.6 !!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #9a9a9a #111111 6.7 ! + +#-- monthStringForeground -- +JXMonthView.monthStringForeground #dddddd #4c5052 6.0 ! + +#-- selectedForeground -- +Button.selectedForeground #dddddd #707070 3.6 !!!! +ToggleButton.selectedForeground #dddddd #898989 2.6 !!!!! + +#-- selectionBackground -- +ProgressBar.selectionBackground #dddddd #323232 9.4 + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #1458b8 6.7 ! +ComboBox.selectionForeground #ffffff #1458b8 6.7 ! +EditorPane.selectionForeground #ffffff #3d6490 6.1 ! +FormattedTextField.selectionForeground #ffffff #3d6490 6.1 ! +List.selectionForeground #ffffff #0054cc 6.7 ! +Menu.selectionForeground #ffffff #1458b8 6.7 ! +MenuBar.selectionForeground #dddddd #585858 5.2 !! +MenuItem.selectionForeground #ffffff #1458b8 6.7 ! +PasswordField.selectionForeground #ffffff #3d6490 6.1 ! +ProgressBar.selectionForeground #dddddd #007aff 3.0 !!!! +RadioButtonMenuItem.selectionForeground #ffffff #1458b8 6.7 ! +Table.selectionForeground #ffffff #0054cc 6.7 ! +TextArea.selectionForeground #ffffff #3d6490 6.1 ! +TextField.selectionForeground #ffffff #3d6490 6.1 ! +TextPane.selectionForeground #ffffff #3d6490 6.1 ! +Tree.selectionForeground #ffffff #0054cc 6.7 ! + +#-- selectionInactiveForeground -- +List.selectionInactiveForeground #dddddd #464646 6.9 ! +Table.selectionInactiveForeground #dddddd #464646 6.9 ! +Tree.selectionInactiveForeground #dddddd #464646 6.9 ! + +#-- specialTitleForeground -- +TaskPane.specialTitleForeground #222222 #afafaf 7.3 + +#-- textForeground -- +Tree.textForeground #dddddd #282828 10.9 + +#-- titleForeground -- +JXTitledPanel.titleForeground #dddddd #4c5052 6.0 ! diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 6f03f111..51fa1dad 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -1644,3 +1644,124 @@ textText #262626 HSL 0 0 15 javax.swing.plaf.Colo window #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] windowBorder #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] windowText #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #262626 #ffffff 15.1 + +#-- disabledForeground -- +ComboBox.disabledForeground #b6b6b6 #fafafa 1.9 !!!!!! +Label.disabledForeground #b6b6b6 #f6f6f6 1.9 !!!!!! +Spinner.disabledForeground #b6b6b6 #fafafa 1.9 !!!!!! + +#-- disabledText -- +Button.disabledText #b6b6b6 #fafafa 1.9 !!!!!! +CheckBox.disabledText #b6b6b6 #f6f6f6 1.9 !!!!!! +RadioButton.disabledText #b6b6b6 #f6f6f6 1.9 !!!!!! +ToggleButton.disabledText #b6b6b6 #fafafa 1.9 !!!!!! + +#-- dropCellForeground -- +List.dropCellForeground #ffffff #1a79ff 4.0 !!! +Table.dropCellForeground #ffffff #1a79ff 4.0 !!! +Tree.dropCellForeground #ffffff #1a79ff 4.0 !!! + +#-- focusCellForeground -- +Table.focusCellForeground #262626 #ffffff 15.1 + +#-- foreground -- +Button.foreground #262626 #ffffff 15.1 +Button.default.foreground #f6f6f6 #007aff 3.7 !!!! +CheckBox.foreground #262626 #f6f6f6 14.0 +CheckBoxMenuItem.foreground #262626 #ececec 12.8 +ColorChooser.foreground #262626 #f6f6f6 14.0 +ComboBox.foreground #262626 #ffffff 15.1 +DesktopIcon.foreground #262626 #c6d2dd 9.8 +EditorPane.foreground #262626 #ffffff 15.1 +FormattedTextField.foreground #262626 #ffffff 15.1 +JideButton.foreground #262626 #ffffff 15.1 +JideLabel.foreground #262626 #f6f6f6 14.0 +JideSplitButton.foreground #262626 #ffffff 15.1 +JideTabbedPane.foreground #262626 #f6f6f6 14.0 +Label.foreground #262626 #f6f6f6 14.0 +List.foreground #262626 #ffffff 15.1 +Menu.foreground #262626 #ececec 12.8 +MenuBar.foreground #262626 #ececec 12.8 +MenuItem.foreground #262626 #ececec 12.8 +OptionPane.foreground #262626 #f6f6f6 14.0 +Panel.foreground #262626 #f6f6f6 14.0 +PasswordField.foreground #262626 #ffffff 15.1 +PopupMenu.foreground #262626 #ececec 12.8 +RadioButton.foreground #262626 #f6f6f6 14.0 +RadioButtonMenuItem.foreground #262626 #ececec 12.8 +RootPane.foreground #262626 #f6f6f6 14.0 +Spinner.foreground #262626 #ffffff 15.1 +TabbedPane.foreground #262626 #f6f6f6 14.0 +Table.foreground #262626 #ffffff 15.1 +TableHeader.foreground #262626 #ffffff 15.1 +TextArea.foreground #262626 #ffffff 15.1 +TextField.foreground #262626 #ffffff 15.1 +TextPane.foreground #262626 #ffffff 15.1 +TitlePane.foreground #262626 #ececec 12.8 +ToggleButton.foreground #262626 #ffffff 15.1 +ToolTip.foreground #262626 #fefefe 15.0 +Tree.foreground #262626 #ffffff 15.1 + +#-- inactiveForeground -- +EditorPane.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +FormattedTextField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +PasswordField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +TextArea.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +TextField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +TextPane.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! +TitlePane.inactiveForeground #b6b6b6 #ececec 1.7 !!!!!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #b6b6b6 #fafafa 1.9 !!!!!! + +#-- monthStringForeground -- +JXMonthView.monthStringForeground #262626 #dfdfdf 11.4 + +#-- selectedForeground -- +Button.selectedForeground #262626 #cccccc 9.4 +ToggleButton.selectedForeground #262626 #cccccc 9.4 + +#-- selectionBackground -- +ProgressBar.selectionBackground #262626 #e9e9e9 12.5 + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #3d9aff 2.9 !!!!! +ComboBox.selectionForeground #ffffff #3d9aff 2.9 !!!!! +EditorPane.selectionForeground #262626 #b3d7ff 10.1 +FormattedTextField.selectionForeground #262626 #b3d7ff 10.1 +List.selectionForeground #ffffff #005fe6 5.6 !! +Menu.selectionForeground #ffffff #3d9aff 2.9 !!!!! +MenuBar.selectionForeground #262626 #c6c6c6 8.9 +MenuItem.selectionForeground #ffffff #3d9aff 2.9 !!!!! +PasswordField.selectionForeground #262626 #b3d7ff 10.1 +ProgressBar.selectionForeground #ffffff #007aff 4.0 !!! +RadioButtonMenuItem.selectionForeground #ffffff #3d9aff 2.9 !!!!! +Table.selectionForeground #ffffff #005fe6 5.6 !! +TextArea.selectionForeground #262626 #b3d7ff 10.1 +TextField.selectionForeground #262626 #b3d7ff 10.1 +TextPane.selectionForeground #262626 #b3d7ff 10.1 +Tree.selectionForeground #ffffff #005fe6 5.6 !! + +#-- selectionInactiveForeground -- +List.selectionInactiveForeground #262626 #dcdcdc 11.0 +Table.selectionInactiveForeground #262626 #dcdcdc 11.0 +Tree.selectionInactiveForeground #262626 #dcdcdc 11.0 + +#-- specialTitleForeground -- +TaskPane.specialTitleForeground #222222 #afafaf 7.3 + +#-- textForeground -- +Tree.textForeground #262626 #ffffff 15.1 + +#-- titleForeground -- +JXTitledPanel.titleForeground #222222 #dfdfdf 11.9 diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index 74a70884..82b7c47e 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -1689,3 +1689,158 @@ textText #ff0000 HSL 0 100 50 javax.swing.plaf.Colo window #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] windowBorder #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] windowText #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #ffaaaa #880000 5.7 !! + +#-- disabledForeground -- +ComboBox.disabledForeground #000088 #e0e0e0 11.7 +Label.disabledForeground #000088 #ccffcc 13.8 +Spinner.disabledForeground #000088 #e0e0e0 11.7 + +#-- disabledSelectedForeground -- +Button.disabledSelectedForeground #ffcccc #112233 11.4 +Button.toolbar.disabledSelectedForeground #886666 #cccccc 3.2 !!!! +ToggleButton.disabledSelectedForeground #ffffff #44dd44 1.8 !!!!!! +ToggleButton.toolbar.disabledSelectedForeground #886666 #cccccc 3.2 !!!! + +#-- disabledText -- +Button.disabledText #000088 #e0e0e0 11.7 +CheckBox.disabledText #000088 #ccffcc 13.8 +RadioButton.disabledText #000088 #ccffcc 13.8 +ToggleButton.disabledText #000088 #e0e0e0 11.7 + +#-- dropCellForeground -- +List.dropCellForeground #00ff00 #ff0000 2.9 !!!!! +Table.dropCellForeground #00ff00 #ff0000 2.9 !!!!! +Tree.dropCellForeground #00ff00 #ff0000 2.9 !!!!! + +#-- focusCellForeground -- +Table.focusCellForeground #ff0000 #fffff0 4.0 !!! + +#-- focusForeground -- +ToggleButton.tab.focusForeground #008800 #dddddd 3.4 !!!! + +#-- focusedForeground -- +Button.focusedForeground #0000ff #00ffff 6.9 ! +Button.default.focusedForeground #0000ff #00ffff 6.9 ! +ToggleButton.focusedForeground #0000ff #00ffff 6.9 ! + +#-- foreground -- +Button.foreground #ff0000 #ccffcc 3.6 !!!! +CheckBox.foreground #ff0000 #ccffcc 3.6 !!!! +CheckBoxMenuItem.foreground #ff0000 #ffffff 4.0 !!! +ColorChooser.foreground #ff0000 #ccffcc 3.6 !!!! +ComboBox.foreground #ff0000 #ffffff 4.0 !!! +DesktopIcon.foreground #ff0000 #44ffda 3.2 !!!! +EditorPane.foreground #ff0000 #ffffff 4.0 !!! +FormattedTextField.foreground #ff0000 #ffffff 4.0 !!! +JideButton.foreground #ff0000 #ccffcc 3.6 !!!! +JideLabel.foreground #008800 #ccffcc 4.1 !!! +JideSplitButton.foreground #ff0000 #ccffcc 3.6 !!!! +JideTabbedPane.foreground #ff0000 #ccffcc 3.6 !!!! +Label.foreground #008800 #ccffcc 4.1 !!! +List.foreground #ff0000 #f0ffff 3.9 !!!! +Menu.foreground #ff0000 #ffffff 4.0 !!! +MenuBar.foreground #ff0000 #ffffff 4.0 !!! +MenuItem.foreground #ff0000 #ffffff 4.0 !!! +OptionPane.foreground #ff0000 #ffdddd 3.2 !!!! +Panel.foreground #ff0000 #ccffcc 3.6 !!!! +PasswordField.foreground #ff0000 #ffffff 4.0 !!! +PopupMenu.foreground #ff0000 #ffffff 4.0 !!! +RadioButton.foreground #ff0000 #ccffcc 3.6 !!!! +RadioButtonMenuItem.foreground #ff0000 #ffffff 4.0 !!! +RootPane.foreground #ff0000 #ccffcc 3.6 !!!! +Spinner.foreground #ff0000 #ffffff 4.0 !!! +TabbedPane.foreground #ff0000 #ccffcc 3.6 !!!! +Table.foreground #ff0000 #fffff0 4.0 !!! +TableHeader.foreground #ffffff #4444ff 6.0 ! +TextArea.foreground #ff0000 #ffffff 4.0 !!! +TextField.foreground #ff0000 #ffffff 4.0 !!! +TextPane.foreground #ff0000 #ffffff 4.0 !!! +TitlePane.foreground #0000ff #00ff00 6.3 ! +ToggleButton.foreground #ff0000 #ddddff 3.0 !!!! +ToolTip.foreground #ff0000 #eeeeff 3.5 !!!! +Tree.foreground #ff0000 #fff0ff 3.6 !!!! + +#-- hoverForeground -- +Button.hoverForeground #0000ff #ffff00 8.0 +Button.default.hoverForeground #0000ff #ffff00 8.0 +Button.toolbar.hoverForeground #000000 #ffffff 21.0 +TableHeader.hoverForeground #e6e6e6 #1111ff 6.6 ! +ToggleButton.hoverForeground #0000ff #ffff00 8.0 +ToggleButton.tab.hoverForeground #0000ff #eeeeee 7.4 +ToggleButton.toolbar.hoverForeground #000000 #ffffff 21.0 + +#-- inactiveForeground -- +EditorPane.inactiveForeground #000088 #e0e0e0 11.7 +FormattedTextField.inactiveForeground #000088 #e0e0e0 11.7 +PasswordField.inactiveForeground #000088 #e0e0e0 11.7 +TextArea.inactiveForeground #000088 #e0e0e0 11.7 +TextField.inactiveForeground #000088 #e0e0e0 11.7 +TextPane.inactiveForeground #000088 #e0e0e0 11.7 +TitlePane.inactiveForeground #ffffff #008800 4.6 !!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #aaffaa #008800 3.9 !!!! + +#-- monthStringForeground -- +JXMonthView.monthStringForeground #0000ff #00ff00 6.3 ! + +#-- pressedForeground -- +Button.pressedForeground #0080ff #ffc800 2.4 !!!!! +Button.default.pressedForeground #0080ff #ffc800 2.4 !!!!! +Button.toolbar.pressedForeground #666666 #eeeeee 4.9 !!! +TableHeader.pressedForeground #cccccc #0000dd 6.4 ! +ToggleButton.pressedForeground #0080ff #ffc800 2.4 !!!!! +ToggleButton.toolbar.pressedForeground #666666 #eeeeee 4.9 !!! + +#-- selectedForeground -- +Button.selectedForeground #332211 #ffbbbb 9.5 +Button.toolbar.selectedForeground #880000 #dddddd 7.6 +TabbedPane.selectedForeground #0000ff #00ff00 6.3 ! +ToggleButton.selectedForeground #000000 #44ff44 15.6 +ToggleButton.tab.selectedForeground #ffffff #008800 4.6 !!! +ToggleButton.toolbar.selectedForeground #880000 #dddddd 7.6 + +#-- selectionBackground -- +ProgressBar.selectionBackground #000088 #88ff88 12.3 + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffff00 #00aa00 2.9 !!!!! +ComboBox.selectionForeground #ffff00 #00aa00 2.9 !!!!! +EditorPane.selectionForeground #ffff00 #00aa00 2.9 !!!!! +FormattedTextField.selectionForeground #ffff00 #00aa00 2.9 !!!!! +List.selectionForeground #ffff00 #00aa00 2.9 !!!!! +Menu.selectionForeground #ffff00 #00aa00 2.9 !!!!! +MenuBar.selectionForeground #00ff00 #ff0000 2.9 !!!!! +MenuItem.selectionForeground #ffff00 #00aa00 2.9 !!!!! +PasswordField.selectionForeground #ffff00 #00aa00 2.9 !!!!! +ProgressBar.selectionForeground #ff0000 #737373 1.2 !!!!!! +RadioButtonMenuItem.selectionForeground #ffff00 #00aa00 2.9 !!!!! +Table.selectionForeground #ffff00 #00aa00 2.9 !!!!! +TextArea.selectionForeground #ffff00 #00aa00 2.9 !!!!! +TextField.selectionForeground #ffff00 #00aa00 2.9 !!!!! +TextPane.selectionForeground #ffff00 #00aa00 2.9 !!!!! +Tree.selectionForeground #ffff00 #00aa00 2.9 !!!!! + +#-- selectionInactiveForeground -- +List.selectionInactiveForeground #ffffff #888888 3.5 !!!! +Table.selectionInactiveForeground #ffffff #888888 3.5 !!!! +Tree.selectionInactiveForeground #ffffff #888888 3.5 !!!! + +#-- specialTitleForeground -- +TaskPane.specialTitleForeground #444444 #00ffff 7.8 + +#-- textForeground -- +Tree.textForeground #ff0000 #fff0ff 3.6 !!!! + +#-- titleForeground -- +JXTitledPanel.titleForeground #ff00ff #ffff00 2.9 !!!!! diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index fd30dffd..b0ac8641 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -38,6 +38,7 @@ import java.lang.reflect.Field; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; @@ -45,6 +46,7 @@ import java.util.Map; import java.util.Objects; import java.util.Properties; import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicReference; import java.util.function.Predicate; import javax.swing.*; import javax.swing.UIDefaults.ActiveValue; @@ -63,6 +65,7 @@ import com.formdev.flatlaf.testing.FlatTestLaf; import com.formdev.flatlaf.themes.*; import com.formdev.flatlaf.ui.FlatLineBorder; import com.formdev.flatlaf.ui.FlatUIUtils; +import com.formdev.flatlaf.util.ColorFunctions; import com.formdev.flatlaf.util.ColorFunctions.ColorFunction; import com.jidesoft.plaf.LookAndFeelFactory; import com.formdev.flatlaf.util.DerivedColor; @@ -181,20 +184,20 @@ public class UIDefaultsDump // the lazy color InternalFrame.closeHoverBackground is resolved) defaults = (UIDefaults) defaults.clone(); - dump( dir, "", lookAndFeel, defaults, key -> !key.contains( "InputMap" ) ); + dump( dir, "", lookAndFeel, defaults, key -> !key.contains( "InputMap" ), true ); if( lookAndFeel.getClass() == FlatLightLaf.class || !(lookAndFeel instanceof FlatLaf) ) { - dump( dir, "_InputMap", lookAndFeel, defaults, key -> key.contains( "InputMap" ) ); + dump( dir, "_InputMap", lookAndFeel, defaults, key -> key.contains( "InputMap" ), false ); dumpActionMaps( dir, "_ActionMap", lookAndFeel, defaults ); } } private static void dump( File dir, String nameSuffix, - LookAndFeel lookAndFeel, UIDefaults defaults, Predicate keyFilter ) + LookAndFeel lookAndFeel, UIDefaults defaults, Predicate keyFilter, boolean contrastRatios ) { // dump to string StringWriter stringWriter = new StringWriter( 100000 ); - new UIDefaultsDump( lookAndFeel, defaults ).dump( new PrintWriter( stringWriter ), keyFilter ); + new UIDefaultsDump( lookAndFeel, defaults ).dump( new PrintWriter( stringWriter ), keyFilter, contrastRatios ); String name = lookAndFeel instanceof MyBasicLookAndFeel ? BasicLookAndFeel.class.getSimpleName() @@ -354,12 +357,15 @@ public class UIDefaultsDump Map defaults = new LinkedHashMap<>(); try( BufferedReader reader = new BufferedReader( in ) ) { String lastKey = null; + boolean inContrastRatios = false; String line; while( (line = reader.readLine()) != null ) { String trimmedLine = line.trim(); if( trimmedLine.isEmpty() || trimmedLine.startsWith( "#" ) ) { lastKey = null; + if( trimmedLine.contains( "#-------- Contrast Ratios --------" ) ) + inContrastRatios = true; continue; } @@ -374,6 +380,8 @@ public class UIDefaultsDump String key = line.substring( 0, sep ); String value = line.substring( sep ); + if( inContrastRatios ) + key = "contrast ratio: " + key; defaults.put( key, value ); lastKey = key; @@ -403,7 +411,7 @@ public class UIDefaultsDump out.printf( "OS %s%n", System.getProperty( "os.name" ) ); } - private void dump( PrintWriter out, Predicate keyFilter ) { + private void dump( PrintWriter out, Predicate keyFilter, boolean contrastRatios ) { dumpHeader( out ); defaults.entrySet().stream() @@ -428,6 +436,9 @@ public class UIDefaultsDump dumpValue( out, strKey, value ); out.println(); } ); + + if( contrastRatios ) + dumpContrastRatios( out ); } private void dumpActionMaps( PrintWriter out ) { @@ -829,6 +840,124 @@ public class UIDefaultsDump return new Color( newColor.getRGB(), true ); } + private void dumpContrastRatios( PrintWriter out ) { + out.printf( "%n%n#-------- Contrast Ratios --------%n%n" ); + out.println( "# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0" ); + out.println( "# https://webaim.org/articles/contrast/#sc143" ); + out.println(); + + HashMap fg2bgMap = new HashMap<>(); + defaults.keySet().stream() + .filter( key -> key instanceof String && ((String)key).endsWith( "ackground" ) ) + .map( key -> (String) key ) + .forEach( bgKey -> { + String fgKey = bgKey.replace( "Background", "Foreground" ).replace( "background", "foreground" ); + fg2bgMap.put( fgKey, bgKey ); + } ); + + // special cases + fg2bgMap.remove( "Button.disabledForeground" ); + fg2bgMap.put( "Button.disabledText", "Button.disabledBackground" ); + fg2bgMap.remove( "ToggleButton.disabledForeground" ); + fg2bgMap.put( "ToggleButton.disabledText", "ToggleButton.disabledBackground" ); + fg2bgMap.put( "CheckBox.foreground", "Panel.background" ); + fg2bgMap.put( "CheckBox.disabledText", "Panel.background" ); + fg2bgMap.put( "Label.foreground", "Panel.background" ); + fg2bgMap.put( "Label.disabledForeground", "Panel.background" ); + fg2bgMap.remove( "ProgressBar.foreground" ); + fg2bgMap.put( "ProgressBar.selectionForeground", "ProgressBar.foreground" ); + fg2bgMap.put( "ProgressBar.selectionBackground", "ProgressBar.background" ); + fg2bgMap.put( "RadioButton.foreground", "Panel.background" ); + fg2bgMap.put( "RadioButton.disabledText", "Panel.background" ); + fg2bgMap.remove( "ScrollBar.foreground" ); + fg2bgMap.remove( "ScrollBar.hoverButtonForeground" ); + fg2bgMap.remove( "ScrollBar.pressedButtonForeground" ); + fg2bgMap.remove( "ScrollPane.foreground" ); + fg2bgMap.remove( "Separator.foreground" ); + fg2bgMap.remove( "Slider.foreground" ); + fg2bgMap.remove( "SplitPane.foreground" ); + fg2bgMap.remove( "TextArea.disabledForeground" ); + fg2bgMap.put( "TextArea.inactiveForeground", "TextArea.disabledBackground" ); + fg2bgMap.remove( "TextPane.disabledForeground" ); + fg2bgMap.put( "TextPane.inactiveForeground", "TextPane.disabledBackground" ); + fg2bgMap.remove( "EditorPane.disabledForeground" ); + fg2bgMap.put( "EditorPane.inactiveForeground", "EditorPane.disabledBackground" ); + fg2bgMap.remove( "TextField.disabledForeground" ); + fg2bgMap.put( "TextField.inactiveForeground", "TextField.disabledBackground" ); + fg2bgMap.remove( "FormattedTextField.disabledForeground" ); + fg2bgMap.put( "FormattedTextField.inactiveForeground", "FormattedTextField.disabledBackground" ); + fg2bgMap.remove( "PasswordField.disabledForeground" ); + fg2bgMap.put( "PasswordField.inactiveForeground", "PasswordField.disabledBackground" ); + fg2bgMap.remove( "ToolBar.dockingForeground" ); + fg2bgMap.remove( "ToolBar.floatingForeground" ); + fg2bgMap.remove( "ToolBar.foreground" ); + fg2bgMap.remove( "ToolBar.hoverButtonGroupForeground" ); + fg2bgMap.remove( "Viewport.foreground" ); + + fg2bgMap.remove( "InternalFrame.closeHoverForeground" ); + fg2bgMap.remove( "InternalFrame.closePressedForeground" ); + fg2bgMap.remove( "TabbedPane.closeHoverForeground" ); + fg2bgMap.remove( "TabbedPane.closePressedForeground" ); + fg2bgMap.remove( "TitlePane.closeHoverForeground" ); + fg2bgMap.remove( "TitlePane.closePressedForeground" ); + +// out.println(); +// fg2bgMap.entrySet().stream() +// .sorted( (e1, e2) -> e1.getKey().compareTo( e2.getKey() ) ) +// .forEach( e -> { +// out.printf( "%-50s %s%n", e.getKey(), e.getValue() ); +// } ); +// out.println(); + + AtomicReference lastSubkey = new AtomicReference<>(); + + fg2bgMap.entrySet().stream() + .sorted( (e1, e2) -> { + String key1 = e1.getKey(); + String key2 = e2.getKey(); + int dot1 = key1.lastIndexOf( '.' ); + int dot2 = key2.lastIndexOf( '.' ); + if( dot1 < 0 || dot2 < 0 ) + return key1.compareTo( key2 ); + int r = key1.substring( dot1 + 1 ).compareTo( key2.substring( dot2 + 1 ) ); + if( r != 0 ) + return r; + return key1.substring( 0, dot1 ).compareTo( key2.substring( 0, dot2 ) ); + } ) + .forEach( e -> { + String fgKey = e.getKey(); + String bgKey = e.getValue(); + Color background = defaults.getColor( bgKey ); + Color foreground = defaults.getColor( fgKey ); + if( background != null && foreground != null ) { + float luma1 = ColorFunctions.luma( background ); + float luma2 = ColorFunctions.luma( foreground ); + float contrastRatio = (luma1 > luma2) + ? (luma1 + 0.05f) / (luma2 + 0.05f) + : (luma2 + 0.05f) / (luma1 + 0.05f); + String rateing = + contrastRatio < 1.95f ? " !!!!!!" : + contrastRatio < 2.95f ? " !!!!!" : + contrastRatio < 3.95f ? " !!!!" : + contrastRatio < 4.95f ? " !!!" : + contrastRatio < 5.95f ? " !!" : + contrastRatio < 6.95f ? " !" : + ""; + + String subkey = fgKey.substring( fgKey.lastIndexOf( '.' ) + 1 ); + if( !subkey.equals( lastSubkey.get() ) ) { + lastSubkey.set( subkey ); + out.println(); + out.println( "#-- " + subkey + " --" ); + } + + out.printf( "%-50s #%06x #%06x %4.1f%s%n", fgKey, + foreground.getRGB() & 0xffffff, background.getRGB() & 0xffffff, + contrastRatio, rateing ); + } + } ); + } + //---- class MyBasicLookAndFeel ------------------------------------------- public static class MyBasicLookAndFeel From c8eaf5f587bb7abf179bc1e9b92e301c0bb5d6a7 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 18 Feb 2025 19:50:09 +0100 Subject: [PATCH 02/15] increased contrast of text for better readability (issue #762) --- CHANGELOG.md | 8 + .../formdev/flatlaf/FlatDarkLaf.properties | 6 +- .../formdev/flatlaf/FlatLightLaf.properties | 2 +- .../flatlaf/themes/FlatMacDarkLaf.properties | 2 + .../flatlaf/themes/FlatMacLightLaf.properties | 2 +- .../dumps/uidefaults/FlatDarculaLaf_1.8.0.txt | 8 +- .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 502 +++++++++--------- .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 94 ++-- .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 12 +- .../uidefaults/FlatMacLightLaf_1.8.0.txt | 94 ++-- 10 files changed, 370 insertions(+), 360 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d4a2014..299185f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ FlatLaf Change Log - macOS: Re-enabled rounded popup border (see PR #772) on macOS 14.4+ (was disabled in 3.5.x). +- Increased contrast of text for better readability: (issue #762) + - In **FlatLaf Dark**, **FlatLaf Darcula** and many dark IntelliJ themes made + all text colors brighter. + - In **FlatLaf Light**, **FlatLaf IntelliJ** and many light IntelliJ themes + made disabled text colors slightly darker. + - In **FlatLaf macOS Light** made disabled text colors darker. + - In **FlatLaf macOS Dark** made text colors of "default" button and selected + ToggleButton lighter. - CheckBox: Support styling indeterminate state of [tri-state check boxes](https://www.javadoc.io/doc/com.formdev/flatlaf-extras/latest/com/formdev/flatlaf/extras/components/FlatTriStateCheckBox.html). (PR #936; issue #919) diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties index e6a3413d..ff4e2bfa 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties @@ -34,7 +34,7 @@ # general background and foreground (text color) @background = #3c3f41 -@foreground = #bbb +@foreground = #ddd @disabledBackground = @background @disabledForeground = shade(@foreground,25%) @@ -45,7 +45,7 @@ # selection @selectionBackground = @accentSelectionBackground -@selectionForeground = contrast(@selectionBackground, @background, @foreground, 25%) +@selectionForeground = contrast(@selectionBackground, shade(@background), tint(@foreground), 25%) @selectionInactiveBackground = spin(saturate(shade(@selectionBackground,70%),20%),-15) @selectionInactiveForeground = @foreground @@ -262,7 +262,7 @@ PopupMenu.hoverScrollArrowBackground = lighten(@background,5%) ProgressBar.background = lighten(@background,8%) ProgressBar.foreground = @accentSliderColor ProgressBar.selectionBackground = @foreground -ProgressBar.selectionForeground = contrast($ProgressBar.foreground, @background, @foreground, 25%) +ProgressBar.selectionForeground = contrast($ProgressBar.foreground, shade(@background), tint(@foreground), 25%) #---- RootPane ---- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties index 272c965d..cb9823a0 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLightLaf.properties @@ -36,7 +36,7 @@ @background = #f2f2f2 @foreground = #000 @disabledBackground = @background -@disabledForeground = tint(@foreground,55%) +@disabledForeground = tint(@foreground,50%) # component background @buttonBackground = lighten(@background,5%) diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacDarkLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacDarkLaf.properties index 3f12be09..02ed6b34 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacDarkLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacDarkLaf.properties @@ -112,6 +112,7 @@ Button.borderWidth = 0 Button.disabledBackground = darken($Button.background,10%) Button.default.borderWidth = 0 +Button.default.foreground = contrast($Button.default.background, @background, @selectionForeground, 25%) Button.toolbar.hoverBackground = #fff1 Button.toolbar.pressedBackground = #fff2 @@ -293,6 +294,7 @@ TextPane.selectionForeground = @textSelectionForeground ToggleButton.disabledBackground = $Button.disabledBackground ToggleButton.selectedBackground = lighten($ToggleButton.background,20%,derived) +ToggleButton.selectedForeground = lighten($ToggleButton.foreground,20%) ToggleButton.toolbar.selectedBackground = #fff3 diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacLightLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacLightLaf.properties index 9f9e044d..d18eb106 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacLightLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/themes/FlatMacLightLaf.properties @@ -79,7 +79,7 @@ # general background and foreground (text color) @background = #f6f6f6 @foreground = over(@nsControlTextColor,@background) -@disabledForeground = over(@nsTertiaryLabelColor,@background) +@disabledForeground = over(@nsSecondaryLabelColor,@background) # component background @buttonBackground = @nsControlColor diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt index 88face3c..2e9e00e2 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt @@ -73,9 +73,9 @@ #---- ProgressBar ---- - ProgressBar.foreground #4c87c8 HSL 211 53 54 javax.swing.plaf.ColorUIResource [UI] -+ ProgressBar.foreground #a2a2a2 HSL 0 0 64 javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.foreground #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] -- ProgressBar.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +- ProgressBar.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] + ProgressBar.selectionForeground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] @@ -117,5 +117,5 @@ #---- contrast ratio: ProgressBar ---- -- contrast ratio: ProgressBar.selectionForeground #bbbbbb #4c87c8 2.0 !!!!! -+ contrast ratio: ProgressBar.selectionForeground #3c3f41 #a2a2a2 4.2 !!! +- contrast ratio: ProgressBar.selectionForeground #eeeeee #4c87c8 3.2 !!!! ++ contrast ratio: ProgressBar.selectionForeground #3c3f41 #c4c4c4 6.1 ! diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index c5c7528b..fcdffa9d 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -73,19 +73,19 @@ Button.default.borderColor #557394 HSL 211 27 46 javax.swing.plaf.Colo Button.default.borderWidth 1 Button.default.focusColor #416997 HSL 212 40 42 javax.swing.plaf.ColorUIResource [UI] Button.default.focusedBorderColor #5b7898 HSL 211 25 48 javax.swing.plaf.ColorUIResource [UI] -Button.default.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.default.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Button.default.hoverBackground #3c618c HSL 212 40 39 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) Button.default.hoverBorderColor #5b7898 HSL 211 25 48 javax.swing.plaf.ColorUIResource [UI] Button.default.pressedBackground #406996 HSL 211 40 42 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) Button.defaultButtonFollowsFocus false Button.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] Button.disabledBorderColor #606263 HSL 200 2 38 javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Button.disabledSelectedBackground #55585a HSL 204 3 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -Button.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Button.focusedBorderColor #446e9e HSL 212 40 44 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] -Button.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Button.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] Button.hoverBackground #55585a HSL 204 3 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) Button.hoverBorderColor #446e9e HSL 212 40 44 javax.swing.plaf.ColorUIResource [UI] @@ -97,7 +97,7 @@ Button.minimumWidth 72 Button.pressedBackground #5d5f62 HSL 216 3 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) Button.rollover true Button.selectedBackground #676a6c HSL 204 2 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -Button.selectedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Button.selectedForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Button.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] Button.textIconGap 4 Button.textShiftOffset 0 @@ -119,15 +119,15 @@ Caret.width [active] 1 CheckBox.arc 4 CheckBox.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] -CheckBox.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +CheckBox.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #696b6d HSL 210 2 42 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.checkmarkColor #a8a8a8 HSL 0 0 66 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.checkmarkColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.disabledBorderColor #545657 HSL 200 2 34 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon.disabledCheckmarkColor #686868 HSL 0 0 41 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon.disabledCheckmarkColor #878787 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.focusWidth 1 CheckBox.icon.focusedBackground #446e9e4d 30% HSLA 212 40 44 30 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.focusedBorderColor #446e9e HSL 212 40 44 javax.swing.plaf.ColorUIResource [UI] @@ -140,10 +140,10 @@ CheckBox.icon.selectedBorderColor #87898a HSL 200 1 54 javax.swing.plaf.C CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.icon[filled].checkmarkColor #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].hoverSelectedBackground #a0a0a0 HSL 0 0 63 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) -CheckBox.icon[filled].pressedSelectedBackground #999999 HSL 0 0 60 com.formdev.flatlaf.util.DerivedColor [UI] darken(6% autoInverse) -CheckBox.icon[filled].selectedBackground #a8a8a8 HSL 0 0 66 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon[filled].selectedBorderColor #a8a8a8 HSL 0 0 66 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].hoverSelectedBackground #bfbfbf HSL 0 0 75 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) +CheckBox.icon[filled].pressedSelectedBackground #b8b8b8 HSL 0 0 72 com.formdev.flatlaf.util.DerivedColor [UI] darken(6% autoInverse) +CheckBox.icon[filled].selectedBackground #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon[filled].selectedBorderColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true CheckBox.textIconGap 4 @@ -153,22 +153,22 @@ CheckBox.textShiftOffset 0 #---- CheckBoxMenuItem ---- CheckBoxMenuItem.acceleratorFont [active] $defaultFont [UI] -CheckBoxMenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorForeground #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorSelectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] CheckBoxMenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] -CheckBoxMenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.icon.checkmarkColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.icon.disabledCheckmarkColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.icon.checkmarkColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.icon.disabledCheckmarkColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.opaque false CheckBoxMenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -CheckBoxMenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItemUI com.formdev.flatlaf.ui.FlatCheckBoxMenuItemUI @@ -181,7 +181,7 @@ CheckBoxUI com.formdev.flatlaf.ui.FlatCheckBoxUI ColorChooser.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ColorChooser.font [active] $defaultFont [UI] -ColorChooser.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesDefaultRecentColor #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] ColorChooser.swatchesSwatchSize [active] 16,16 javax.swing.plaf.DimensionUIResource [UI] @@ -191,7 +191,7 @@ ColorChooserUI com.formdev.flatlaf.ui.FlatColorChooserUI #---- ColumnControlButton ---- ColumnControlButton.actionIcon [lazy] 10,10 com.formdev.flatlaf.swingx.icons.FlatColumnControlIcon [UI] -ColumnControlButton.iconColor #a8a8a8 HSL 0 0 66 javax.swing.plaf.ColorUIResource [UI] +ColumnControlButton.iconColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] #---- ComboBox ---- @@ -199,23 +199,23 @@ ColumnControlButton.iconColor #a8a8a8 HSL 0 0 66 javax.swing.plaf.Colo ComboBox.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] ComboBox.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] ComboBox.borderCornerRadius 4 -ComboBox.buttonArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonBackground #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonDisabledArrowColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonDisabledArrowColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDisabledSeparatorColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonEditableBackground #414446 HSL 204 4 26 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonHighlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonHoverArrowColor #b5b5b5 HSL 0 0 71 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -ComboBox.buttonPressedArrowColor #cecece HSL 0 0 81 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +ComboBox.buttonHoverArrowColor #d1d1d1 HSL 0 0 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +ComboBox.buttonPressedArrowColor #eaeaea HSL 0 0 92 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) ComboBox.buttonSeparatorColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonShadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle auto ComboBox.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] -ComboBox.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ComboBox.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup false ComboBox.maximumRowCount 15 ComboBox.minimumWidth 72 @@ -224,7 +224,7 @@ ComboBox.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] ComboBox.popupInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ComboBox.selectionArc 0 ComboBox.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -ComboBox.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] ComboBox.selectionInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ComboBox.timeFactor 1000 ComboBoxUI com.formdev.flatlaf.ui.FlatComboBoxUI @@ -271,7 +271,7 @@ DesktopIcon.background #555c68 HSL 218 10 37 com.formdev.flatlaf.u DesktopIcon.border [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] DesktopIcon.closeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon [UI] DesktopIcon.closeSize 20,20 javax.swing.plaf.DimensionUIResource [UI] -DesktopIcon.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +DesktopIcon.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] DesktopIcon.iconSize 64,64 javax.swing.plaf.DimensionUIResource [UI] DesktopIconUI com.formdev.flatlaf.ui.FlatDesktopIconUI @@ -286,15 +286,15 @@ DesktopPaneUI com.formdev.flatlaf.ui.FlatDesktopPaneUI EditorPane.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] EditorPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] EditorPane.caretBlinkRate 500 -EditorPane.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +EditorPane.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] EditorPane.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] EditorPane.font [active] $defaultFont [UI] -EditorPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +EditorPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] EditorPane.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -EditorPane.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] EditorPaneUI com.formdev.flatlaf.ui.FlatEditorPaneUI @@ -326,17 +326,17 @@ FileView.hardDriveIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatFil FormattedTextField.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] FormattedTextField.caretBlinkRate 500 -FormattedTextField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.font [active] $defaultFont [UI] -FormattedTextField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.iconTextGap 4 FormattedTextField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -359,12 +359,12 @@ HelpButton.hoverBorderColor #446e9e HSL 212 40 44 javax.swing.plaf.Colo HelpButton.icon [lazy] 22,22 com.formdev.flatlaf.icons.FlatHelpButtonIcon [UI] HelpButton.innerFocusWidth 1 HelpButton.pressedBackground #5d5f62 HSL 216 3 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) -HelpButton.questionMarkColor #a8a8a8 HSL 0 0 66 javax.swing.plaf.ColorUIResource [UI] +HelpButton.questionMarkColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] #---- Hyperlink ---- -Hyperlink.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Hyperlink.linkColor #579bf6 HSL 214 90 65 javax.swing.plaf.ColorUIResource [UI] Hyperlink.visitedColor #579bf6 HSL 214 90 65 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI @@ -376,7 +376,7 @@ InternalFrame.activeBorderColor #2b2d2e HSL 200 3 17 javax.swing.plaf.Col InternalFrame.activeDropShadowInsets 5,5,6,6 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.activeDropShadowOpacity 0.5 InternalFrame.activeTitleBackground #242526 HSL 210 3 15 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.activeTitleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.activeTitleForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] InternalFrame.border [lazy] 6,6,6,6 false com.formdev.flatlaf.ui.FlatInternalFrameUI$FlatInternalFrameBorder [UI] InternalFrame.borderColor #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderDarkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] @@ -400,7 +400,7 @@ InternalFrame.inactiveBorderColor #353739 HSL 210 4 22 javax.swing.plaf.C InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.inactiveDropShadowOpacity 0.75 InternalFrame.inactiveTitleBackground #303233 HSL 200 3 19 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -440,20 +440,20 @@ JXHeader.titleFont [active] Segoe UI bold 12 javax.swing.plaf.Fon #---- JXMonthView ---- -JXMonthView.arrowColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.arrowColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] JXMonthView.daysOfTheWeekForeground #aaaaaa HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] JXMonthView.flaggedDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] -JXMonthView.leadingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthStringForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.monthStringForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.todayColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.todayColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] JXMonthView.unselectableDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] JXMonthView.weekOfTheYearForeground #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] @@ -464,7 +464,7 @@ JXTitledPanel.borderColor #606263 HSL 200 2 38 javax.swing.plaf.Colo JXTitledPanel.captionInsets 4,10,4,10 javax.swing.plaf.InsetsUIResource [UI] JXTitledPanel.titleBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] JXTitledPanel.titleFont [active] Segoe UI bold 12 javax.swing.plaf.FontUIResource [UI] -JXTitledPanel.titleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JXTitledPanel.titleForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #---- JideButton ---- @@ -474,7 +474,7 @@ JideButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F JideButton.borderColor #606263 HSL 200 2 38 javax.swing.plaf.ColorUIResource [UI] JideButton.darkShadow #606263 HSL 200 2 38 javax.swing.plaf.ColorUIResource [UI] JideButton.focusedBackground #505355 HSL 204 3 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(1% autoInverse) -JideButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JideButton.highlight #676a6c HSL 204 2 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) JideButton.light #606263 HSL 200 2 38 javax.swing.plaf.ColorUIResource [UI] JideButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] @@ -488,8 +488,8 @@ JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- JideLabel.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] -JideLabel.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +JideLabel.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -502,11 +502,11 @@ JidePopupMenuUI com.formdev.flatlaf.jideoss.ui.FlatJidePopupMenuU JideSplitButton.background #4e5052 HSL 210 2 31 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -JideSplitButton.buttonArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.buttonDisabledArrowColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] -JideSplitButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.buttonDisabledArrowColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -JideSplitButton.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideSplitButton.selectionForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JideSplitButton.textIconGap [active] 4 JideSplitButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideSplitButtonUI @@ -519,7 +519,7 @@ JideTabbedPane.closeButtonRightMargin 0 JideTabbedPane.contentBorderInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] JideTabbedPane.fitStyleBoundSize 0 JideTabbedPane.fitStyleFirstTabMargin 0 -JideTabbedPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +JideTabbedPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.shadow #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.tabAreaBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] JideTabbedPane.tabAreaInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] @@ -531,10 +531,10 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- Label.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Label.disabledShadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] -Label.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Label.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] LabelUI com.formdev.flatlaf.ui.FlatLabelUI @@ -547,18 +547,18 @@ List.cellMargins 1,6,1,6 javax.swing.plaf.InsetsUIResource [UI] List.cellNoFocusBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Default [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] List.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] -List.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.dropCellForeground [lazy] #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] List.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] List.focusCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Focused [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.focusSelectedCellHighlightBorder [lazy] 1,6,1,6 false com.formdev.flatlaf.ui.FlatListCellBorder$Selected [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 List.font [active] $defaultFont [UI] -List.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] List.noFocusBorder 1,1,1,1 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] List.selectionArc 0 List.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -List.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] List.selectionInactiveBackground #0f2a3d HSL 205 61 15 javax.swing.plaf.ColorUIResource [UI] -List.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +List.selectionInactiveForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] List.selectionInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] List.showCellFocusIndicator false List.timeFactor 1000 @@ -568,26 +568,26 @@ ListUI com.formdev.flatlaf.ui.FlatListUI #---- Menu ---- Menu.acceleratorFont [active] $defaultFont [UI] -Menu.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] -Menu.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorForeground #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorSelectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Menu.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuArrowIcon [UI] Menu.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] -Menu.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.arrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -Menu.icon.disabledArrowColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] +Menu.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.arrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +Menu.icon.disabledArrowColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] Menu.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.opaque false Menu.preserveTopLevelSelection false Menu.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -Menu.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Menu.shortcutKeys length=1 [I [0] 8 Menu.submenuPopupOffsetX [active] -4 @@ -600,7 +600,7 @@ MenuBar.background #303234 HSL 210 4 20 javax.swing.plaf.Colo MenuBar.border [lazy] 0,0,1,0 false com.formdev.flatlaf.ui.FlatMenuBarBorder [UI] MenuBar.borderColor #505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] MenuBar.font [active] $defaultFont [UI] -MenuBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +MenuBar.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] MenuBar.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] MenuBar.hoverBackground #484c4f HSL 206 5 30 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) MenuBar.itemMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] @@ -619,17 +619,17 @@ MenuBarUI com.formdev.flatlaf.ui.FlatMenuBarUI MenuItem.acceleratorArrowGap 2 MenuItem.acceleratorDelimiter + MenuItem.acceleratorFont [active] $defaultFont [UI] -MenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] -MenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorForeground #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorSelectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] MenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] MenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] MenuItem.borderPainted true MenuItem.checkBackground #3c588b HSL 219 40 39 com.formdev.flatlaf.util.DerivedColor [UI] darken(10%) MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] -MenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +MenuItem.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 MenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] MenuItem.minimumIconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] @@ -637,7 +637,7 @@ MenuItem.minimumWidth 72 MenuItem.opaque false MenuItem.selectionArc 0 MenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -MenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] MenuItem.textAcceleratorGap 24 MenuItem.textNoAcceleratorGap 6 @@ -685,7 +685,7 @@ OptionPane.buttonOrientation 4 OptionPane.buttonPadding 8 OptionPane.errorIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneErrorIcon [UI] OptionPane.font [active] $defaultFont [UI] -OptionPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +OptionPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] OptionPane.iconMessageGap 16 OptionPane.informationIcon [lazy] 32,32 com.formdev.flatlaf.icons.FlatOptionPaneInformationIcon [UI] OptionPane.maxCharactersPerLine 80 @@ -707,7 +707,7 @@ OptionPaneUI com.formdev.flatlaf.ui.FlatOptionPaneUI Panel.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] Panel.font [active] $defaultFont [UI] -Panel.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Panel.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] PanelUI com.formdev.flatlaf.ui.FlatPanelUI @@ -718,20 +718,20 @@ PasswordField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.F PasswordField.capsLockIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatCapsLockIcon [UI] PasswordField.capsLockIconColor #ffffff64 39% HSLA 0 0 100 39 javax.swing.plaf.ColorUIResource [UI] PasswordField.caretBlinkRate 500 -PasswordField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] PasswordField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] PasswordField.echoChar '\u2022' PasswordField.font [active] $defaultFont [UI] -PasswordField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] PasswordField.iconTextGap 4 PasswordField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] PasswordField.revealIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatRevealIcon [UI] -PasswordField.revealIconColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.revealIconColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] PasswordField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -PasswordField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] PasswordField.showCapsLock true PasswordField.showRevealButton false PasswordFieldUI com.formdev.flatlaf.ui.FlatPasswordFieldUI @@ -755,9 +755,9 @@ PopupMenu.borderCornerRadius 4 PopupMenu.borderInsets 4,1,4,1 javax.swing.plaf.InsetsUIResource [UI] PopupMenu.consumeEventOnClose false PopupMenu.font [active] $defaultFont [UI] -PopupMenu.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] PopupMenu.hoverScrollArrowBackground #484c4e HSL 200 4 29 javax.swing.plaf.ColorUIResource [UI] -PopupMenu.scrollArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.scrollArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] #---- PopupMenuSeparator ---- @@ -785,8 +785,8 @@ ProgressBar.font [active] Segoe UI plain 10 javax.swing.plaf.Fo ProgressBar.foreground #4c87c8 HSL 211 53 54 javax.swing.plaf.ColorUIResource [UI] ProgressBar.horizontalSize 146,4 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 15 -ProgressBar.selectionBackground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 4,146 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI @@ -796,9 +796,9 @@ ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI RadioButton.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] RadioButton.darkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] -RadioButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RadioButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] @@ -815,20 +815,20 @@ RadioButton.textShiftOffset 0 #---- RadioButtonMenuItem ---- RadioButtonMenuItem.acceleratorFont [active] $defaultFont [UI] -RadioButtonMenuItem.acceleratorForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.acceleratorSelectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorForeground #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorSelectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.arrowIcon [lazy] 6,10 com.formdev.flatlaf.icons.FlatMenuItemArrowIcon [UI] RadioButtonMenuItem.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] -RadioButtonMenuItem.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.opaque false RadioButtonMenuItem.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -RadioButtonMenuItem.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItemUI com.formdev.flatlaf.ui.FlatRadioButtonMenuItemUI @@ -864,7 +864,7 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [6] ctrl released ENTER [7] release RootPane.font [active] $defaultFont [UI] -RootPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +RootPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] RootPane.honorDialogMinimumSizeOnResize true RootPane.honorFrameMinimumSizeOnResize false RootPane.inactiveBorderColor #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) @@ -875,9 +875,9 @@ RootPaneUI com.formdev.flatlaf.ui.FlatRootPaneUI ScrollBar.allowsAbsolutePositioning true ScrollBar.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.buttonDisabledArrowColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.buttonDisabledArrowColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ScrollBar.hoverButtonBackground #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5%) ScrollBar.hoverThumbColor #6e767a HSL 200 5 45 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) ScrollBar.hoverThumbWithTrack false @@ -911,7 +911,7 @@ ScrollPane.background #3e4244 HSL 200 5 25 com.formdev.flatlaf.u ScrollPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatScrollPaneBorder [UI] ScrollPane.fillUpperCorner true ScrollPane.font [active] $defaultFont [UI] -ScrollPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ScrollPane.smoothScrolling true ScrollPaneUI com.formdev.flatlaf.ui.FlatScrollPaneUI @@ -957,7 +957,7 @@ Slider.focusInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.focusWidth 4 Slider.focusedColor #7097c24d 30% HSLA 211 40 60 30 com.formdev.flatlaf.util.DerivedColor [UI] changeLightness(60%) fade(30%) Slider.font [active] $defaultFont [UI] -Slider.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Slider.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Slider.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] Slider.horizontalSize 200,21 java.awt.Dimension Slider.hoverThumbColor #6094ce HSL 212 53 59 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) @@ -968,7 +968,7 @@ Slider.pressedThumbColor #6b9cd2 HSL 211 53 62 com.formdev.flatlaf.u Slider.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] Slider.thumbColor #4c87c8 HSL 211 53 54 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 12,12 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Slider.trackColor #616669 HSL 203 4 40 javax.swing.plaf.ColorUIResource [UI] Slider.trackValueColor #4c87c8 HSL 211 53 54 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 2 @@ -981,20 +981,20 @@ SliderUI com.formdev.flatlaf.ui.FlatSliderUI Spinner.arrowButtonSize 16,5 java.awt.Dimension Spinner.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] Spinner.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRoundBorder [UI] -Spinner.buttonArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonBackground #414446 HSL 204 4 26 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonDisabledArrowColor #5b5b5b HSL 0 0 36 javax.swing.plaf.ColorUIResource [UI] +Spinner.buttonDisabledArrowColor #777777 HSL 0 0 47 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonDisabledSeparatorColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] -Spinner.buttonHoverArrowColor #b5b5b5 HSL 0 0 71 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -Spinner.buttonPressedArrowColor #cecece HSL 0 0 81 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +Spinner.buttonHoverArrowColor #d1d1d1 HSL 0 0 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +Spinner.buttonPressedArrowColor #eaeaea HSL 0 0 92 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) Spinner.buttonSeparatorColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonStyle button Spinner.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false Spinner.font [active] $defaultFont [UI] -Spinner.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Spinner.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Spinner.padding 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] SpinnerUI com.formdev.flatlaf.ui.FlatSpinnerUI @@ -1015,13 +1015,13 @@ SplitPane.shadow #616365 HSL 210 2 39 javax.swing.plaf.Colo #---- SplitPaneDivider ---- SplitPaneDivider.draggingColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.gripColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.gripColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] SplitPaneDivider.gripDotCount 3 SplitPaneDivider.gripDotSize 3 SplitPaneDivider.gripGap 2 -SplitPaneDivider.oneTouchArrowColor #9b9b9b HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -SplitPaneDivider.oneTouchHoverArrowColor #b5b5b5 HSL 0 0 71 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) -SplitPaneDivider.oneTouchPressedArrowColor #cecece HSL 0 0 81 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) +SplitPaneDivider.oneTouchArrowColor #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] +SplitPaneDivider.oneTouchHoverArrowColor #d1d1d1 HSL 0 0 82 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10%) +SplitPaneDivider.oneTouchPressedArrowColor #eaeaea HSL 0 0 92 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20%) SplitPaneDivider.style grip @@ -1044,23 +1044,23 @@ TabbedPane.closeArc 4 TabbedPane.closeCrossFilledSize 7.5 TabbedPane.closeCrossLineWidth 1 TabbedPane.closeCrossPlainSize 7.5 -TabbedPane.closeForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeHoverBackground #484c4e HSL 200 4 29 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) -TabbedPane.closeHoverForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeHoverForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] TabbedPane.closePressedBackground #54595c HSL 203 5 35 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -TabbedPane.closePressedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closePressedForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TabbedPane.contentAreaColor #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 TabbedPane.darkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TabbedPane.disabledUnderlineColor #747a7e HSL 204 4 47 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focus #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focus #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focusColor #404b5d HSL 217 18 31 javax.swing.plaf.ColorUIResource [UI] TabbedPane.font [active] $defaultFont [UI] -TabbedPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TabbedPane.hasFullBorder false TabbedPane.hiddenTabsNavigation moreTabsButton TabbedPane.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] @@ -1108,29 +1108,29 @@ Table.cellNoFocusBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.F Table.consistentHomeEndKeyBehavior true Table.descendingSortIcon [lazy] 10,5 com.formdev.flatlaf.icons.FlatDescendingSortIcon [UI] Table.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] -Table.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.dropCellForeground [lazy] #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Table.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] Table.dropLineShortColor [lazy] #b4c3df HSL 219 40 79 javax.swing.plaf.ColorUIResource [UI] Table.editorSelectAllOnStartEditing true Table.focusCellBackground #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Table.focusCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Focused [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.focusSelectedCellHighlightBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.FlatTableCellBorder$Selected [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Table.font [active] $defaultFont [UI] -Table.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Table.gridColor #5a5e60 HSL 200 3 36 javax.swing.plaf.ColorUIResource [UI] Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI] Table.paintOutsideAlternateRows false Table.rowHeight 20 Table.scrollPaneBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatScrollPaneBorder [UI] Table.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -Table.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Table.selectionInactiveBackground #0f2a3d HSL 205 61 15 javax.swing.plaf.ColorUIResource [UI] -Table.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Table.selectionInactiveForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Table.showHorizontalLines false Table.showTrailingVerticalLine false Table.showVerticalLines false -Table.sortIconColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Table.sortIconColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] #---- TableHeader ---- @@ -1141,7 +1141,7 @@ TableHeader.cellBorder [lazy] 2,3,2,3 false com.formdev.flatlaf.ui.F TableHeader.cellMargins 2,3,2,3 javax.swing.plaf.InsetsUIResource [UI] TableHeader.focusCellBackground #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] TableHeader.font [active] $defaultFont [UI] -TableHeader.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TableHeader.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TableHeader.height 25 TableHeader.hoverBackground #525658 HSL 200 4 33 com.formdev.flatlaf.util.DerivedColor [UI] lighten(5% autoInverse) TableHeader.pressedBackground #5f6365 HSL 200 3 38 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) @@ -1165,7 +1165,7 @@ TaskPane.specialTitleBackground #afafaf HSL 0 0 69 javax.swing.plaf.Col TaskPane.specialTitleForeground #222222 HSL 0 0 13 javax.swing.plaf.ColorUIResource [UI] TaskPane.specialTitleOver #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] TaskPane.titleBackgroundGradientStart #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] -TaskPane.titleForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TaskPane.titleForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TaskPane.titleOver #888888 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] @@ -1180,15 +1180,15 @@ TaskPaneContainer.border [lazy] 10,10,10,10 false com.formdev.flatlaf. TextArea.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] TextArea.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextArea.caretBlinkRate 500 -TextArea.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextArea.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextArea.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextArea.font [active] $defaultFont [UI] -TextArea.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextArea.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextArea.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -TextArea.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] TextAreaUI com.formdev.flatlaf.ui.FlatTextAreaUI @@ -1204,20 +1204,20 @@ TextComponent.selectAllOnMouseClick false TextField.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] TextField.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatTextBorder [UI] TextField.caretBlinkRate 500 -TextField.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextField.darkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] TextField.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextField.font [active] $defaultFont [UI] -TextField.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextField.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] TextField.iconTextGap 4 TextField.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TextField.light #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TextField.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -TextField.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] TextField.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] TextFieldUI com.formdev.flatlaf.ui.FlatTextFieldUI @@ -1227,15 +1227,15 @@ TextFieldUI com.formdev.flatlaf.ui.FlatTextFieldUI TextPane.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] TextPane.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] TextPane.caretBlinkRate 500 -TextPane.caretForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextPane.caretForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextPane.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] TextPane.font [active] $defaultFont [UI] -TextPane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextPane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextPane.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -TextPane.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI @@ -1255,15 +1255,15 @@ TitlePane.closeHoverForeground #ffffff HSL 0 0 100 javax.swing.plaf.Colo TitlePane.closeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowCloseIcon [UI] TitlePane.closePressedBackground #c42b1ce6 90% HSLA 5 75 44 90 javax.swing.plaf.ColorUIResource [UI] TitlePane.closePressedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -TitlePane.embeddedForeground #959595 HSL 0 0 58 javax.swing.plaf.ColorUIResource [UI] +TitlePane.embeddedForeground #b7b7b7 HSL 0 0 72 javax.swing.plaf.ColorUIResource [UI] TitlePane.font [active] $defaultFont [UI] -TitlePane.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TitlePane.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] TitlePane.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] TitlePane.inactiveBackground #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 40 @@ -1291,7 +1291,7 @@ TitlePane.useWindowDecorations true TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 TitledBorder.font [active] $defaultFont [UI] -TitledBorder.titleColor #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +TitledBorder.titleColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #---- TitledPanel ---- @@ -1306,9 +1306,9 @@ ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.F ToggleButton.darkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledSelectedBackground #55585a HSL 204 3 34 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) -ToggleButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] -ToggleButton.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] ToggleButton.iconTextGap 4 ToggleButton.light #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI] @@ -1316,7 +1316,7 @@ ToggleButton.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [U ToggleButton.pressedBackground #5d5f62 HSL 216 3 37 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) ToggleButton.rollover true ToggleButton.selectedBackground #676a6c HSL 204 2 41 com.formdev.flatlaf.util.DerivedColor [UI] lighten(10% autoInverse) -ToggleButton.selectedForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ToggleButton.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.disabledUnderlineColor #747a7e HSL 204 4 47 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.focusBackground #404b5d HSL 217 18 31 javax.swing.plaf.ColorUIResource [UI] @@ -1345,8 +1345,8 @@ ToolBar.floatingBackground #3c3f41 HSL 204 4 25 javax.swing.plaf.Colo ToolBar.floatingForeground #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ToolBar.focusableButtons false ToolBar.font [active] $defaultFont [UI] -ToolBar.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -ToolBar.gripColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +ToolBar.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +ToolBar.gripColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] ToolBar.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] ToolBar.hoverButtonGroupArc 8 ToolBar.hoverButtonGroupBackground #434749 HSL 200 4 27 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) @@ -1374,7 +1374,7 @@ ToolTip.background #1e2021 HSL 200 5 12 javax.swing.plaf.Colo ToolTip.border [lazy] 4,6,4,6 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] ToolTip.borderCornerRadius 4 ToolTip.font [active] $defaultFont [UI] -ToolTip.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +ToolTip.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #---- ToolTipManager ---- @@ -1396,18 +1396,18 @@ Tree.closedIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTre Tree.collapsedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeCollapsedIcon [UI] Tree.drawsFocusBorderAroundIcon false Tree.dropCellBackground [lazy] #3c588b HSL 219 40 39 javax.swing.plaf.ColorUIResource [UI] -Tree.dropCellForeground [lazy] #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.dropCellForeground [lazy] #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Tree.dropLineColor [lazy] #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] Tree.editorBorder [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 Tree.expandedIcon [lazy] 11,11 com.formdev.flatlaf.icons.FlatTreeExpandedIcon [UI] Tree.font [active] $defaultFont [UI] -Tree.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Tree.hash #525658 HSL 200 4 33 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.closedColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.collapsedColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.expandedColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.leafColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] -Tree.icon.openColor #aeaeae HSL 0 0 68 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.closedColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.collapsedColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.expandedColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.leafColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] +Tree.icon.openColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] Tree.leafIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTreeLeafIcon [UI] Tree.leftChildIndent 7 Tree.lineTypeDashed false @@ -1422,14 +1422,14 @@ Tree.scrollsOnExpand true Tree.selectionArc 0 Tree.selectionBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] Tree.selectionBorderColor #6d8ac0 HSL 219 40 59 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] Tree.selectionInactiveBackground #0f2a3d HSL 205 61 15 javax.swing.plaf.ColorUIResource [UI] -Tree.selectionInactiveForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionInactiveForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Tree.selectionInsets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Tree.showCellFocusIndicator false Tree.showDefaultIcons false Tree.textBackground #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] -Tree.textForeground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Tree.textForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] Tree.timeFactor 1000 Tree.wideCellRenderer false Tree.wideSelection true @@ -1455,7 +1455,7 @@ UIColorHighlighter.stripingBackground #525658 HSL 200 4 33 javax.swing.pl Viewport.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] Viewport.font [active] $defaultFont [UI] -Viewport.foreground #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +Viewport.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] ViewportUI com.formdev.flatlaf.ui.FlatViewportUI @@ -1504,13 +1504,13 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI activeCaption #434e60 HSL 217 18 32 javax.swing.plaf.ColorUIResource [UI] activeCaptionBorder #434e60 HSL 217 18 32 javax.swing.plaf.ColorUIResource [UI] -activeCaptionText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +activeCaptionText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] control #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] controlDkShadow #7a7d7f HSL 204 2 49 javax.swing.plaf.ColorUIResource [UI] controlHighlight #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI] controlLtHighlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] controlShadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] -controlText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +controlText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] defaultFont Segoe UI plain 12 javax.swing.plaf.FontUIResource [UI] desktop #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] @@ -1558,9 +1558,9 @@ html.pendingImage [lazy] 38,38 sun.swing.ImageIconUIResource [UI inactiveCaption #393c3d HSL 195 3 23 javax.swing.plaf.ColorUIResource [UI] inactiveCaptionBorder #393c3d HSL 195 3 23 javax.swing.plaf.ColorUIResource [UI] -inactiveCaptionText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +inactiveCaptionText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] info #1e2021 HSL 200 5 12 javax.swing.plaf.ColorUIResource [UI] -infoText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +infoText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #---- laf ---- @@ -1587,7 +1587,7 @@ medium.font [active] Segoe UI plain 11 javax.swing.plaf.Fo #---- ---- menu #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -menuText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +menuText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #---- mini ---- @@ -1624,12 +1624,12 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI text #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] textHighlight #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] -textHighlightText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -textInactiveText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] -textText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +textHighlightText #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] +textText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] window #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -windowBorder #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] -windowText #bbbbbb HSL 0 0 73 javax.swing.plaf.ColorUIResource [UI] +windowBorder #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +windowText #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] #-------- Contrast Ratios -------- @@ -1639,114 +1639,114 @@ windowText #bbbbbb HSL 0 0 73 javax.swing.plaf.Colo #-- activeTitleForeground -- -InternalFrame.activeTitleForeground #bbbbbb #242526 8.0 +InternalFrame.activeTitleForeground #dddddd #242526 11.3 #-- disabledForeground -- -ComboBox.disabledForeground #8c8c8c #3c3f41 3.2 !!!! -Label.disabledForeground #8c8c8c #3c3f41 3.2 !!!! -Spinner.disabledForeground #8c8c8c #3c3f41 3.2 !!!! +ComboBox.disabledForeground #a6a6a6 #3c3f41 4.4 !!! +Label.disabledForeground #a6a6a6 #3c3f41 4.4 !!! +Spinner.disabledForeground #a6a6a6 #3c3f41 4.4 !!! #-- disabledText -- -Button.disabledText #8c8c8c #3c3f41 3.2 !!!! -CheckBox.disabledText #8c8c8c #3c3f41 3.2 !!!! -RadioButton.disabledText #8c8c8c #3c3f41 3.2 !!!! -ToggleButton.disabledText #8c8c8c #3c3f41 3.2 !!!! +Button.disabledText #a6a6a6 #3c3f41 4.4 !!! +CheckBox.disabledText #a6a6a6 #3c3f41 4.4 !!! +RadioButton.disabledText #a6a6a6 #3c3f41 4.4 !!! +ToggleButton.disabledText #a6a6a6 #3c3f41 4.4 !!! #-- dropCellForeground -- -List.dropCellForeground #bbbbbb #3c588b 3.7 !!!! -Table.dropCellForeground #bbbbbb #3c588b 3.7 !!!! -Tree.dropCellForeground #bbbbbb #3c588b 3.7 !!!! +List.dropCellForeground #eeeeee #3c588b 6.1 ! +Table.dropCellForeground #eeeeee #3c588b 6.1 ! +Tree.dropCellForeground #eeeeee #3c588b 6.1 ! #-- focusCellForeground -- -Table.focusCellForeground #bbbbbb #46494b 4.7 !!! +Table.focusCellForeground #dddddd #46494b 6.7 ! #-- foreground -- -Button.foreground #bbbbbb #4e5052 4.2 !!! -Button.default.foreground #bbbbbb #375a81 3.7 !!!! -CheckBox.foreground #bbbbbb #3c3f41 5.5 !! -CheckBoxMenuItem.foreground #bbbbbb #303234 6.7 ! -ColorChooser.foreground #bbbbbb #3c3f41 5.5 !! -ComboBox.foreground #bbbbbb #46494b 4.7 !!! -DesktopIcon.foreground #bbbbbb #555c68 3.5 !!!! -EditorPane.foreground #bbbbbb #46494b 4.7 !!! -FormattedTextField.foreground #bbbbbb #46494b 4.7 !!! -JideButton.foreground #bbbbbb #4e5052 4.2 !!! -JideLabel.foreground #bbbbbb #3c3f41 5.5 !! -JideSplitButton.foreground #bbbbbb #4e5052 4.2 !!! -JideTabbedPane.foreground #bbbbbb #3c3f41 5.5 !! -Label.foreground #bbbbbb #3c3f41 5.5 !! -List.foreground #bbbbbb #46494b 4.7 !!! -Menu.foreground #bbbbbb #303234 6.7 ! -MenuBar.foreground #bbbbbb #303234 6.7 ! -MenuItem.foreground #bbbbbb #303234 6.7 ! -OptionPane.foreground #bbbbbb #3c3f41 5.5 !! -Panel.foreground #bbbbbb #3c3f41 5.5 !! -PasswordField.foreground #bbbbbb #46494b 4.7 !!! -PopupMenu.foreground #bbbbbb #303234 6.7 ! -RadioButton.foreground #bbbbbb #3c3f41 5.5 !! -RadioButtonMenuItem.foreground #bbbbbb #303234 6.7 ! -RootPane.foreground #bbbbbb #3c3f41 5.5 !! -Spinner.foreground #bbbbbb #46494b 4.7 !!! -TabbedPane.foreground #bbbbbb #3c3f41 5.5 !! -Table.foreground #bbbbbb #46494b 4.7 !!! -TableHeader.foreground #bbbbbb #46494b 4.7 !!! -TextArea.foreground #bbbbbb #46494b 4.7 !!! -TextField.foreground #bbbbbb #46494b 4.7 !!! -TextPane.foreground #bbbbbb #46494b 4.7 !!! -TitlePane.foreground #bbbbbb #303234 6.7 ! -ToggleButton.foreground #bbbbbb #4e5052 4.2 !!! -ToolTip.foreground #bbbbbb #1e2021 8.5 -Tree.foreground #bbbbbb #46494b 4.7 !!! +Button.foreground #dddddd #4e5052 6.0 ! +Button.default.foreground #dddddd #375a81 5.3 !! +CheckBox.foreground #dddddd #3c3f41 7.8 +CheckBoxMenuItem.foreground #dddddd #303234 9.5 +ColorChooser.foreground #dddddd #3c3f41 7.8 +ComboBox.foreground #dddddd #46494b 6.7 ! +DesktopIcon.foreground #dddddd #555c68 5.0 !! +EditorPane.foreground #dddddd #46494b 6.7 ! +FormattedTextField.foreground #dddddd #46494b 6.7 ! +JideButton.foreground #dddddd #4e5052 6.0 ! +JideLabel.foreground #dddddd #3c3f41 7.8 +JideSplitButton.foreground #dddddd #4e5052 6.0 ! +JideTabbedPane.foreground #dddddd #3c3f41 7.8 +Label.foreground #dddddd #3c3f41 7.8 +List.foreground #dddddd #46494b 6.7 ! +Menu.foreground #dddddd #303234 9.5 +MenuBar.foreground #dddddd #303234 9.5 +MenuItem.foreground #dddddd #303234 9.5 +OptionPane.foreground #dddddd #3c3f41 7.8 +Panel.foreground #dddddd #3c3f41 7.8 +PasswordField.foreground #dddddd #46494b 6.7 ! +PopupMenu.foreground #dddddd #303234 9.5 +RadioButton.foreground #dddddd #3c3f41 7.8 +RadioButtonMenuItem.foreground #dddddd #303234 9.5 +RootPane.foreground #dddddd #3c3f41 7.8 +Spinner.foreground #dddddd #46494b 6.7 ! +TabbedPane.foreground #dddddd #3c3f41 7.8 +Table.foreground #dddddd #46494b 6.7 ! +TableHeader.foreground #dddddd #46494b 6.7 ! +TextArea.foreground #dddddd #46494b 6.7 ! +TextField.foreground #dddddd #46494b 6.7 ! +TextPane.foreground #dddddd #46494b 6.7 ! +TitlePane.foreground #dddddd #303234 9.5 +ToggleButton.foreground #dddddd #4e5052 6.0 ! +ToolTip.foreground #dddddd #1e2021 12.0 +Tree.foreground #dddddd #46494b 6.7 ! #-- inactiveForeground -- -EditorPane.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -FormattedTextField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -PasswordField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -TextArea.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -TextField.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -TextPane.inactiveForeground #8c8c8c #3c3f41 3.2 !!!! -TitlePane.inactiveForeground #8c8c8c #303234 3.8 !!!! +EditorPane.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +FormattedTextField.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +PasswordField.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +TextArea.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +TextField.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +TextPane.inactiveForeground #a6a6a6 #3c3f41 4.4 !!! +TitlePane.inactiveForeground #a6a6a6 #303234 5.3 !! #-- inactiveTitleForeground -- -InternalFrame.inactiveTitleForeground #8c8c8c #303233 3.8 !!!! +InternalFrame.inactiveTitleForeground #a6a6a6 #303233 5.3 !! #-- monthStringForeground -- -JXMonthView.monthStringForeground #bbbbbb #4c5052 4.2 !!! +JXMonthView.monthStringForeground #dddddd #4c5052 6.0 ! #-- selectedForeground -- -Button.selectedForeground #bbbbbb #676a6c 2.8 !!!!! -ToggleButton.selectedForeground #bbbbbb #676a6c 2.8 !!!!! +Button.selectedForeground #dddddd #676a6c 4.0 !!! +ToggleButton.selectedForeground #dddddd #676a6c 4.0 !!! #-- selectionBackground -- -ProgressBar.selectionBackground #bbbbbb #505456 4.0 !!! +ProgressBar.selectionBackground #dddddd #505456 5.6 !! #-- selectionForeground -- -CheckBoxMenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -ComboBox.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -EditorPane.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -FormattedTextField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -List.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -Menu.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -MenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -PasswordField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -ProgressBar.selectionForeground #bbbbbb #4c87c8 2.0 !!!!! -RadioButtonMenuItem.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -Table.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -TextArea.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -TextField.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -TextPane.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! -Tree.selectionForeground #bbbbbb #4b6eaf 2.6 !!!!! +CheckBoxMenuItem.selectionForeground #eeeeee #4b6eaf 4.4 !!! +ComboBox.selectionForeground #eeeeee #4b6eaf 4.4 !!! +EditorPane.selectionForeground #eeeeee #4b6eaf 4.4 !!! +FormattedTextField.selectionForeground #eeeeee #4b6eaf 4.4 !!! +List.selectionForeground #eeeeee #4b6eaf 4.4 !!! +Menu.selectionForeground #eeeeee #4b6eaf 4.4 !!! +MenuItem.selectionForeground #eeeeee #4b6eaf 4.4 !!! +PasswordField.selectionForeground #eeeeee #4b6eaf 4.4 !!! +ProgressBar.selectionForeground #eeeeee #4c87c8 3.2 !!!! +RadioButtonMenuItem.selectionForeground #eeeeee #4b6eaf 4.4 !!! +Table.selectionForeground #eeeeee #4b6eaf 4.4 !!! +TextArea.selectionForeground #eeeeee #4b6eaf 4.4 !!! +TextField.selectionForeground #eeeeee #4b6eaf 4.4 !!! +TextPane.selectionForeground #eeeeee #4b6eaf 4.4 !!! +Tree.selectionForeground #eeeeee #4b6eaf 4.4 !!! #-- selectionInactiveForeground -- -List.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 -Table.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 -Tree.selectionInactiveForeground #bbbbbb #0f2a3d 7.7 +List.selectionInactiveForeground #dddddd #0f2a3d 10.9 +Table.selectionInactiveForeground #dddddd #0f2a3d 10.9 +Tree.selectionInactiveForeground #dddddd #0f2a3d 10.9 #-- specialTitleForeground -- TaskPane.specialTitleForeground #222222 #afafaf 7.3 #-- textForeground -- -Tree.textForeground #bbbbbb #46494b 4.7 !!! +Tree.textForeground #dddddd #46494b 6.7 ! #-- titleForeground -- -JXTitledPanel.titleForeground #bbbbbb #4c5052 4.2 !!! +JXTitledPanel.titleForeground #dddddd #4c5052 6.0 ! diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index 90cda52f..ff24fe83 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -80,9 +80,9 @@ Button.default.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf Button.defaultButtonFollowsFocus false Button.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] Button.disabledBorderColor #cecece HSL 0 0 81 javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Button.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -Button.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Button.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Button.focusedBackground #eaf3fb HSL 208 68 95 javax.swing.plaf.ColorUIResource [UI] Button.focusedBorderColor #89b0d4 HSL 209 47 68 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] @@ -120,7 +120,7 @@ Caret.width [active] 1 CheckBox.arc 4 CheckBox.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -164,7 +164,7 @@ CheckBoxMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.Colo CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.icon.checkmarkColor #4e9de7 HSL 209 76 61 javax.swing.plaf.ColorUIResource [UI] @@ -216,7 +216,7 @@ ComboBox.buttonSeparatorColor #c2c2c2 HSL 0 0 76 javax.swing.plaf.Colo ComboBox.buttonShadow #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle auto ComboBox.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] ComboBox.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] @@ -295,7 +295,7 @@ EditorPane.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.Colo EditorPane.font [active] $defaultFont [UI] EditorPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] EditorPane.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] EditorPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -336,9 +336,9 @@ FormattedTextField.font [active] $defaultFont [UI] FormattedTextField.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.iconTextGap 4 FormattedTextField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -369,7 +369,7 @@ HelpButton.questionMarkColor #4e9de7 HSL 209 76 61 javax.swing.plaf.Colo #---- Hyperlink ---- -Hyperlink.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Hyperlink.linkColor #236db2 HSL 209 67 42 javax.swing.plaf.ColorUIResource [UI] Hyperlink.visitedColor #236db2 HSL 209 67 42 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI @@ -405,7 +405,7 @@ InternalFrame.inactiveBorderColor #c2c2c2 HSL 0 0 76 javax.swing.plaf.C InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.inactiveDropShadowOpacity 0.5 InternalFrame.inactiveTitleBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -448,17 +448,17 @@ JXHeader.titleFont [active] Segoe UI bold 12 javax.swing.plaf.Fon JXMonthView.arrowColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JXMonthView.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] JXMonthView.daysOfTheWeekForeground #444444 HSL 0 0 27 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.flaggedDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] -JXMonthView.leadingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #bfdaf2 HSL 208 66 85 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.unselectableDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.weekOfTheYearForeground #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] @@ -493,7 +493,7 @@ JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- JideLabel.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] JideLabel.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -536,7 +536,7 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- Label.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Label.disabledShadow #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] Label.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] @@ -581,7 +581,7 @@ Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] Menu.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] @@ -632,7 +632,7 @@ MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F MenuItem.borderPainted true MenuItem.checkBackground #bfd9f2 HSL 209 66 85 com.formdev.flatlaf.util.DerivedColor [UI] lighten(40%) MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 @@ -730,9 +730,9 @@ PasswordField.font [active] $defaultFont [UI] PasswordField.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] PasswordField.iconTextGap 4 PasswordField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] PasswordField.revealIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatRevealIcon [UI] PasswordField.revealIconColor #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] PasswordField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] @@ -801,7 +801,7 @@ ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI RadioButton.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] RadioButton.darkShadow #9c9c9c HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -827,7 +827,7 @@ RadioButtonMenuItem.background #ffffff HSL 0 0 100 javax.swing.plaf.Colo RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,6,3,6 javax.swing.plaf.InsetsUIResource [UI] @@ -973,7 +973,7 @@ Slider.pressedThumbColor #1a70c0 HSL 209 76 43 com.formdev.flatlaf.u Slider.shadow #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] Slider.thumbColor #2285e1 HSL 209 76 51 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 12,12 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Slider.trackColor #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] Slider.trackValueColor #2285e1 HSL 209 76 51 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 2 @@ -995,7 +995,7 @@ Spinner.buttonPressedArrowColor #b3b3b3 HSL 0 0 70 com.formdev.flatlaf. Spinner.buttonSeparatorColor #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonStyle button Spinner.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false Spinner.font [active] $defaultFont [UI] @@ -1049,7 +1049,7 @@ TabbedPane.closeArc 4 TabbedPane.closeCrossFilledSize 7.5 TabbedPane.closeCrossLineWidth 1 TabbedPane.closeCrossPlainSize 7.5 -TabbedPane.closeForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeHoverBackground #bfbfbf HSL 0 0 75 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) TabbedPane.closeHoverForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] @@ -1060,7 +1060,7 @@ TabbedPane.contentAreaColor #c2c2c2 HSL 0 0 76 javax.swing.plaf.Colo TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 TabbedPane.darkShadow #9c9c9c HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TabbedPane.disabledUnderlineColor #ababab HSL 0 0 67 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focusColor #dee6ed HSL 208 29 90 javax.swing.plaf.ColorUIResource [UI] @@ -1190,7 +1190,7 @@ TextArea.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.Colo TextArea.font [active] $defaultFont [UI] TextArea.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextArea.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] TextArea.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -1217,10 +1217,10 @@ TextField.foreground #000000 HSL 0 0 0 javax.swing.plaf.Colo TextField.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextField.iconTextGap 4 TextField.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TextField.light #e1e1e1 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TextField.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] TextField.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] TextField.shadow #c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] @@ -1237,7 +1237,7 @@ TextPane.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.Colo TextPane.font [active] $defaultFont [UI] TextPane.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextPane.selectionBackground #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] TextPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -1268,7 +1268,7 @@ TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] TitlePane.inactiveBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 40 @@ -1311,7 +1311,7 @@ ToggleButton.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.F ToggleButton.darkShadow #9c9c9c HSL 0 0 61 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledBackground #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -ToggleButton.disabledText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] ToggleButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -1630,7 +1630,7 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] textHighlight #2675bf HSL 209 67 45 javax.swing.plaf.ColorUIResource [UI] textHighlightText #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -textInactiveText #8c8c8c HSL 0 0 55 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] textText #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] window #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] windowBorder #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] @@ -1647,15 +1647,15 @@ windowText #000000 HSL 0 0 0 javax.swing.plaf.Colo InternalFrame.activeTitleForeground #000000 #ffffff 21.0 #-- disabledForeground -- -ComboBox.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! -Label.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! -Spinner.disabledForeground #8c8c8c #f2f2f2 3.0 !!!! +ComboBox.disabledForeground #808080 #f2f2f2 3.5 !!!! +Label.disabledForeground #808080 #f2f2f2 3.5 !!!! +Spinner.disabledForeground #808080 #f2f2f2 3.5 !!!! #-- disabledText -- -Button.disabledText #8c8c8c #f2f2f2 3.0 !!!! -CheckBox.disabledText #8c8c8c #f2f2f2 3.0 !!!! -RadioButton.disabledText #8c8c8c #f2f2f2 3.0 !!!! -ToggleButton.disabledText #8c8c8c #f2f2f2 3.0 !!!! +Button.disabledText #808080 #f2f2f2 3.5 !!!! +CheckBox.disabledText #808080 #f2f2f2 3.5 !!!! +RadioButton.disabledText #808080 #f2f2f2 3.5 !!!! +ToggleButton.disabledText #808080 #f2f2f2 3.5 !!!! #-- dropCellForeground -- List.dropCellForeground #ffffff #3f8fd9 3.4 !!!! @@ -1704,16 +1704,16 @@ ToolTip.foreground #000000 #fafafa 20.1 Tree.foreground #000000 #ffffff 21.0 #-- inactiveForeground -- -EditorPane.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -FormattedTextField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -PasswordField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -TextArea.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -TextField.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -TextPane.inactiveForeground #8c8c8c #f2f2f2 3.0 !!!! -TitlePane.inactiveForeground #8c8c8c #ffffff 3.4 !!!! +EditorPane.inactiveForeground #808080 #f2f2f2 3.5 !!!! +FormattedTextField.inactiveForeground #808080 #f2f2f2 3.5 !!!! +PasswordField.inactiveForeground #808080 #f2f2f2 3.5 !!!! +TextArea.inactiveForeground #808080 #f2f2f2 3.5 !!!! +TextField.inactiveForeground #808080 #f2f2f2 3.5 !!!! +TextPane.inactiveForeground #808080 #f2f2f2 3.5 !!!! +TitlePane.inactiveForeground #808080 #ffffff 3.9 !!!! #-- inactiveTitleForeground -- -InternalFrame.inactiveTitleForeground #8c8c8c #fafafa 3.2 !!!! +InternalFrame.inactiveTitleForeground #808080 #fafafa 3.8 !!!! #-- monthStringForeground -- JXMonthView.monthStringForeground #000000 #dfdfdf 15.8 diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index fdd8ff3f..352a5d70 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -73,7 +73,7 @@ Button.default.borderColor #268eff HSL 211 100 57 javax.swing.plaf.Colo Button.default.borderWidth 0 Button.default.focusColor #29acff80 50% HSLA 203 100 58 50 javax.swing.plaf.ColorUIResource [UI] Button.default.focusedBorderColor #2e92ff HSL 211 100 59 javax.swing.plaf.ColorUIResource [UI] -Button.default.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +Button.default.foreground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Button.default.hoverBackground #0f82ff HSL 211 100 53 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) Button.default.hoverBorderColor #2e92ff HSL 211 100 59 javax.swing.plaf.ColorUIResource [UI] Button.default.pressedBackground #1f8aff HSL 211 100 56 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) @@ -794,7 +794,7 @@ ProgressBar.foreground #007aff HSL 211 100 50 javax.swing.plaf.Colo ProgressBar.horizontalSize 146,4 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 15 ProgressBar.selectionBackground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 4,146 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI @@ -1326,7 +1326,7 @@ ToggleButton.margin 2,14,2,14 javax.swing.plaf.InsetsUIResource [U ToggleButton.pressedBackground #656565 HSL 0 0 40 com.formdev.flatlaf.util.DerivedColor [UI] lighten(6% autoInverse) ToggleButton.rollover true ToggleButton.selectedBackground #898989 HSL 0 0 54 com.formdev.flatlaf.util.DerivedColor [UI] lighten(20% autoInverse) -ToggleButton.selectedForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.selectedForeground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] ToggleButton.shadow #ffffff19 10% HSLA 0 0 100 10 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.disabledUnderlineColor #595959 HSL 0 0 35 javax.swing.plaf.ColorUIResource [UI] ToggleButton.tab.focusBackground #172c4a HSL 215 53 19 javax.swing.plaf.ColorUIResource [UI] @@ -1672,7 +1672,7 @@ Table.focusCellForeground #dddddd #282828 10.9 #-- foreground -- Button.foreground #dddddd #565656 5.4 !! -Button.default.foreground #dddddd #007aff 3.0 !!!! +Button.default.foreground #ffffff #007aff 4.0 !!! CheckBox.foreground #dddddd #1e1e1e 12.3 CheckBoxMenuItem.foreground #dddddd #323232 9.4 ColorChooser.foreground #dddddd #1e1e1e 12.3 @@ -1725,7 +1725,7 @@ JXMonthView.monthStringForeground #dddddd #4c5052 6.0 ! #-- selectedForeground -- Button.selectedForeground #dddddd #707070 3.6 !!!! -ToggleButton.selectedForeground #dddddd #898989 2.6 !!!!! +ToggleButton.selectedForeground #ffffff #898989 3.5 !!!! #-- selectionBackground -- ProgressBar.selectionBackground #dddddd #323232 9.4 @@ -1740,7 +1740,7 @@ Menu.selectionForeground #ffffff #1458b8 6.7 ! MenuBar.selectionForeground #dddddd #585858 5.2 !! MenuItem.selectionForeground #ffffff #1458b8 6.7 ! PasswordField.selectionForeground #ffffff #3d6490 6.1 ! -ProgressBar.selectionForeground #dddddd #007aff 3.0 !!!! +ProgressBar.selectionForeground #eeeeee #007aff 3.5 !!!! RadioButtonMenuItem.selectionForeground #ffffff #1458b8 6.7 ! Table.selectionForeground #ffffff #0054cc 6.7 ! TextArea.selectionForeground #ffffff #3d6490 6.1 ! diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 51fa1dad..5016b3b5 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -80,9 +80,9 @@ Button.default.pressedBackground #0062cc HSL 211 100 40 com.formdev.flatlaf Button.defaultButtonFollowsFocus false Button.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] Button.disabledBorderColor #00000019 10% HSLA 0 0 0 10 javax.swing.plaf.ColorUIResource [UI] -Button.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Button.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Button.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -Button.disabledText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Button.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Button.focusedBorderColor #005fe68d 55% HSLA 215 100 45 55 javax.swing.plaf.ColorUIResource [UI] Button.font [active] $defaultFont [UI] Button.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -119,7 +119,7 @@ Caret.width [active] 1 CheckBox.arc 7 CheckBox.background #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] -CheckBox.disabledText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +CheckBox.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -169,7 +169,7 @@ CheckBoxMenuItem.background #ececec HSL 0 0 93 javax.swing.plaf.Colo CheckBoxMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] CheckBoxMenuItem.borderPainted true CheckBoxMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxMenuItemIcon [UI] -CheckBoxMenuItem.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.icon.checkmarkColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] @@ -221,7 +221,7 @@ ComboBox.buttonSeparatorColor #00000026 15% HSLA 0 0 0 15 javax.swin ComboBox.buttonShadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonStyle mac ComboBox.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] ComboBox.editorColumns 0 ComboBox.font [active] $defaultFont [UI] ComboBox.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -301,7 +301,7 @@ EditorPane.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.Colo EditorPane.font [active] $defaultFont [UI] EditorPane.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -EditorPane.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +EditorPane.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] EditorPane.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] EditorPane.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -342,9 +342,9 @@ FormattedTextField.font [active] $defaultFont [UI] FormattedTextField.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.iconTextGap 4 FormattedTextField.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.placeholderForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.placeholderForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI com.formdev.flatlaf.ui.FlatFormattedTextFieldUI @@ -374,7 +374,7 @@ HelpButton.questionMarkColor #007aff HSL 211 100 50 javax.swing.plaf.Colo #---- Hyperlink ---- -Hyperlink.disabledText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Hyperlink.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Hyperlink.linkColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] Hyperlink.visitedColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] HyperlinkUI com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI @@ -410,7 +410,7 @@ InternalFrame.inactiveBorderColor #c5c5c5 HSL 0 0 77 javax.swing.plaf.C InternalFrame.inactiveDropShadowInsets 3,3,4,4 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.inactiveDropShadowOpacity 0.5 InternalFrame.inactiveTitleBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.inactiveTitleForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.inactiveTitleForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] InternalFrame.maximizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameMaximizeIcon [UI] InternalFrame.minimizeIcon [lazy] 24,24 com.formdev.flatlaf.icons.FlatInternalFrameRestoreIcon [UI] InternalFrame.titleFont [active] $defaultFont [UI] @@ -453,17 +453,17 @@ JXHeader.titleFont [active] Segoe UI bold 12 javax.swing.plaf.Fon JXMonthView.arrowColor #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] JXMonthView.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] JXMonthView.daysOfTheWeekForeground #444444 HSL 0 0 27 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.disabledArrowColor #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.disabledArrowColor #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] JXMonthView.flaggedDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] -JXMonthView.leadingDayForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.leadingDayForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #b3d2ff HSL 216 100 85 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.trailingDayForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +JXMonthView.trailingDayForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] JXMonthView.unselectableDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.weekOfTheYearForeground #666666 HSL 0 0 40 javax.swing.plaf.ColorUIResource [UI] @@ -498,7 +498,7 @@ JideButtonUI com.formdev.flatlaf.jideoss.ui.FlatJideButtonUI #---- JideLabel ---- JideLabel.background #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -JideLabel.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +JideLabel.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] JideLabel.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] JideLabelUI com.formdev.flatlaf.jideoss.ui.FlatJideLabelUI @@ -541,7 +541,7 @@ JideTabbedPaneUI com.formdev.flatlaf.jideoss.ui.FlatJideTabbedPane #---- Label ---- Label.background #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -Label.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Label.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Label.disabledShadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] Label.font [active] $defaultFont [UI] Label.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -586,7 +586,7 @@ Menu.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F Menu.borderPainted true Menu.cancelMode hideLastSubmenu Menu.crossMenuMnemonic true -Menu.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Menu.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Menu.font [active] $defaultFont [UI] Menu.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] Menu.icon.arrowColor #7d7d7d HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] @@ -639,7 +639,7 @@ MenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F MenuItem.borderPainted true MenuItem.checkBackground #bddcff HSL 212 100 87 com.formdev.flatlaf.util.DerivedColor [UI] lighten(25%) MenuItem.checkMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +MenuItem.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] MenuItem.font [active] $defaultFont [UI] MenuItem.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] MenuItem.iconTextGap 6 @@ -737,9 +737,9 @@ PasswordField.font [active] $defaultFont [UI] PasswordField.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] PasswordField.iconTextGap 4 PasswordField.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.placeholderForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +PasswordField.placeholderForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] PasswordField.revealIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatRevealIcon [UI] PasswordField.revealIconColor #7d7d7d HSL 0 0 49 javax.swing.plaf.ColorUIResource [UI] PasswordField.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] @@ -808,7 +808,7 @@ ProgressBarUI com.formdev.flatlaf.ui.FlatProgressBarUI RadioButton.background #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMarginBorder [UI] RadioButton.darkShadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] -RadioButton.disabledText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +RadioButton.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #40404026 15% HSLA 0 0 25 15 javax.swing.plaf.ColorUIResource [UI] @@ -835,7 +835,7 @@ RadioButtonMenuItem.background #ececec HSL 0 0 93 javax.swing.plaf.Colo RadioButtonMenuItem.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.FlatMenuItemBorder [UI] RadioButtonMenuItem.borderPainted true RadioButtonMenuItem.checkIcon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonMenuItemIcon [UI] -RadioButtonMenuItem.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 3,11,3,11 javax.swing.plaf.InsetsUIResource [UI] @@ -982,7 +982,7 @@ Slider.shadow #00000026 15% HSLA 0 0 0 15 javax.swin Slider.thumbBorderColor #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] Slider.thumbColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] Slider.thumbSize 14,14 javax.swing.plaf.DimensionUIResource [UI] -Slider.tickColor #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Slider.tickColor #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Slider.trackColor #e4e4e4 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] Slider.trackValueColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] Slider.trackWidth 3 @@ -1004,7 +1004,7 @@ Spinner.buttonPressedArrowColor #737373 HSL 0 0 45 com.formdev.flatlaf. Spinner.buttonSeparatorColor #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] Spinner.buttonStyle mac Spinner.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] -Spinner.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +Spinner.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] Spinner.editorAlignment 11 Spinner.editorBorderPainted false Spinner.font [active] $defaultFont [UI] @@ -1058,7 +1058,7 @@ TabbedPane.closeArc 4 TabbedPane.closeCrossFilledSize 7.5 TabbedPane.closeCrossLineWidth 1 TabbedPane.closeCrossPlainSize 7.5 -TabbedPane.closeForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.closeForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeHoverBackground #c3c3c3 HSL 0 0 76 com.formdev.flatlaf.util.DerivedColor [UI] darken(20% autoInverse) TabbedPane.closeHoverForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] TabbedPane.closeIcon [lazy] 16,16 com.formdev.flatlaf.icons.FlatTabbedPaneCloseIcon [UI] @@ -1069,7 +1069,7 @@ TabbedPane.contentAreaColor #00000026 15% HSLA 0 0 0 15 javax.swin TabbedPane.contentOpaque true TabbedPane.contentSeparatorHeight 1 TabbedPane.darkShadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.disabledForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.disabledForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TabbedPane.disabledUnderlineColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focus #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] TabbedPane.focusColor #dde7f4 HSL 214 51 91 javax.swing.plaf.ColorUIResource [UI] @@ -1199,7 +1199,7 @@ TextArea.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.Colo TextArea.font [active] $defaultFont [UI] TextArea.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -TextArea.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TextArea.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TextArea.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextArea.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] TextArea.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -1226,10 +1226,10 @@ TextField.foreground #262626 HSL 0 0 15 javax.swing.plaf.Colo TextField.highlight #40404026 15% HSLA 0 0 25 15 javax.swing.plaf.ColorUIResource [UI] TextField.iconTextGap 4 TextField.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TextField.light #1f1f1f26 15% HSLA 0 0 12 15 javax.swing.plaf.ColorUIResource [UI] TextField.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] -TextField.placeholderForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TextField.placeholderForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TextField.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] TextField.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] TextField.shadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -1246,7 +1246,7 @@ TextPane.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.Colo TextPane.font [active] $defaultFont [UI] TextPane.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveBackground #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] -TextPane.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TextPane.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TextPane.margin 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] TextPane.selectionBackground #b3d7ff HSL 212 100 85 javax.swing.plaf.ColorUIResource [UI] TextPane.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -1277,7 +1277,7 @@ TitlePane.iconMargins 3,8,3,8 javax.swing.plaf.InsetsUIResource [UI] TitlePane.iconSize 16,16 javax.swing.plaf.DimensionUIResource [UI] TitlePane.iconifyIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowIconifyIcon [UI] TitlePane.inactiveBackground #ececec HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] -TitlePane.inactiveForeground #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +TitlePane.inactiveForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] TitlePane.maximizeIcon [lazy] 44,30 com.formdev.flatlaf.icons.FlatWindowMaximizeIcon [UI] TitlePane.menuBarEmbedded true TitlePane.menuBarTitleGap 40 @@ -1320,7 +1320,7 @@ ToggleButton.border [lazy] 3,3,3,3 false com.formdev.flatlaf.ui.F ToggleButton.darkShadow #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledBackground #fafafa HSL 0 0 98 javax.swing.plaf.ColorUIResource [UI] ToggleButton.disabledSelectedBackground #dedede HSL 0 0 87 com.formdev.flatlaf.util.DerivedColor [UI] darken(13% autoInverse) -ToggleButton.disabledText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] ToggleButton.font [active] $defaultFont [UI] ToggleButton.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #40404026 15% HSLA 0 0 25 15 javax.swing.plaf.ColorUIResource [UI] @@ -1639,7 +1639,7 @@ swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] textHighlight #005fe6 HSL 215 100 45 javax.swing.plaf.ColorUIResource [UI] textHighlightText #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -textInactiveText #b6b6b6 HSL 0 0 71 javax.swing.plaf.ColorUIResource [UI] +textInactiveText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] textText #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] window #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] windowBorder #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -1656,15 +1656,15 @@ windowText #262626 HSL 0 0 15 javax.swing.plaf.Colo InternalFrame.activeTitleForeground #262626 #ffffff 15.1 #-- disabledForeground -- -ComboBox.disabledForeground #b6b6b6 #fafafa 1.9 !!!!!! -Label.disabledForeground #b6b6b6 #f6f6f6 1.9 !!!!!! -Spinner.disabledForeground #b6b6b6 #fafafa 1.9 !!!!!! +ComboBox.disabledForeground #7b7b7b #fafafa 4.1 !!! +Label.disabledForeground #7b7b7b #f6f6f6 3.9 !!!! +Spinner.disabledForeground #7b7b7b #fafafa 4.1 !!! #-- disabledText -- -Button.disabledText #b6b6b6 #fafafa 1.9 !!!!!! -CheckBox.disabledText #b6b6b6 #f6f6f6 1.9 !!!!!! -RadioButton.disabledText #b6b6b6 #f6f6f6 1.9 !!!!!! -ToggleButton.disabledText #b6b6b6 #fafafa 1.9 !!!!!! +Button.disabledText #7b7b7b #fafafa 4.1 !!! +CheckBox.disabledText #7b7b7b #f6f6f6 3.9 !!!! +RadioButton.disabledText #7b7b7b #f6f6f6 3.9 !!!! +ToggleButton.disabledText #7b7b7b #fafafa 4.1 !!! #-- dropCellForeground -- List.dropCellForeground #ffffff #1a79ff 4.0 !!! @@ -1713,16 +1713,16 @@ ToolTip.foreground #262626 #fefefe 15.0 Tree.foreground #262626 #ffffff 15.1 #-- inactiveForeground -- -EditorPane.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -FormattedTextField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -PasswordField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -TextArea.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -TextField.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -TextPane.inactiveForeground #b6b6b6 #fafafa 1.9 !!!!!! -TitlePane.inactiveForeground #b6b6b6 #ececec 1.7 !!!!!! +EditorPane.inactiveForeground #7b7b7b #fafafa 4.1 !!! +FormattedTextField.inactiveForeground #7b7b7b #fafafa 4.1 !!! +PasswordField.inactiveForeground #7b7b7b #fafafa 4.1 !!! +TextArea.inactiveForeground #7b7b7b #fafafa 4.1 !!! +TextField.inactiveForeground #7b7b7b #fafafa 4.1 !!! +TextPane.inactiveForeground #7b7b7b #fafafa 4.1 !!! +TitlePane.inactiveForeground #7b7b7b #ececec 3.6 !!!! #-- inactiveTitleForeground -- -InternalFrame.inactiveTitleForeground #b6b6b6 #fafafa 1.9 !!!!!! +InternalFrame.inactiveTitleForeground #7b7b7b #fafafa 4.1 !!! #-- monthStringForeground -- JXMonthView.monthStringForeground #262626 #dfdfdf 11.4 From f0685d179e32190f0774287c976ee24a2fe0a936 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 20 Feb 2025 13:56:50 +0100 Subject: [PATCH 03/15] Linux: support loading native libraries for unknown architectures (issue #966) expected filename is same as for `x86_64` architecture but replace `x86_64` with value of system property `os.arch` --- .../formdev/flatlaf/ui/FlatNativeLibrary.java | 43 +++++++++++++------ 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java index a9768cd4..c3d928ae 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java @@ -58,6 +58,7 @@ class FlatNativeLibrary String classifier; String ext; + boolean unknownArch = false; if( SystemInfo.isWindows_10_orLater && (SystemInfo.isX86 || SystemInfo.isX86_64 || SystemInfo.isAARCH64) ) { // Windows: requires Windows 10/11 (x86, x86_64 or aarch64) @@ -90,11 +91,14 @@ class FlatNativeLibrary classifier = SystemInfo.isAARCH64 ? "macos-arm64" : "macos-x86_64"; ext = "dylib"; - } else if( SystemInfo.isLinux && (SystemInfo.isX86_64 || SystemInfo.isAARCH64)) { - // Linux: requires x86_64 or aarch64 + } else if( SystemInfo.isLinux ) { + // Linux: x86_64 or aarch64 (but also supports unknown architectures) - classifier = SystemInfo.isAARCH64 ? "linux-arm64" : "linux-x86_64"; + classifier = SystemInfo.isAARCH64 ? "linux-arm64" + : (SystemInfo.isX86_64 ? "linux-x86_64" + : "linux-" + sanitize( System.getProperty( "os.arch" ) )); ext = "so"; + unknownArch = !SystemInfo.isX86_64 && !SystemInfo.isAARCH64; // Load libjawt.so (part of JRE) explicitly because it is not found // in all Java versions/distributions. @@ -106,7 +110,7 @@ class FlatNativeLibrary return; // no native library available for current OS or CPU architecture // load native library - NativeLibrary nativeLibrary = createNativeLibrary( classifier, ext ); + NativeLibrary nativeLibrary = createNativeLibrary( classifier, ext, unknownArch ); if( !nativeLibrary.isLoaded() ) return; @@ -128,7 +132,7 @@ class FlatNativeLibrary FlatNativeLibrary.nativeLibrary = nativeLibrary; } - private static NativeLibrary createNativeLibrary( String classifier, String ext ) { + private static NativeLibrary createNativeLibrary( String classifier, String ext, boolean unknownArch ) { String libraryName = "flatlaf-" + classifier; // load from "java.library.path" or from path specified in system property "flatlaf.nativeLibraryPath" @@ -139,9 +143,11 @@ class FlatNativeLibrary if( library.isLoaded() ) return library; - LoggingFacade.INSTANCE.logSevere( "FlatLaf: Native library '" + System.mapLibraryName( libraryName ) - + "' not found in java.library.path '" + System.getProperty( "java.library.path" ) - + "'. Using extracted native library instead.", null ); + if( !unknownArch ) { + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Native library '" + System.mapLibraryName( libraryName ) + + "' not found in java.library.path '" + System.getProperty( "java.library.path" ) + + "'. Using extracted native library instead.", null ); + } } else { // try standard library naming scheme // (same as in flatlaf.jar in package 'com/formdev/flatlaf/natives') @@ -160,11 +166,13 @@ class FlatNativeLibrary return new NativeLibrary( libraryFile2, true ); } - LoggingFacade.INSTANCE.logSevere( "FlatLaf: Native library '" - + libraryFile.getName() - + (libraryName2 != null ? ("' or '" + libraryName2) : "") - + "' not found in '" + libraryFile.getParentFile().getAbsolutePath() - + "'. Using extracted native library instead.", null ); + if( !unknownArch ) { + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Native library '" + + libraryFile.getName() + + (libraryName2 != null ? ("' or '" + libraryName2) : "") + + "' not found in '" + libraryFile.getParentFile().getAbsolutePath() + + "'. Using extracted native library instead.", null ); + } } } @@ -175,7 +183,7 @@ class FlatNativeLibrary return new NativeLibrary( libraryFile, true ); // load from FlatLaf jar (extract native library to temp folder) - return new NativeLibrary( "com/formdev/flatlaf/natives/" + libraryName, null, true ); + return new NativeLibrary( "com/formdev/flatlaf/natives/" + libraryName, null, !unknownArch ); } /** @@ -273,6 +281,13 @@ class FlatNativeLibrary + '-' + classifier + '.' + ext; } + /** + * Allow only 'a'-'z', 'A'-'Z', '0'-'9', '_' and '-' in filenames. + */ + private static String sanitize( String s ) { + return s.replaceAll( "[^a-zA-Z0-9_-]", "_" ); + } + private static void loadJAWT() { try { System.loadLibrary( "jawt" ); From f7c867fb974e638521b9bf8a69f56e4457302f7f Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Mon, 24 Feb 2025 19:54:18 +0100 Subject: [PATCH 04/15] increased contrast of separator lines in dark themes (issue #762) --- CHANGELOG.md | 10 +- .../formdev/flatlaf/FlatDarkLaf.properties | 2 +- .../dumps/uidefaults/FlatDarculaLaf_1.8.0.txt | 3 + .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 22 ++++- .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 14 +++ .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 14 +++ .../uidefaults/FlatMacLightLaf_1.8.0.txt | 14 +++ .../dumps/uidefaults/FlatTestLaf_1.8.0.txt | 13 +++ .../testing/uidefaults/UIDefaultsDump.java | 97 +++++++++++++------ 9 files changed, 149 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 299185f3..ece9cf5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,13 +7,13 @@ FlatLaf Change Log - macOS: Re-enabled rounded popup border (see PR #772) on macOS 14.4+ (was disabled in 3.5.x). -- Increased contrast of text for better readability: (issue #762) - - In **FlatLaf Dark**, **FlatLaf Darcula** and many dark IntelliJ themes made +- Increased contrast of text for better readability: (PR #972; issue #762) + - In **FlatLaf Dark**, **FlatLaf Darcula** and many dark IntelliJ themes, made all text colors brighter. - - In **FlatLaf Light**, **FlatLaf IntelliJ** and many light IntelliJ themes + - In **FlatLaf Light**, **FlatLaf IntelliJ** and many light IntelliJ themes, made disabled text colors slightly darker. - - In **FlatLaf macOS Light** made disabled text colors darker. - - In **FlatLaf macOS Dark** made text colors of "default" button and selected + - In **FlatLaf macOS Light**, made disabled text colors darker. + - In **FlatLaf macOS Dark**, made text colors of "default" button and selected ToggleButton lighter. - CheckBox: Support styling indeterminate state of [tri-state check boxes](https://www.javadoc.io/doc/com.formdev/flatlaf-extras/latest/com/formdev/flatlaf/extras/components/FlatTriStateCheckBox.html). diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties index ff4e2bfa..e804b603 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarkLaf.properties @@ -284,7 +284,7 @@ ScrollBar.pressedButtonBackground = lighten(@background,10%,derived noAutoInvers #---- Separator ---- -Separator.foreground = tint(@background,10%) +Separator.foreground = tint(@background,15%) #---- Slider ---- diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt index 2e9e00e2..66b6a9df 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt @@ -117,5 +117,8 @@ #---- contrast ratio: ProgressBar ---- +- contrast ratio: ProgressBar.foreground #4c87c8 #3c3f41 2.8 !!!!! ++ contrast ratio: ProgressBar.foreground #c4c4c4 #3c3f41 6.1 ! + - contrast ratio: ProgressBar.selectionForeground #eeeeee #4c87c8 3.2 !!!! + contrast ratio: ProgressBar.selectionForeground #3c3f41 #c4c4c4 6.1 ! diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index fcdffa9d..9b7f11b0 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -598,7 +598,7 @@ Menu.submenuPopupOffsetY [active] -4 MenuBar.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] MenuBar.border [lazy] 0,0,1,0 false com.formdev.flatlaf.ui.FlatMenuBarBorder [UI] -MenuBar.borderColor #505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] +MenuBar.borderColor #595c5e HSL 204 3 36 javax.swing.plaf.ColorUIResource [UI] MenuBar.font [active] $defaultFont [UI] MenuBar.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] MenuBar.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] @@ -938,7 +938,7 @@ SearchField.searchIconPressedColor [lazy] #7f8b9180 50% HSLA 200 8 53 50 #---- Separator ---- Separator.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] -Separator.foreground #505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] +Separator.foreground #595c5e HSL 204 3 36 javax.swing.plaf.ColorUIResource [UI] Separator.height 3 Separator.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] Separator.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] @@ -1289,7 +1289,7 @@ TitlePane.useWindowDecorations true #---- TitledBorder ---- -TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TitledBorder.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#595c5e HSL 204 3 36 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 TitledBorder.font [active] $defaultFont [UI] TitledBorder.titleColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] @@ -1352,7 +1352,7 @@ ToolBar.hoverButtonGroupArc 8 ToolBar.hoverButtonGroupBackground #434749 HSL 200 4 27 com.formdev.flatlaf.util.DerivedColor [UI] lighten(3% autoInverse) ToolBar.isRollover true ToolBar.light #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI] -ToolBar.separatorColor #505254 HSL 210 2 32 javax.swing.plaf.ColorUIResource [UI] +ToolBar.separatorColor #595c5e HSL 204 3 36 javax.swing.plaf.ColorUIResource [UI] ToolBar.separatorWidth 7 ToolBar.shadow #616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] ToolBar.spacingBorder [lazy] 1,2,1,2 false com.formdev.flatlaf.ui.FlatEmptyBorder [UI] @@ -1750,3 +1750,17 @@ Tree.textForeground #dddddd #46494b 6.7 ! #-- titleForeground -- JXTitledPanel.titleForeground #dddddd #4c5052 6.0 ! + +#-- non-text -- +CheckBoxMenuItem.icon.checkmarkColor #b7b7b7 #3c3f41 5.3 !! +CheckBoxMenuItem.icon.disabledCheckmarkColor #777777 #3c3f41 2.4 !!!!! +Menu.icon.arrowColor #b7b7b7 #3c3f41 5.3 !! +Menu.icon.disabledArrowColor #777777 #3c3f41 2.4 !!!!! +ProgressBar.background #505456 #3c3f41 1.4 !!!!!! +ProgressBar.foreground #4c87c8 #3c3f41 2.8 !!!!! +Separator.foreground #595c5e #3c3f41 1.6 !!!!!! +Slider.disabledTrackColor #54595c #3c3f41 1.5 !!!!!! +Slider.trackColor #616669 #3c3f41 1.8 !!!!!! +Slider.trackValueColor #4c87c8 #3c3f41 2.8 !!!!! +TabbedPane.contentAreaColor #616365 #3c3f41 1.8 !!!!!! +ToolBar.separatorColor #595c5e #3c3f41 1.6 !!!!!! diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index ff24fe83..a0953d46 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -1755,3 +1755,17 @@ Tree.textForeground #000000 #ffffff 21.0 #-- titleForeground -- JXTitledPanel.titleForeground #222222 #dfdfdf 11.9 + +#-- non-text -- +CheckBoxMenuItem.icon.checkmarkColor #4e9de7 #f2f2f2 2.6 !!!!! +CheckBoxMenuItem.icon.disabledCheckmarkColor #a6a6a6 #f2f2f2 2.2 !!!!! +Menu.icon.arrowColor #666666 #f2f2f2 5.1 !! +Menu.icon.disabledArrowColor #a6a6a6 #f2f2f2 2.2 !!!!! +ProgressBar.background #d1d1d1 #f2f2f2 1.4 !!!!!! +ProgressBar.foreground #2285e1 #f2f2f2 3.4 !!!! +Separator.foreground #cecece #f2f2f2 1.4 !!!!!! +Slider.disabledTrackColor #d1d1d1 #f2f2f2 1.4 !!!!!! +Slider.trackColor #c4c4c4 #f2f2f2 1.6 !!!!!! +Slider.trackValueColor #2285e1 #f2f2f2 3.4 !!!! +TabbedPane.contentAreaColor #c2c2c2 #f2f2f2 1.6 !!!!!! +ToolBar.separatorColor #cecece #f2f2f2 1.4 !!!!!! diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index 352a5d70..8ef3492d 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -1761,3 +1761,17 @@ Tree.textForeground #dddddd #282828 10.9 #-- titleForeground -- JXTitledPanel.titleForeground #dddddd #4c5052 6.0 ! + +#-- non-text -- +CheckBoxMenuItem.icon.checkmarkColor #b7b7b7 #1e1e1e 8.3 +CheckBoxMenuItem.icon.disabledCheckmarkColor #777777 #1e1e1e 3.7 !!!! +Menu.icon.arrowColor #b7b7b7 #1e1e1e 8.3 +Menu.icon.disabledArrowColor #777777 #1e1e1e 3.7 !!!! +ProgressBar.background #323232 #1e1e1e 1.3 !!!!!! +ProgressBar.foreground #007aff #1e1e1e 4.2 !!! +Separator.foreground #343434 #1e1e1e 1.3 !!!!!! #ffffff19 10% +Slider.disabledTrackColor #282828 #1e1e1e 1.1 !!!!!! +Slider.trackColor #323232 #1e1e1e 1.3 !!!!!! +Slider.trackValueColor #007aff #1e1e1e 4.2 !!! +TabbedPane.contentAreaColor #343434 #1e1e1e 1.3 !!!!!! #ffffff19 10% +ToolBar.separatorColor #343434 #1e1e1e 1.3 !!!!!! #ffffff19 10% diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 5016b3b5..96795586 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -1765,3 +1765,17 @@ Tree.textForeground #262626 #ffffff 15.1 #-- titleForeground -- JXTitledPanel.titleForeground #222222 #dfdfdf 11.9 + +#-- non-text -- +CheckBoxMenuItem.icon.checkmarkColor #007aff #f6f6f6 3.7 !!!! +CheckBoxMenuItem.icon.disabledCheckmarkColor #bdbdbd #f6f6f6 1.7 !!!!!! +Menu.icon.arrowColor #7d7d7d #f6f6f6 3.8 !!!! +Menu.icon.disabledArrowColor #bdbdbd #f6f6f6 1.7 !!!!!! +ProgressBar.background #e9e9e9 #f6f6f6 1.1 !!!!!! +ProgressBar.foreground #007aff #f6f6f6 3.7 !!!! +Separator.foreground #dedede #f6f6f6 1.2 !!!!!! #00000019 10% +Slider.disabledTrackColor #ececec #f6f6f6 1.1 !!!!!! +Slider.trackColor #e4e4e4 #f6f6f6 1.2 !!!!!! +Slider.trackValueColor #007aff #f6f6f6 3.7 !!!! +TabbedPane.contentAreaColor #d1d1d1 #f6f6f6 1.4 !!!!!! #00000026 15% +ToolBar.separatorColor #dedede #f6f6f6 1.2 !!!!!! #00000019 10% diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index 82b7c47e..ffe6bff2 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -1844,3 +1844,16 @@ Tree.textForeground #ff0000 #fff0ff 3.6 !! #-- titleForeground -- JXTitledPanel.titleForeground #ff00ff #ffff00 2.9 !!!!! + +#-- non-text -- +CheckBoxMenuItem.icon.checkmarkColor #4d89c9 #ccffcc 3.3 !!!! +CheckBoxMenuItem.icon.disabledCheckmarkColor #ababab #ccffcc 2.0 !!!!! +Menu.icon.arrowColor #4d89c9 #ccffcc 3.3 !!!! +Menu.icon.disabledArrowColor #ababab #ccffcc 2.0 !!!!! +ProgressBar.background #88ff88 #ccffcc 1.1 !!!!!! +ProgressBar.foreground #bae3ba #ccffcc 1.3 !!!!!! #73737333 20% +Separator.foreground #00bb00 #ccffcc 2.3 !!!!! +Slider.disabledTrackColor #ffff88 #ccffcc 1.1 !!!!!! +Slider.trackColor #88ff88 #ccffcc 1.1 !!!!!! +TabbedPane.contentAreaColor #ff0000 #ccffcc 3.6 !!!! +ToolBar.separatorColor #00bb00 #ccffcc 2.3 !!!!! diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index b0ac8641..a5cf5878 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -901,6 +901,22 @@ public class UIDefaultsDump fg2bgMap.remove( "TitlePane.closeHoverForeground" ); fg2bgMap.remove( "TitlePane.closePressedForeground" ); + // non-text + HashMap nonTextMap = new HashMap<>(); + nonTextMap.put( "Menu.icon.arrowColor", "Panel.background" ); + nonTextMap.put( "Menu.icon.disabledArrowColor", "Panel.background" ); + nonTextMap.put( "CheckBoxMenuItem.icon.checkmarkColor", "Panel.background" ); + nonTextMap.put( "CheckBoxMenuItem.icon.disabledCheckmarkColor", "Panel.background" ); + nonTextMap.put( "ProgressBar.foreground", "Panel.background" ); + nonTextMap.put( "ProgressBar.background", "Panel.background" ); + nonTextMap.put( "Separator.foreground", "Separator.background" ); + nonTextMap.put( "Slider.trackColor", "Panel.background" ); + nonTextMap.put( "Slider.trackValueColor", "Panel.background" ); + nonTextMap.put( "Slider.disabledTrackColor", "Panel.background" ); + nonTextMap.put( "TabbedPane.contentAreaColor", "Panel.background" ); + nonTextMap.put( "ToolBar.separatorColor", "ToolBar.background" ); + + // out.println(); // fg2bgMap.entrySet().stream() // .sorted( (e1, e2) -> e1.getKey().compareTo( e2.getKey() ) ) @@ -925,37 +941,58 @@ public class UIDefaultsDump return key1.substring( 0, dot1 ).compareTo( key2.substring( 0, dot2 ) ); } ) .forEach( e -> { - String fgKey = e.getKey(); - String bgKey = e.getValue(); - Color background = defaults.getColor( bgKey ); - Color foreground = defaults.getColor( fgKey ); - if( background != null && foreground != null ) { - float luma1 = ColorFunctions.luma( background ); - float luma2 = ColorFunctions.luma( foreground ); - float contrastRatio = (luma1 > luma2) - ? (luma1 + 0.05f) / (luma2 + 0.05f) - : (luma2 + 0.05f) / (luma1 + 0.05f); - String rateing = - contrastRatio < 1.95f ? " !!!!!!" : - contrastRatio < 2.95f ? " !!!!!" : - contrastRatio < 3.95f ? " !!!!" : - contrastRatio < 4.95f ? " !!!" : - contrastRatio < 5.95f ? " !!" : - contrastRatio < 6.95f ? " !" : - ""; - - String subkey = fgKey.substring( fgKey.lastIndexOf( '.' ) + 1 ); - if( !subkey.equals( lastSubkey.get() ) ) { - lastSubkey.set( subkey ); - out.println(); - out.println( "#-- " + subkey + " --" ); - } - - out.printf( "%-50s #%06x #%06x %4.1f%s%n", fgKey, - foreground.getRGB() & 0xffffff, background.getRGB() & 0xffffff, - contrastRatio, rateing ); - } + dumpContrastRatio( out, e.getKey(), e.getValue(), lastSubkey ); } ); + + out.println(); + out.println( "#-- non-text --" ); + nonTextMap.entrySet().stream() + .sorted( (e1, e2) -> { + return e1.getKey().compareTo( e2.getKey() ); + } ) + .forEach( e -> { + dumpContrastRatio( out, e.getKey(), e.getValue(), null ); + } ); + } + + private void dumpContrastRatio( PrintWriter out, String fgKey, String bgKey, AtomicReference lastSubkey ) { + Color background = defaults.getColor( bgKey ); + Color foreground = defaults.getColor( fgKey ); + if( background == null || foreground == null ) + return; + + String subkey = fgKey.substring( fgKey.lastIndexOf( '.' ) + 1 ); + if( lastSubkey != null && !subkey.equals( lastSubkey.get() ) ) { + lastSubkey.set( subkey ); + out.println(); + out.println( "#-- " + subkey + " --" ); + } + + Color translucentForeground = null; + if( foreground.getAlpha() != 255 ) { + translucentForeground = foreground; + float weight = foreground.getAlpha() / 255f; + foreground = ColorFunctions.mix( new Color( foreground.getRGB() ), background, weight ); + } + + float luma1 = ColorFunctions.luma( background ); + float luma2 = ColorFunctions.luma( foreground ); + float contrastRatio = (luma1 > luma2) + ? (luma1 + 0.05f) / (luma2 + 0.05f) + : (luma2 + 0.05f) / (luma1 + 0.05f); + String rateing = + contrastRatio < 1.95f ? " !!!!!!" : + contrastRatio < 2.95f ? " !!!!!" : + contrastRatio < 3.95f ? " !!!!" : + contrastRatio < 4.95f ? " !!!" : + contrastRatio < 5.95f ? " !!" : + contrastRatio < 6.95f ? " !" : + ""; + + out.printf( "%-50s #%06x #%06x %4.1f%s%s%n", fgKey, + foreground.getRGB() & 0xffffff, background.getRGB() & 0xffffff, + contrastRatio, rateing, + translucentForeground != null ? " " + dumpColorHex( translucentForeground ) : "" ); } //---- class MyBasicLookAndFeel ------------------------------------------- From 022a67929a9d808484cb9917688d73061d583030 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 00:24:35 +0100 Subject: [PATCH 05/15] IntelliJ Themes: use "High Contrast" from intellij repo --- .../com/formdev/flatlaf/IntelliJTheme.java | 15 +- .../flatlaf/IntelliJTheme$ThemeLaf.properties | 16 +- .../flatlaf/demo/intellijthemes/themes.json | 8 +- flatlaf-intellij-themes/README.md | 40 +-- .../intellijthemes/FlatAllIJThemes.java | 2 +- .../FlatHighContrastIJTheme.java | 2 +- .../themes/HighContrast.LICENSE.txt | 215 ++++++++++++- .../themes/HighContrast.theme.json | 298 +++++++++++++++++- 8 files changed, 525 insertions(+), 71 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java index 58cf32af..bfa19efe 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java @@ -653,26 +653,27 @@ public class IntelliJTheme uiKeyExcludes = new HashSet<>( Arrays.asList( "ActionButton.", "ActionToolbar.", "ActionsList.", "AppInspector.", "AssignedMnemonic.", "Autocomplete.", "AvailableMnemonic.", - "BigSpinner.", "Bookmark.", "BookmarkIcon.", "BookmarkMnemonicAssigned.", "BookmarkMnemonicAvailable.", + "Badge.", "BigSpinner.", "Bookmark.", "BookmarkIcon.", "BookmarkMnemonicAssigned.", "BookmarkMnemonicAvailable.", "BookmarkMnemonicCurrent.", "BookmarkMnemonicIcon.", "Borders.", "Breakpoint.", - "Canvas.", "CodeWithMe.", "ComboBoxButton.", "CompletionPopup.", "ComplexPopup.", "Content.", - "CurrentMnemonic.", "Counter.", - "Debugger.", "DebuggerPopup.", "DebuggerTabs.", "DefaultTabs.", "Dialog.", "DialogWrapper.", "DragAndDrop.", + "Canvas.", "Code.", "CodeWithMe.", "CombinedDiff.", "ComboBoxButton.", "CompilationCharts.", + "CompletionPopup.", "ComplexPopup.", "Content.", "ContextHelp.", "CurrentMnemonic.", "Counter.", + "Debugger.", "DebuggerPopup.", "DebuggerTabs.", "DefaultTabs.", "Dialog.", "DialogWrapper.", + "DisclosureButton.", "DragAndDrop.", "Editor.", "EditorGroupsTabs.", "EditorTabs.", "FileColor.", "FlameGraph.", "Focus.", "Git.", "Github.", "GotItTooltip.", "Group.", "Gutter.", "GutterTooltip.", "HeaderColor.", "HelpTooltip.", "Hg.", "IconBadge.", "InformationHint.", "InplaceRefactoringPopup.", - "Lesson.", "Link.", "LiveIndicator.", + "Lesson.", "LineProfiler.", "Link.", "LiveIndicator.", "MainMenu.", "MainToolbar.", "MemoryIndicator.", "MlModelBinding.", "MnemonicIcon.", "NavBar.", "NewClass.", "NewPSD.", "Notification.", "Notifications.", "NotificationsToolwindow.", "OnePixelDivider.", "OptionButton.", "Outline.", - "ParameterInfo.", "Plugins.", "ProgressIcon.", "PsiViewer.", + "ParameterInfo.", "Plugins.", "Profiler.", "ProgressIcon.", "PsiViewer.", "ReviewList.", "RunWidget.", "ScreenView.", "SearchEverywhere.", "SearchFieldWithExtension.", "SearchMatch.", "SearchOption.", "SearchResults.", "SegmentedButton.", "Settings.", "SidePanel.", "Space.", "SpeedSearch.", "StateWidget.", "StatusBar.", - "Tag.", "TipOfTheDay.", "ToolbarComboWidget.", "ToolWindow.", + "Tag.", "TipOfTheDay.", "ToolbarComboWidget.", "ToolWindow.", "TrialWidget.", "UIDesigner.", "UnattendedHostStatus.", "ValidationTooltip.", "VersionControl.", "WelcomeScreen.", diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties index d31c0cf6..3e7c19f9 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties @@ -243,16 +243,18 @@ ToggleButton.endBackground = $ToggleButton.background [Hiberbee_Dark]Tree.selectionBackground = lazy(List.selectionBackground) [Hiberbee_Dark]Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) -[High_contrast]Component.accentColor = lazy(Component.focusColor) -[High_contrast]ToggleButton.selectedBackground = #fff -[High_contrast]ToggleButton.selectedForeground = #000 -[High_contrast]ToggleButton.disabledSelectedBackground = #444 -[High_contrast]ToggleButton.toolbar.selectedBackground = #fff -[High_contrast][style]Button.inTextField = \ +[High_Contrast]Component.accentColor = lazy(Component.focusColor) +[High_Contrast]Button.hoverBorderColor = #1AEBFF +[High_Contrast]HelpButton.hoverBorderColor = #1AEBFF +[High_Contrast]ToggleButton.selectedBackground = #fff +[High_Contrast]ToggleButton.selectedForeground = #000 +[High_Contrast]ToggleButton.disabledSelectedBackground = #444 +[High_Contrast]ToggleButton.toolbar.selectedBackground = #3333FF +[High_Contrast][style]Button.inTextField = \ toolbar.hoverBackground: #444; \ toolbar.pressedBackground: #666; \ toolbar.selectedBackground: #fff -[High_contrast][style]ToggleButton.inTextField = $[High_contrast][style]Button.inTextField +[High_Contrast][style]ToggleButton.inTextField = $[High_Contrast][style]Button.inTextField [Light_Flat]*.disabledForeground = #8C8C8C [Light_Flat]*.inactiveForeground = #8C8C8C diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json index 251a0911..94ea24ed 100644 --- a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json @@ -167,12 +167,12 @@ "sourceCodePath": "blob/latest/src/intellij/src/main/resources/themes/HiberbeeDark.theme.json" }, "HighContrast.theme.json": { - "name": "High contrast", + "name": "High Contrast", "dark": true, - "license": "MIT", + "license": "Apache License 2.0", "licenseFile": "HighContrast.LICENSE.txt", - "sourceCodeUrl": "https://github.com/OlyaB/HighContrastTheme", - "sourceCodePath": "blob/master/src/HighContrast.theme.json" + "sourceCodeUrl": "https://github.com/JetBrains/intellij-community", + "sourceCodePath": "blob/master/platform/platform-resources/src/themes/HighContrast.theme.json" }, "LightFlatTheme.theme.json": { "name": "Light Flat", diff --git a/flatlaf-intellij-themes/README.md b/flatlaf-intellij-themes/README.md index de7b05c7..de3aa234 100644 --- a/flatlaf-intellij-themes/README.md +++ b/flatlaf-intellij-themes/README.md @@ -61,12 +61,12 @@ Name | Class [Gruvbox Dark Medium](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme` [Gruvbox Dark Soft](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme` [Hiberbee Dark](https://github.com/Hiberbee/themes) | `com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme` -[High contrast](https://github.com/OlyaB/HighContrastTheme) | `com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme` +[High Contrast](https://github.com/JetBrains/intellij-community) | `com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme` [Light Flat](https://github.com/nerzhulart/LightFlatTheme) | `com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme` [Material Design Dark](https://github.com/xinkunZ/NotReallyMDTheme) | `com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme` -[Monocai](https://github.com/bmikaili/intellij-monocai-theme) | `com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme` +[Monocai](https://github.com/TheEggi/intellij-monocai-theme) | `com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme` [Monokai Pro](https://github.com/subtheme-dev/monokai-pro) | `com.formdev.flatlaf.intellijthemes.FlatMonokaiProIJTheme` -[Nord](https://github.com/arcticicestudio/nord-jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatNordIJTheme` +[Nord](https://github.com/nordtheme/jetbrains) | `com.formdev.flatlaf.intellijthemes.FlatNordIJTheme` [One Dark](https://github.com/one-dark/jetbrains-one-dark-theme) | `com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme` [Solarized Dark](https://github.com/4lex4/intellij-platform-solarized) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme` [Solarized Light](https://github.com/4lex4/intellij-platform-solarized) | `com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme` @@ -78,20 +78,20 @@ Material Theme UI Lite: Name | Class -----|------ -[Arc Dark (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme` -[Atom One Dark (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme` -[Atom One Light (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme` -[Dracula (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme` -[GitHub (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme` -[GitHub Dark (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme` -[Light Owl (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme` -[Material Darker (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme` -[Material Deep Ocean (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme` -[Material Lighter (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme` -[Material Oceanic (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme` -[Material Palenight (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme` -[Monokai Pro (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme` -[Moonlight (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme` -[Night Owl (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme` -[Solarized Dark (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme` -[Solarized Light (Material)](https://github.com/mallowigi/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme` +[Arc Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme` +[Atom One Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme` +[Atom One Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme` +[Dracula (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme` +[GitHub (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme` +[GitHub Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme` +[Light Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme` +[Material Darker (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme` +[Material Deep Ocean (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme` +[Material Lighter (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme` +[Material Oceanic (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme` +[Material Palenight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme` +[Monokai Pro (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme` +[Moonlight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme` +[Night Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme` +[Solarized Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme` +[Solarized Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme` diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java index 4243b88b..aeed6c5f 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java @@ -48,7 +48,7 @@ public class FlatAllIJThemes new FlatIJLookAndFeelInfo( "Gruvbox Dark Medium", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme", true ), new FlatIJLookAndFeelInfo( "Gruvbox Dark Soft", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme", true ), new FlatIJLookAndFeelInfo( "Hiberbee Dark", "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "High contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme", true ), + new FlatIJLookAndFeelInfo( "High Contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme", true ), new FlatIJLookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme", false ), new FlatIJLookAndFeelInfo( "Material Design Dark", "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme", true ), new FlatIJLookAndFeelInfo( "Monocai", "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme", true ), diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatHighContrastIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatHighContrastIJTheme.java index 7fe86eb3..cdaa7b96 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatHighContrastIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatHighContrastIJTheme.java @@ -29,7 +29,7 @@ import com.formdev.flatlaf.IntelliJTheme; public class FlatHighContrastIJTheme extends IntelliJTheme.ThemeLaf { - public static final String NAME = "High contrast"; + public static final String NAME = "High Contrast"; public static boolean setup() { try { diff --git a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.LICENSE.txt b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.LICENSE.txt index 98783834..d6456956 100644 --- a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.LICENSE.txt +++ b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.LICENSE.txt @@ -1,21 +1,202 @@ -The MIT License (MIT) -Copyright (c) 2016 CloudCannon + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. + 1. Definitions. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.theme.json b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.theme.json index 5940db53..8745a419 100644 --- a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.theme.json +++ b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/HighContrast.theme.json @@ -1,16 +1,17 @@ { - "name": "High contrast", + "name": "High Contrast", "dark": true, "author": "JetBrains", - - "editorScheme": "/themes/highContrastScheme.xml", - + "parentTheme": "Darcula", + "nameKey": "high.contrast.theme.name", + "editorScheme": "High contrast", "ui": { "*": { "background": "#000000", "foreground": "#FFFFFF", "infoForeground": "#E0861F", + "successForeground": "#50A661", "selectionBackground": "#3333FF", "selectionForeground": "#FFFFFF", @@ -45,6 +46,11 @@ "pressedBackground": "#000000" }, + "Badge": { + "greenOutlineForeground": "#16F334", + "greenOutlineBorderColor": "#0DA522" + }, + "Button": { "startBackground": "#000000", "endBackground": "#000000", @@ -61,6 +67,19 @@ } }, + "SegmentedButton": { + "selectedStartBorderColor": "#1AEBFF", + "selectedEndBorderColor": "#1AEBFF", + "selectedButtonColor": "#000000", + "focusedSelectedButtonColor": "#0f6780" + }, + + "DisclosureButton": { + "defaultBackground": "#281A33", + "hoverOverlay": "#450073", + "pressedOverlay": "#54008c" + }, + "Borders": { "color": "#b3b3b3", "ContrastBorderColor": "#B3B3B3" @@ -76,6 +95,26 @@ } }, + "Code": { + "Inline": { + "backgroundColor": "#000000", + "backgroundOpacity": 60, + "borderColor": "#777", + "borderWidth": 1 + }, + "Block": { + "backgroundColor": "#000000", + "backgroundOpacity": 100, + "borderColor": "#777", + "borderWidth": 1, + "EditorPane": { + "borderColor": "#777", + "backgroundColor": "#000000", + "backgroundOpacity": 100 + } + } + }, + "ComboPopup.border": "1,1,1,1,E6E6E6", "CompletionPopup": { @@ -83,9 +122,8 @@ "matchSelectionForeground": "#ED94FF" }, - - "Component": { + "focusedBorderColor": "#000000", "errorFocusColor": "#E6194B", "inactiveErrorFocusColor": "#800002", "warningFocusColor": "#F58231", @@ -94,6 +132,12 @@ "hoverIconColor": "#FFFFFF" }, + "ContextHelp": { + "fontSizeOffset": { + "os.windows": 0 + } + }, + "Counter": { "background": "#FFFFFF", "foreground": "#000000" @@ -111,8 +155,10 @@ }, "DragAndDrop": { + "borderColor": "#3366FF", + "rowBackground": "#3366FF80", "areaForeground": "#FFFFFF", - "areaBackground": "#00838f", + "areaBackground": "#00EAFF7F", "areaBorderColor": "#1AEBFF" }, @@ -142,7 +188,8 @@ "Blue": "#00004D", "Violet": "#471747", "Orange": "#733000", - "Rose": "#4D0F22" + "Rose": "#4D0F22", + "Gray": "#062329" }, "FlameGraph": { @@ -169,6 +216,17 @@ "parentFocusedFrameForeground": "#FFFFFF" }, + "IconBadge": { + "borderWidth": 1.5, + "dotRadius": 3.5, + "dotX": 16.5, + "dotY": 3.5, + "errorBackground": "Actions.Red", + "warningBackground": "Actions.Yellow", + "infoBackground": "Actions.Blue", + "successBackground": "Actions.Green" + }, + "InplaceRefactoringPopup": { "background": "#450073", "borderColor": "#E6E6E6" @@ -191,6 +249,7 @@ "Notification": { "background": "#000080", + "iconHoverBackground": "#000000", "errorForeground": "#FFFFFF", "errorBackground": "#800002", @@ -213,6 +272,18 @@ } }, + "NotificationsToolwindow": { + "newNotification.background": "#450073", + "newNotification.hoverBackground": "#450073" + }, + + "OptionButton" : { + "default.separatorColor": "#000000", + "separatorColor": "#FFFFFF" + }, + + "Panel.mouseShortcutBackground": "#000000", + "ParameterInfo": { "background": "#281A33", "foreground": "#CCCCCC", @@ -260,7 +331,7 @@ "PopupMenu": { "borderWidth": 1, - "borderInsets": "4,1,4,1" + "borderInsets": "8,1,8,1" }, "ProgressBar": { @@ -274,6 +345,31 @@ "passedEndColor": "#15451E" }, + "BookmarkMnemonicAvailable": { + "foreground": "#FFFFFF", + "background": "#000000", + "borderColor": "#FFFFFF" + }, + "BookmarkMnemonicAssigned": { + "foreground": "#000000", + "background": "#FF8C21", + "borderColor": "#FF8C21" + }, + "BookmarkMnemonicCurrent": { + "foreground": "#FFFFFF", + "background": "#3333FF", + "borderColor": "#3333FF" + }, + + "Bookmark": { + "iconBackground": "#E0861F", + "Mnemonic": { + "iconForeground": "#FFFFFF", + "iconBackground": "#000000", + "iconBorderColor": "#E0861F" + } + }, + "ScrollBar": { "Transparent": { "thumbColor": "#b3b3b3", @@ -323,10 +419,11 @@ "endBackground": "#FFD333FF" }, - "SpeedSearch": { - "foreground": "#000000", - "borderColor": "#000000", - "background": "#1AEBFF" + "Slider": { + "buttonColor": "#FFFFFF", + "buttonBorderColor": "#000000", + "tickColor": "#FFFFFF", + "trackColor": "#8c8c8c" }, "StatusBar.borderColor": "#b3b3b3", @@ -394,6 +491,41 @@ "Tree.modifiedItemForeground": "#4FF0FF", + "TrialWidget": { + "Default": { + "foreground": "#FFFFFF", + "background": "#000000", + "borderColor": "#FFFFFF", + "hoverForeground": "#000000", + "hoverBackground": "#FFFFFF", + "hoverBorderColor": "#FFFFFF" + }, + "Active": { + "foreground": "#00E61F", + "background": "#000000", + "borderColor": "#00E61F", + "hoverForeground": "#FFFFFF", + "hoverBackground": "#00E61F", + "hoverBorderColor": "#00E61F" + }, + "Alert": { + "foreground": "#F58231", + "background": "#000000", + "borderColor": "#F58231", + "hoverForeground": "#FFFFFF", + "hoverBackground": "#F58231", + "hoverBorderColor": "#F58231" + }, + "Expiring": { + "foreground": "#FFFFFF", + "background": "#E6194B", + "borderColor": "#E6194B", + "hoverForeground": "#FFFFFF", + "hoverBackground": "#800002", + "hoverBorderColor": "#800002" + } + }, + "ValidationTooltip": { "errorBackground": "#800002", "errorBorderColor": "#E6194B", @@ -413,12 +545,150 @@ "FileHistory.Commit.selectedBranchBackground": "#0D0D40" }, + "CombinedDiff": { + "BlockBorder": { + "selectedActiveColor": "#1AEBFF" + } + }, + + "Lesson": { + "shortcutBackground": "#333638", + "stepNumberForeground": "#FEFEFE", + "Badge.newLessonBackground": "#00E61F", + "Badge.newLessonForeground": "#000000" + }, + + "GotItTooltip": { + "codeBackground": "#000000", + "shortcutBackground": "#000000", + "shortcutBorderColor": "#1AEBFF" + }, + + "Tooltip.Learning": { + "background": "#000080", + "borderColor": "#FFFFFF", + "spanBackground": "#1AEBFF", + "spanForeground": "#000000", + "foreground": "#FFFFFF", + "stepNumberForeground": "#FFFFFF", + "secondaryActionForeground": "#FFFFFF", + "iconFillColor": "#35538F", + "iconBorderColor": "#FFFFFF" + }, + "WelcomeScreen": { "Projects.selectionInactiveBackground": "#3333FF", "separatorColor": "#e6e6e6" }, - "Window.border" : "1,1,1,1,E6E6E6" + "MainToolbar": { + "Icon": { + "borderInsets": "10,10,10,10", + "background": "#000000", + "hoverBackground": "#3333FF", + "pressedBackground": "#3333FF" + }, + "Dropdown": { + "borderInsets": "12,6,12,6", + "background": "#000000", + "hoverBackground": "#3333FF", + "pressedBackground": "#3333FF", + "transparentHoverBackground": "#3333FF" + } + }, + + "TitlePane.Button.hoverBackground": "#3333FF", + + "Window.border" : "1,1,1,1,E6E6E6", + + "textInactiveText" : "#E0861F", + + "RunWidget" : { + "foreground": "#ffffff", + "runningBackground": "#599e5e", + "hoverBackground": "#00000019", + "pressedBackground": "#00000028" + }, + "Profiler": { + "ChartSlider": { + "foreground": "#FEFEFE", + "lineColor": "#1AEBFF" + }, + "CpuChart": { + "background": "#6296554D", + "borderColor": "#629655", + "inactiveBackground": "#62965533", + "inactiveBorderColor": "#314B2A", + "pointBackground": "#629625", + "pointBorderColor": "#FFFFFF" + }, + "MemoryChart": { + "background": "#589DF680", + "borderColor": "#589DF6", + "inactiveBackground": "#589DF633", + "inactiveBorderColor": "#2C4E7B", + "pointBackground": "#196AD0", + "pointBorderColor": "#FFFFFF" + }, + "Timer": { + "foreground": "#FFFFFF", + "disabledForeground": "#6E6E6E", + "background": "#323232" + }, + "LiveChart": { + "horizontalAxisColor": "#E6E6E6" + } + }, + "CompilationCharts": { + "background": { + "odd": "#000000", + "even": "#1A1A1A", + "default": "#000000" + }, + "test": { + "enabled": "#3E8E41", + "disabled": "#2B5931", + "stroke": "#6FAF6D", + "selected": "#5E9E57" + }, + "production": { + "enabled": "#3F88C5", + "disabled": "#2D5D87", + "stroke": "#6EA7C9", + "selected": "#6EB8DF" + }, + "memory": { + "background": "#3F88C5", + "stroke": "#6EB8DF" + }, + "cpu": { + "background": "#3E8E41", + "stroke": "#5E9E57" + }, + "lineColor": "#FFFFFF", + "textColor": "#FFFFFF" + }, + "FlameGraph.Tooltip": { + "scaleBackground": "#555454", + "scaleColor": "#402FF6", + "foreground": "#FFFFFF" + }, + "LineProfiler" : { + "Line" : { + "labelBackground" : "#43474A", + "foreground" : "#787878", + "hoverBackground" : "#4A4E52" + }, + "HotLine" : { + "labelBackground" : "#593D41", + "foreground" : "#FF5261", + "hoverBackground" : "#704745" + }, + "IgnoredLine" : { + "labelBackground" : "#43474A", + "foreground" : "#5F5F5F" + } + } }, "icons": { From a4dc1b415171f0343e63b8f6e15d56741b742236 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 10:42:44 +0100 Subject: [PATCH 06/15] UIDefaultsLoader: support `lazy` option for `spin()`, `changeHue()`, `changeSaturation()`, `changeLightness()`, `changeAlpha()`, `mix()`, `tint()` and `shade()` color functions; added unit tests for lazy color functions --- .../com/formdev/flatlaf/UIDefaultsLoader.java | 83 ++++++++++++++----- .../formdev/flatlaf/TestUIDefaultsLoader.java | 56 ++++++++++++- 2 files changed, 115 insertions(+), 24 deletions(-) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 367858c9..4c3f42ea 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -830,6 +830,7 @@ class UIDefaultsLoader try { switch( function ) { case "if": return parseColorIf( value, params, resolver ); + case "lazy": return parseColorLazy( value, params, resolver ); case "systemColor": return parseColorSystemColor( value, params, resolver ); case "rgb": return parseColorRgbOrRgba( false, params, resolver ); case "rgba": return parseColorRgbOrRgba( true, params, resolver ); @@ -877,6 +878,32 @@ class UIDefaultsLoader return parseColorOrFunction( resolver.apply( ifValue ), resolver ); } + /** + * Syntax: lazy(uiKey) + *

+ * This "lazy" function is only used if the "lazy" is passed as parameter to another + * color function. Otherwise, the general "lazy" function is used. + *

+ * Note: The color is resolved immediately, not lazy, because it is passed as parameter to another color function. + * So e.g. {@code darken(lazy(List.background), 10%)} is the same as {@code darken($List.background, 10%)}. + *

+ * Only useful if a property is defined as lazy and that property is used + * in another property's color function. E.g. + * + *

{@code
+	 * someProperty = lazy(List.background)
+	 * anotherProperty = darken($someProperty, 10%)
+	 * }
+ */ + private static Object parseColorLazy( String value, List params, Function resolver ) + throws IllegalArgumentException + { + if( params.size() != 1 ) + throw newMissingParametersException( value ); + + return parseColorOrFunction( resolver.apply( PROPERTY_PREFIX + params.get( 0 ) ), resolver ); + } + /** * Syntax: systemColor(name[,defaultValue]) * - name: system color name @@ -974,7 +1001,7 @@ class UIDefaultsLoader * fadein(color,amount[,options]) or fadeout(color,amount[,options]) * - color: a color (e.g. #f00) or a color function * - amount: percentage 0-100% - * - options: [relative] [autoInverse] [noAutoInverse] [lazy] [derived] + * - options: [relative] [autoInverse] [noAutoInverse] [derived] [lazy] */ private static Object parseColorHSLIncreaseDecrease( int hslIndex, boolean increase, List params, Function resolver ) @@ -984,15 +1011,15 @@ class UIDefaultsLoader int amount = parsePercentage( params.get( 1 ) ); boolean relative = false; boolean autoInverse = false; - boolean lazy = false; boolean derived = false; + boolean lazy = false; if( params.size() > 2 ) { String options = params.get( 2 ); relative = options.contains( "relative" ); autoInverse = options.contains( "autoInverse" ); - lazy = options.contains( "lazy" ); derived = options.contains( "derived" ); + lazy = options.contains( "lazy" ); // use autoInverse by default for derived colors, except if noAutoInverse is set if( derived && !options.contains( "noAutoInverse" ) ) @@ -1003,14 +1030,8 @@ class UIDefaultsLoader ColorFunction function = new ColorFunctions.HSLIncreaseDecrease( hslIndex, increase, amount, relative, autoInverse ); - if( lazy ) { - return (LazyValue) t -> { - Object color = lazyUIManagerGet( colorStr ); - return (color instanceof Color) - ? new ColorUIResource( ColorFunctions.applyFunctions( (Color) color, function ) ) - : null; - }; - } + if( lazy ) + return newLazyColorFunction( colorStr, function ); // parse base color, apply function and create derived color return parseFunctionBaseColor( colorStr, function, derived, resolver ); @@ -1039,14 +1060,8 @@ class UIDefaultsLoader // create function ColorFunction function = new ColorFunctions.Fade( amount ); - if( lazy ) { - return (LazyValue) t -> { - Object color = lazyUIManagerGet( colorStr ); - return (color instanceof Color) - ? new ColorUIResource( ColorFunctions.applyFunctions( (Color) color, function ) ) - : null; - }; - } + if( lazy ) + return newLazyColorFunction( colorStr, function ); // parse base color, apply function and create derived color return parseFunctionBaseColor( colorStr, function, derived, resolver ); @@ -1056,7 +1071,7 @@ class UIDefaultsLoader * Syntax: spin(color,angle[,options]) * - color: a color (e.g. #f00) or a color function * - angle: number of degrees to rotate - * - options: [derived] + * - options: [derived] [lazy] */ private static Object parseColorSpin( List params, Function resolver ) throws IllegalArgumentException @@ -1064,15 +1079,20 @@ class UIDefaultsLoader String colorStr = params.get( 0 ); int amount = parseInteger( params.get( 1 ) ); boolean derived = false; + boolean lazy = false; if( params.size() > 2 ) { String options = params.get( 2 ); derived = options.contains( "derived" ); + lazy = options.contains( "lazy" ); } // create function ColorFunction function = new ColorFunctions.HSLIncreaseDecrease( 0, true, amount, false, false ); + if( lazy ) + return newLazyColorFunction( colorStr, function ); + // parse base color, apply function and create derived color return parseFunctionBaseColor( colorStr, function, derived, resolver ); } @@ -1084,7 +1104,7 @@ class UIDefaultsLoader * changeAlpha(color,value[,options]) * - color: a color (e.g. #f00) or a color function * - value: for hue: number of degrees; otherwise: percentage 0-100% - * - options: [derived] + * - options: [derived] [lazy] */ private static Object parseColorChange( int hslIndex, List params, Function resolver ) @@ -1095,15 +1115,20 @@ class UIDefaultsLoader ? parseInteger( params.get( 1 ) ) : parsePercentage( params.get( 1 ) ); boolean derived = false; + boolean lazy = false; if( params.size() > 2 ) { String options = params.get( 2 ); derived = options.contains( "derived" ); + lazy = options.contains( "lazy" ); } // create function ColorFunction function = new ColorFunctions.HSLChange( hslIndex, value ); + if( lazy ) + return newLazyColorFunction( colorStr, function ); + // parse base color, apply function and create derived color return parseFunctionBaseColor( colorStr, function, derived, resolver ); } @@ -1116,7 +1141,7 @@ class UIDefaultsLoader * - color2: a color (e.g. #f00) or a color function * - weight: the weight (in range 0-100%) to mix the two colors * larger weight uses more of first color, smaller weight more of second color - * - options: [derived] + * - options: [derived] [lazy] */ private static Object parseColorMix( String color1Str, List params, Function resolver ) throws IllegalArgumentException @@ -1127,6 +1152,7 @@ class UIDefaultsLoader String color2Str = params.get( i++ ); int weight = 50; boolean derived = false; + boolean lazy = false; if( params.size() > i ) { String weightStr = params.get( i ); @@ -1138,6 +1164,7 @@ class UIDefaultsLoader if( params.size() > i ) { String options = params.get( i ); derived = options.contains( "derived" ); + lazy = options.contains( "lazy" ); } // parse second color @@ -1148,6 +1175,9 @@ class UIDefaultsLoader // create function ColorFunction function = new ColorFunctions.Mix2( color1, weight ); + if( lazy ) + return newLazyColorFunction( color2Str, function ); + // parse first color, apply function and create mixed color return parseFunctionBaseColor( color2Str, function, derived, resolver ); } @@ -1243,6 +1273,15 @@ class UIDefaultsLoader return new ColorUIResource( newColor ); } + private static LazyValue newLazyColorFunction( String uiKey, ColorFunction function ) { + return (LazyValue) t -> { + Object color = lazyUIManagerGet( uiKey ); + return (color instanceof Color) + ? new ColorUIResource( ColorFunctions.applyFunctions( (Color) color, function ) ) + : null; + }; + } + /** * Syntax: [normal] [bold|+bold|-bold] [italic|+italic|-italic] [|+|-|%] [family[, family]] [$baseFontKey] */ diff --git a/flatlaf-core/src/test/java/com/formdev/flatlaf/TestUIDefaultsLoader.java b/flatlaf-core/src/test/java/com/formdev/flatlaf/TestUIDefaultsLoader.java index 73f75419..28c36c89 100644 --- a/flatlaf-core/src/test/java/com/formdev/flatlaf/TestUIDefaultsLoader.java +++ b/flatlaf-core/src/test/java/com/formdev/flatlaf/TestUIDefaultsLoader.java @@ -272,9 +272,54 @@ public class TestUIDefaultsLoader } @Test - void parseDerivedColorFunctions() { - // lighten, darken + void parseLazyColorFunctions() { + // lighten + assertEquals( new Color( 0xff6666 ), parseColorLazy( "lighten(dummyColor, 20%, lazy)", new Color( 0xff0000 ) ) ); + // darken + assertEquals( new Color( 0x990000 ), parseColorLazy( "darken(dummyColor, 20%, lazy)", new Color( 0xff0000 ) ) ); + + // saturate + assertEquals( new Color( 0xf32e2e ), parseColorLazy( "saturate(dummyColor, 20%, lazy)", new Color( 0xdd4444 ) ) ); + + // desaturate + assertEquals( new Color( 0x745858 ), parseColorLazy( "desaturate(dummyColor, 20%, lazy)", new Color( 0x884444 ) ) ); + + // fadein + assertEquals( new Color( 0xddff0000, true ), parseColorLazy( "fadein(dummyColor, 20%, lazy)", new Color( 0xaaff0000, true ) ) ); + + // fadeout + assertEquals( new Color( 0x11ff0000, true ), parseColorLazy( "fadeout(dummyColor, 20%, lazy)", new Color( 0x44ff0000, true ) ) ); + + // fade + assertEquals( new Color( 0x33ff0000, true ), parseColorLazy( "fade(dummyColor, 20%, lazy)", new Color( 0xff0000 ) ) ); + assertEquals( new Color( 0xccff0000, true ), parseColorLazy( "fade(dummyColor, 80%, lazy)", new Color( 0x10ff0000, true ) ) ); + + // spin + assertEquals( new Color( 0xffaa00 ), parseColorLazy( "spin(dummyColor, 40, lazy)", new Color( 0xff0000 ) ) ); + assertEquals( new Color( 0xff00aa ), parseColorLazy( "spin(dummyColor, -40, lazy)", new Color( 0xff0000 ) ) ); + + // changeHue / changeSaturation / changeLightness / changeAlpha + assertEquals( new Color( 0xffaa00 ), parseColorLazy( "changeHue(dummyColor, 40, lazy)", new Color( 0xff0000 ) ) ); + assertEquals( new Color( 0xb34d4d ), parseColorLazy( "changeSaturation(dummyColor, 40%, lazy)", new Color( 0xff0000 ) ) ); + assertEquals( new Color( 0xcc0000 ), parseColorLazy( "changeLightness(dummyColor, 40%, lazy)", new Color( 0xff0000 ) ) ); + assertEquals( new Color( 0x66ff0000, true ), parseColorLazy( "changeAlpha(dummyColor, 40%, lazy)", new Color( 0xff0000 ) ) ); + + // mix + assertEquals( new Color( 0x808000 ), parseColorLazy( "mix(#f00, dummyColor, lazy)", new Color( 0x00ff00 ) ) ); + assertEquals( new Color( 0xbf4000 ), parseColorLazy( "mix(#f00, dummyColor, 75%, lazy)", new Color( 0x00ff00 ) ) ); + + // tint + assertEquals( new Color( 0xff80ff ), parseColorLazy( "tint(dummyColor, lazy)", new Color( 0xff00ff ) ) ); + assertEquals( new Color( 0xffbfff ), parseColorLazy( "tint(dummyColor, 75%, lazy)", new Color( 0xff00ff ) ) ); + + // shade + assertEquals( new Color( 0x800080 ), parseColorLazy( "shade(dummyColor, lazy)", new Color( 0xff00ff ) ) ); + assertEquals( new Color( 0x400040 ), parseColorLazy( "shade(dummyColor, 75%, lazy)", new Color( 0xff00ff ) ) ); + } + + @Test + void parseDerivedColorFunctions() { // mix assertDerivedColorEquals( new Color( 0x808000 ), "mix(#f00, #0f0, derived)", new Mix2( Color.red, 50 ) ); assertDerivedColorEquals( new Color( 0xbf4000 ), "mix(#f00, #0f0, 75%, derived)", new Mix2( Color.red, 75 ) ); @@ -400,6 +445,13 @@ public class TestUIDefaultsLoader return UIDefaultsLoader.parseValue( "dummyColor", value, null ); } + private Object parseColorLazy( String value, Color actual ) { + UIManager.put( "dummyColor", actual ); + Object v = UIDefaultsLoader.parseValue( "dummyColor", value, null ); + assertInstanceOf( LazyValue.class, v ); + return ((LazyValue)v).createValue( null ); + } + //---- class TestInstance ------------------------------------------------- @SuppressWarnings( "EqualsHashCode" ) // Error Prone From 68b8769d0d500c0ef633baa31fc4d7c2a3ab9175 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 15:04:22 +0100 Subject: [PATCH 07/15] IntelliJ Themes: theme prefix in `IntelliJTheme$ThemeLaf.properties` changed from `[theme-name]` to `{theme-name}` preparation to support custom/general property prefixes for #649 and #974 --- CHANGELOG.md | 5 + .../com/formdev/flatlaf/IntelliJTheme.java | 10 +- .../flatlaf/IntelliJTheme$ThemeLaf.properties | 588 +++++++++--------- 3 files changed, 304 insertions(+), 299 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ece9cf5c..c0e9a0d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,11 @@ FlatLaf Change Log application where multiple class loaders are involved. E.g. in Eclipse plugin or in LibreOffice extension. (issues #955 and #851) +#### Incompatibilities + +- Theme prefix in `IntelliJTheme$ThemeLaf.properties` changed from + `[theme-name]` to `{theme-name}`. + ## 3.5.4 diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java index bfa19efe..5be0c5c0 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java @@ -332,16 +332,16 @@ public class IntelliJTheme // search for theme specific UI defaults keys ArrayList themeSpecificKeys = new ArrayList<>(); for( Object key : defaults.keySet() ) { - if( key instanceof String && ((String)key).startsWith( "[" ) && !((String)key).startsWith( "[style]" ) ) + if( key instanceof String && ((String)key).startsWith( "{" ) ) themeSpecificKeys.add( (String) key ); } // remove theme specific UI defaults and remember only those for current theme Map themeSpecificDefaults = new HashMap<>(); - String currentThemePrefix = '[' + name.replace( ' ', '_' ) + ']'; - String currentThemeAndAuthorPrefix = '[' + name.replace( ' ', '_' ) + "---" + author.replace( ' ', '_' ) + ']'; - String currentAuthorPrefix = "[author-" + author.replace( ' ', '_' ) + ']'; - String allThemesPrefix = "[*]"; + String currentThemePrefix = '{' + name.replace( ' ', '_' ) + '}'; + String currentThemeAndAuthorPrefix = '{' + name.replace( ' ', '_' ) + "---" + author.replace( ' ', '_' ) + '}'; + String currentAuthorPrefix = "{author-" + author.replace( ' ', '_' ) + '}'; + String allThemesPrefix = "{*}"; String[] prefixes = { currentThemePrefix, currentThemeAndAuthorPrefix, currentAuthorPrefix, allThemesPrefix }; for( String key : themeSpecificKeys ) { Object value = defaults.remove( key ); diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties index 3e7c19f9..1a82b358 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties @@ -115,356 +115,356 @@ ToggleButton.endBackground = $ToggleButton.background @ijTextBackgroundL3 = lighten(Panel.background,3%,lazy) @ijTextBackgroundL4 = lighten(Panel.background,4%,lazy) -[Arc_Theme]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme]PopupMenu.foreground = lazy(MenuItem.foreground) -[Arc_Theme]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme]ProgressBar.selectionBackground = #000 -[Arc_Theme]ProgressBar.selectionForeground = #fff -[Arc_Theme]List.selectionInactiveForeground = #fff -[Arc_Theme]Table.selectionInactiveForeground = #fff -[Arc_Theme]Tree.selectionInactiveForeground = #fff +{Arc_Theme}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme}PopupMenu.foreground = lazy(MenuItem.foreground) +{Arc_Theme}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme}ProgressBar.selectionBackground = #000 +{Arc_Theme}ProgressBar.selectionForeground = #fff +{Arc_Theme}List.selectionInactiveForeground = #fff +{Arc_Theme}Table.selectionInactiveForeground = #fff +{Arc_Theme}Tree.selectionInactiveForeground = #fff -[Arc_Theme_-_Orange]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_-_Orange]PopupMenu.foreground = lazy(MenuItem.foreground) -[Arc_Theme_-_Orange]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_-_Orange]ProgressBar.selectionBackground = #000 -[Arc_Theme_-_Orange]ProgressBar.selectionForeground = #fff -[Arc_Theme_-_Orange]List.selectionInactiveForeground = #fff -[Arc_Theme_-_Orange]Table.selectionInactiveForeground = #fff -[Arc_Theme_-_Orange]Tree.selectionInactiveForeground = #fff +{Arc_Theme_-_Orange}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_-_Orange}PopupMenu.foreground = lazy(MenuItem.foreground) +{Arc_Theme_-_Orange}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_-_Orange}ProgressBar.selectionBackground = #000 +{Arc_Theme_-_Orange}ProgressBar.selectionForeground = #fff +{Arc_Theme_-_Orange}List.selectionInactiveForeground = #fff +{Arc_Theme_-_Orange}Table.selectionInactiveForeground = #fff +{Arc_Theme_-_Orange}Tree.selectionInactiveForeground = #fff -[Arc_Theme_Dark]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark]PopupMenu.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark]ProgressBar.selectionBackground = #ddd -[Arc_Theme_Dark]ProgressBar.selectionForeground = #ddd -[Arc_Theme_Dark]ToolBar.separatorColor = lazy(Separator.foreground) +{Arc_Theme_Dark}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark}PopupMenu.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark}ProgressBar.selectionBackground = #ddd +{Arc_Theme_Dark}ProgressBar.selectionForeground = #ddd +{Arc_Theme_Dark}ToolBar.separatorColor = lazy(Separator.foreground) -[Arc_Theme_Dark_-_Orange]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark_-_Orange]PopupMenu.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark_-_Orange]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -[Arc_Theme_Dark_-_Orange]ProgressBar.selectionBackground = #ddd -[Arc_Theme_Dark_-_Orange]ProgressBar.selectionForeground = #fff -[Arc_Theme_Dark_-_Orange]ToolBar.separatorColor = lazy(Separator.foreground) +{Arc_Theme_Dark_-_Orange}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark_-_Orange}PopupMenu.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark_-_Orange}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) +{Arc_Theme_Dark_-_Orange}ProgressBar.selectionBackground = #ddd +{Arc_Theme_Dark_-_Orange}ProgressBar.selectionForeground = #fff +{Arc_Theme_Dark_-_Orange}ToolBar.separatorColor = lazy(Separator.foreground) -[Carbon]Table.selectionBackground = lazy(List.selectionBackground) -[Carbon]Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -[Carbon]TextField.background = @ijTextBackgroundL4 +{Carbon}Table.selectionBackground = lazy(List.selectionBackground) +{Carbon}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Carbon}TextField.background = @ijTextBackgroundL4 -[Cobalt_2]Component.accentColor = lazy(Component.focusColor) -[Cobalt_2]CheckBox.icon.background = #002946 -[Cobalt_2]CheckBox.icon.checkmarkColor = #002946 -[Cobalt_2]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[Cobalt_2]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[Cobalt_2]ComboBox.background = @ijTextBackgroundL3 -[Cobalt_2]ComboBox.buttonBackground = @ijTextBackgroundL3 -[Cobalt_2]TextField.background = @ijTextBackgroundL3 -[Cobalt_2]Table.background = lazy(List.background) -[Cobalt_2]Tree.background = lazy(List.background) +{Cobalt_2}Component.accentColor = lazy(Component.focusColor) +{Cobalt_2}CheckBox.icon.background = #002946 +{Cobalt_2}CheckBox.icon.checkmarkColor = #002946 +{Cobalt_2}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{Cobalt_2}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{Cobalt_2}ComboBox.background = @ijTextBackgroundL3 +{Cobalt_2}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Cobalt_2}TextField.background = @ijTextBackgroundL3 +{Cobalt_2}Table.background = lazy(List.background) +{Cobalt_2}Tree.background = lazy(List.background) -[Cyan_light]MenuItem.checkBackground = @ijMenuCheckBackgroundL20 -[Cyan_light]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 +{Cyan_light}MenuItem.checkBackground = @ijMenuCheckBackgroundL20 +{Cyan_light}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 -[Dark_Flat_Theme]*.inactiveForeground = #808080 -[Dark_Flat_Theme]Component.accentColor = lazy(List.selectionBackground) -[Dark_Flat_Theme]TableHeader.background = #3B3B3B -[Dark_Flat_Theme]TextPane.foreground = lazy(TextField.foreground) -[Dark_Flat_Theme]CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -[Dark_Flat_Theme]List.selectionForeground = lazy(Tree.selectionForeground) -[Dark_Flat_Theme]RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -[Dark_Flat_Theme]Separator.foreground = lazy(ToolBar.separatorColor) +{Dark_Flat_Theme}*.inactiveForeground = #808080 +{Dark_Flat_Theme}Component.accentColor = lazy(List.selectionBackground) +{Dark_Flat_Theme}TableHeader.background = #3B3B3B +{Dark_Flat_Theme}TextPane.foreground = lazy(TextField.foreground) +{Dark_Flat_Theme}CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) +{Dark_Flat_Theme}List.selectionForeground = lazy(Tree.selectionForeground) +{Dark_Flat_Theme}RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) +{Dark_Flat_Theme}Separator.foreground = lazy(ToolBar.separatorColor) -[Dark_purple]Slider.focusedColor = fade($Component.focusColor,70%,derived) +{Dark_purple}Slider.focusedColor = fade($Component.focusColor,70%,derived) -[Dracula---Zihan_Ma]Component.accentColor = lazy(Component.focusColor) -[Dracula---Zihan_Ma]ComboBox.selectionBackground = lazy(List.selectionBackground) -[Dracula---Zihan_Ma]ProgressBar.selectionBackground = #fff -[Dracula---Zihan_Ma]ProgressBar.selectionForeground = #fff +{Dracula---Zihan_Ma}Component.accentColor = lazy(Component.focusColor) +{Dracula---Zihan_Ma}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Dracula---Zihan_Ma}ProgressBar.selectionBackground = #fff +{Dracula---Zihan_Ma}ProgressBar.selectionForeground = #fff -[Gradianto_Dark_Fuchsia]*.selectionBackground = #8452a7 -[Gradianto_Dark_Fuchsia]*.selectionInactiveBackground = #562C6A -[Gradianto_Dark_Fuchsia]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[Gradianto_Dark_Fuchsia]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[Gradianto_Dark_Fuchsia]TextField.background = @ijTextBackgroundL4 -[Gradianto_Dark_Fuchsia]Tree.background = lazy(List.background) -[Gradianto_Dark_Fuchsia]Separator.foreground = lazy(ScrollBar.track) -[Gradianto_Dark_Fuchsia]ToolBar.separatorColor = lazy(ScrollBar.track) -[Gradianto_Dark_Fuchsia]ProgressBar.background = lazy(ScrollBar.track) -[Gradianto_Dark_Fuchsia]Slider.trackColor = lazy(ScrollBar.track) +{Gradianto_Dark_Fuchsia}*.selectionBackground = #8452a7 +{Gradianto_Dark_Fuchsia}*.selectionInactiveBackground = #562C6A +{Gradianto_Dark_Fuchsia}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{Gradianto_Dark_Fuchsia}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{Gradianto_Dark_Fuchsia}TextField.background = @ijTextBackgroundL4 +{Gradianto_Dark_Fuchsia}Tree.background = lazy(List.background) +{Gradianto_Dark_Fuchsia}Separator.foreground = lazy(ScrollBar.track) +{Gradianto_Dark_Fuchsia}ToolBar.separatorColor = lazy(ScrollBar.track) +{Gradianto_Dark_Fuchsia}ProgressBar.background = lazy(ScrollBar.track) +{Gradianto_Dark_Fuchsia}Slider.trackColor = lazy(ScrollBar.track) -[Gradianto_Deep_Ocean]TextField.background = @ijTextBackgroundL3 -[Gradianto_Deep_Ocean]Tree.background = lazy(List.background) +{Gradianto_Deep_Ocean}TextField.background = @ijTextBackgroundL3 +{Gradianto_Deep_Ocean}Tree.background = lazy(List.background) -[Gradianto_Midnight_Blue]ScrollBar.thumb = #533B6B -[Gradianto_Midnight_Blue]Table.selectionForeground = lazy(List.selectionForeground) -[Gradianto_Midnight_Blue]TextField.background = @ijTextBackgroundL4 -[Gradianto_Midnight_Blue]Tree.background = lazy(List.background) +{Gradianto_Midnight_Blue}ScrollBar.thumb = #533B6B +{Gradianto_Midnight_Blue}Table.selectionForeground = lazy(List.selectionForeground) +{Gradianto_Midnight_Blue}TextField.background = @ijTextBackgroundL4 +{Gradianto_Midnight_Blue}Tree.background = lazy(List.background) -[Gradianto_Nature_Green]Table.selectionForeground = lazy(List.selectionForeground) -[Gradianto_Nature_Green]TextField.background = @ijTextBackgroundL4 +{Gradianto_Nature_Green}Table.selectionForeground = lazy(List.selectionForeground) +{Gradianto_Nature_Green}TextField.background = @ijTextBackgroundL4 -[Gray]Separator.foreground = lazy(Slider.trackColor) -[Gray]ToolBar.separatorColor = lazy(Slider.trackColor) +{Gray}Separator.foreground = lazy(Slider.trackColor) +{Gray}ToolBar.separatorColor = lazy(Slider.trackColor) -[Gruvbox_Dark_Hard]Component.accentColor = lazy(TabbedPane.underlineColor) -[Gruvbox_Dark_Hard]ToggleButton.selectedBackground = $ToggleButton.selectedBackground -[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -[Gruvbox_Dark_Hard]ComboBox.background = @ijTextBackgroundL3 -[Gruvbox_Dark_Hard]ComboBox.buttonBackground = @ijTextBackgroundL3 -[Gruvbox_Dark_Hard]TextField.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Hard}Component.accentColor = lazy(TabbedPane.underlineColor) +{Gruvbox_Dark_Hard}ToggleButton.selectedBackground = $ToggleButton.selectedBackground +{Gruvbox_Dark_Hard}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground +{Gruvbox_Dark_Hard}ComboBox.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Hard}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Gruvbox_Dark_Hard}TextField.background = @ijTextBackgroundL3 -[Gruvbox_Dark_Medium]Component.accentColor = lazy(TabbedPane.underlineColor) -[Gruvbox_Dark_Medium]ToggleButton.selectedBackground = $ToggleButton.selectedBackground -[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -[Gruvbox_Dark_Medium]ComboBox.background = @ijTextBackgroundL3 -[Gruvbox_Dark_Medium]ComboBox.buttonBackground = @ijTextBackgroundL3 -[Gruvbox_Dark_Medium]TextField.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Medium}Component.accentColor = lazy(TabbedPane.underlineColor) +{Gruvbox_Dark_Medium}ToggleButton.selectedBackground = $ToggleButton.selectedBackground +{Gruvbox_Dark_Medium}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground +{Gruvbox_Dark_Medium}ComboBox.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Medium}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Gruvbox_Dark_Medium}TextField.background = @ijTextBackgroundL3 -[Gruvbox_Dark_Soft]Component.accentColor = lazy(TabbedPane.underlineColor) -[Gruvbox_Dark_Soft]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[Gruvbox_Dark_Soft]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[Gruvbox_Dark_Soft]ToggleButton.selectedBackground = $ToggleButton.selectedBackground -[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -[Gruvbox_Dark_Soft]ComboBox.background = @ijTextBackgroundL3 -[Gruvbox_Dark_Soft]ComboBox.buttonBackground = @ijTextBackgroundL3 -[Gruvbox_Dark_Soft]TextField.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Soft}Component.accentColor = lazy(TabbedPane.underlineColor) +{Gruvbox_Dark_Soft}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{Gruvbox_Dark_Soft}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{Gruvbox_Dark_Soft}ToggleButton.selectedBackground = $ToggleButton.selectedBackground +{Gruvbox_Dark_Soft}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground +{Gruvbox_Dark_Soft}ComboBox.background = @ijTextBackgroundL3 +{Gruvbox_Dark_Soft}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Gruvbox_Dark_Soft}TextField.background = @ijTextBackgroundL3 -[Hiberbee_Dark]*.disabledForeground = #7F7E7D -[Hiberbee_Dark]*.disabledText = #7F7E7D -[Hiberbee_Dark]*.inactiveForeground = #7F7E7D -[Hiberbee_Dark]ProgressBar.background = lazy(Separator.foreground) -[Hiberbee_Dark]Slider.trackColor = lazy(Separator.foreground) -[Hiberbee_Dark]TabbedPane.focusColor = #5A5A5A -[Hiberbee_Dark]TabbedPane.selectedBackground = #434241 -[Hiberbee_Dark]TabbedPane.selectedForeground = #70D7FF -[Hiberbee_Dark]ToggleButton.selectedBackground = $ToggleButton.selectedBackground -[Hiberbee_Dark]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -[Hiberbee_Dark]Table.selectionInactiveBackground = lazy(List.selectionInactiveBackground) -[Hiberbee_Dark]Tree.selectionBackground = lazy(List.selectionBackground) -[Hiberbee_Dark]Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) +{Hiberbee_Dark}*.disabledForeground = #7F7E7D +{Hiberbee_Dark}*.disabledText = #7F7E7D +{Hiberbee_Dark}*.inactiveForeground = #7F7E7D +{Hiberbee_Dark}ProgressBar.background = lazy(Separator.foreground) +{Hiberbee_Dark}Slider.trackColor = lazy(Separator.foreground) +{Hiberbee_Dark}TabbedPane.focusColor = #5A5A5A +{Hiberbee_Dark}TabbedPane.selectedBackground = #434241 +{Hiberbee_Dark}TabbedPane.selectedForeground = #70D7FF +{Hiberbee_Dark}ToggleButton.selectedBackground = $ToggleButton.selectedBackground +{Hiberbee_Dark}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground +{Hiberbee_Dark}Table.selectionInactiveBackground = lazy(List.selectionInactiveBackground) +{Hiberbee_Dark}Tree.selectionBackground = lazy(List.selectionBackground) +{Hiberbee_Dark}Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) -[High_Contrast]Component.accentColor = lazy(Component.focusColor) -[High_Contrast]Button.hoverBorderColor = #1AEBFF -[High_Contrast]HelpButton.hoverBorderColor = #1AEBFF -[High_Contrast]ToggleButton.selectedBackground = #fff -[High_Contrast]ToggleButton.selectedForeground = #000 -[High_Contrast]ToggleButton.disabledSelectedBackground = #444 -[High_Contrast]ToggleButton.toolbar.selectedBackground = #3333FF -[High_Contrast][style]Button.inTextField = \ +{High_Contrast}Component.accentColor = lazy(Component.focusColor) +{High_Contrast}Button.hoverBorderColor = #1AEBFF +{High_Contrast}HelpButton.hoverBorderColor = #1AEBFF +{High_Contrast}ToggleButton.selectedBackground = #fff +{High_Contrast}ToggleButton.selectedForeground = #000 +{High_Contrast}ToggleButton.disabledSelectedBackground = #444 +{High_Contrast}ToggleButton.toolbar.selectedBackground = #3333FF +{High_Contrast}[style]Button.inTextField = \ toolbar.hoverBackground: #444; \ toolbar.pressedBackground: #666; \ toolbar.selectedBackground: #fff -[High_Contrast][style]ToggleButton.inTextField = $[High_Contrast][style]Button.inTextField +{High_Contrast}[style]ToggleButton.inTextField = ${High_Contrast}[style]Button.inTextField -[Light_Flat]*.disabledForeground = #8C8C8C -[Light_Flat]*.inactiveForeground = #8C8C8C -[Light_Flat]CheckBox.icon[filled].background = #fff -[Light_Flat]CheckBox.icon[filled].checkmarkColor = #fff -[Light_Flat]Component.accentColor = lazy(TabbedPane.underlineColor) -[Light_Flat]ComboBox.background = lazy(ComboBox.editableBackground) -[Light_Flat]ComboBox.buttonBackground = lazy(ComboBox.editableBackground) -[Light_Flat]Separator.foreground = lazy(ToolBar.separatorColor) -[Light_Flat]TableHeader.background = #E5E5E9 -[Light_Flat]TextPane.foreground = lazy(TextField.foreground) -[Light_Flat]CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -[Light_Flat]RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) +{Light_Flat}*.disabledForeground = #8C8C8C +{Light_Flat}*.inactiveForeground = #8C8C8C +{Light_Flat}CheckBox.icon[filled].background = #fff +{Light_Flat}CheckBox.icon[filled].checkmarkColor = #fff +{Light_Flat}Component.accentColor = lazy(TabbedPane.underlineColor) +{Light_Flat}ComboBox.background = lazy(ComboBox.editableBackground) +{Light_Flat}ComboBox.buttonBackground = lazy(ComboBox.editableBackground) +{Light_Flat}Separator.foreground = lazy(ToolBar.separatorColor) +{Light_Flat}TableHeader.background = #E5E5E9 +{Light_Flat}TextPane.foreground = lazy(TextField.foreground) +{Light_Flat}CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) +{Light_Flat}RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -[Monocai]Button.default.foreground = #2D2A2F -[Monocai]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[Monocai]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{Monocai}Button.default.foreground = #2D2A2F +{Monocai}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{Monocai}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 @Monocai.acceleratorForeground = lazy(MenuItem.disabledForeground) @Monocai.acceleratorSelectionForeground = lighten(MenuItem.disabledForeground,10%,lazy) -[Monocai]CheckBoxMenuItem.acceleratorForeground = @Monocai.acceleratorForeground -[Monocai]CheckBoxMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -[Monocai]Menu.acceleratorForeground = @Monocai.acceleratorForeground -[Monocai]Menu.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -[Monocai]MenuItem.acceleratorForeground = @Monocai.acceleratorForeground -[Monocai]MenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -[Monocai]RadioButtonMenuItem.acceleratorForeground = @Monocai.acceleratorForeground -[Monocai]RadioButtonMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -[Monocai]TextField.background = @ijTextBackgroundL4 +{Monocai}CheckBoxMenuItem.acceleratorForeground = @Monocai.acceleratorForeground +{Monocai}CheckBoxMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground +{Monocai}Menu.acceleratorForeground = @Monocai.acceleratorForeground +{Monocai}Menu.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground +{Monocai}MenuItem.acceleratorForeground = @Monocai.acceleratorForeground +{Monocai}MenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground +{Monocai}RadioButtonMenuItem.acceleratorForeground = @Monocai.acceleratorForeground +{Monocai}RadioButtonMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground +{Monocai}TextField.background = @ijTextBackgroundL4 @Monocai.selectionBackground = lazy(TextField.selectionBackground) -[Monocai]ComboBox.selectionBackground = @Monocai.selectionBackground -[Monocai]List.selectionBackground = @Monocai.selectionBackground -[Monocai]Table.selectionBackground = @Monocai.selectionBackground -[Monocai]Tree.selectionBackground = @Monocai.selectionBackground +{Monocai}ComboBox.selectionBackground = @Monocai.selectionBackground +{Monocai}List.selectionBackground = @Monocai.selectionBackground +{Monocai}Table.selectionBackground = @Monocai.selectionBackground +{Monocai}Tree.selectionBackground = @Monocai.selectionBackground @Monocai.selectionInactiveBackground = lazy(MenuItem.selectionBackground) -[Monocai]List.selectionInactiveBackground = @Monocai.selectionInactiveBackground -[Monocai]Table.selectionInactiveBackground = @Monocai.selectionInactiveBackground -[Monocai]Tree.selectionInactiveBackground = @Monocai.selectionInactiveBackground +{Monocai}List.selectionInactiveBackground = @Monocai.selectionInactiveBackground +{Monocai}Table.selectionInactiveBackground = @Monocai.selectionInactiveBackground +{Monocai}Tree.selectionInactiveBackground = @Monocai.selectionInactiveBackground -[Monokai_Pro---Subtheme]Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -[Monokai_Pro---Subtheme]Tree.selectionBackground = lazy(List.selectionBackground) -[Monokai_Pro---Subtheme]Separator.foreground = lazy(Slider.trackColor) -[Monokai_Pro---Subtheme]ToolBar.separatorColor = lazy(Slider.trackColor) +{Monokai_Pro---Subtheme}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Monokai_Pro---Subtheme}Tree.selectionBackground = lazy(List.selectionBackground) +{Monokai_Pro---Subtheme}Separator.foreground = lazy(Slider.trackColor) +{Monokai_Pro---Subtheme}ToolBar.separatorColor = lazy(Slider.trackColor) -[Nord]*.inactiveForeground = #616E88 -[Nord]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[Nord]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[Nord]List.selectionBackground = lazy(Tree.selectionBackground) -[Nord]List.selectionForeground = lazy(Tree.selectionForeground) -[Nord]Table.selectionBackground = lazy(Tree.selectionBackground) -[Nord]Table.selectionForeground = lazy(Tree.selectionForeground) -[Nord]TextField.selectionBackground = lazy(Tree.selectionBackground) -[Nord]TextField.selectionForeground = lazy(Tree.selectionForeground) -[Nord]Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Nord}*.inactiveForeground = #616E88 +{Nord}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{Nord}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{Nord}List.selectionBackground = lazy(Tree.selectionBackground) +{Nord}List.selectionForeground = lazy(Tree.selectionForeground) +{Nord}Table.selectionBackground = lazy(Tree.selectionBackground) +{Nord}Table.selectionForeground = lazy(Tree.selectionForeground) +{Nord}TextField.selectionBackground = lazy(Tree.selectionBackground) +{Nord}TextField.selectionForeground = lazy(Tree.selectionForeground) +{Nord}Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -[NotReallyMDTheme]*.selectionInactiveBackground = #21384E -[NotReallyMDTheme]ToolBar.separatorColor = lazy(Separator.foreground) +{NotReallyMDTheme}*.selectionInactiveBackground = #21384E +{NotReallyMDTheme}ToolBar.separatorColor = lazy(Separator.foreground) -[One_Dark]List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) -[One_Dark]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[One_Dark]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[One_Dark]ProgressBar.background = lazy(Separator.foreground) -[One_Dark]Slider.trackColor = lazy(Separator.foreground) -[One_Dark]Slider.focusedColor = fade(#568af2,40%) -[One_Dark]Table.background = lazy(Tree.background) -[One_Dark]Table.selectionBackground = lazy(Tree.selectionBackground) -[One_Dark]TextField.selectionBackground = lazy(List.selectionBackground) -[One_Dark]Tree.selectionForeground = lazy(List.selectionForeground) +{One_Dark}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) +{One_Dark}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{One_Dark}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{One_Dark}ProgressBar.background = lazy(Separator.foreground) +{One_Dark}Slider.trackColor = lazy(Separator.foreground) +{One_Dark}Slider.focusedColor = fade(#568af2,40%) +{One_Dark}Table.background = lazy(Tree.background) +{One_Dark}Table.selectionBackground = lazy(Tree.selectionBackground) +{One_Dark}TextField.selectionBackground = lazy(List.selectionBackground) +{One_Dark}Tree.selectionForeground = lazy(List.selectionForeground) -[Solarized_Dark---4lex4]*.inactiveForeground = #657B83 -[Solarized_Dark---4lex4]Component.accentColor = lazy(TabbedPane.underlineColor) -[Solarized_Dark---4lex4]ComboBox.background = lazy(ComboBox.editableBackground) -[Solarized_Dark---4lex4]ComboBox.buttonBackground = lazy(ComboBox.editableBackground) -[Solarized_Dark---4lex4]Slider.focusedColor = fade($Component.focusColor,80%,derived) -[Solarized_Dark---4lex4]ToolBar.separatorColor = lazy(Separator.foreground) +{Solarized_Dark---4lex4}*.inactiveForeground = #657B83 +{Solarized_Dark---4lex4}Component.accentColor = lazy(TabbedPane.underlineColor) +{Solarized_Dark---4lex4}ComboBox.background = lazy(ComboBox.editableBackground) +{Solarized_Dark---4lex4}ComboBox.buttonBackground = lazy(ComboBox.editableBackground) +{Solarized_Dark---4lex4}Slider.focusedColor = fade($Component.focusColor,80%,derived) +{Solarized_Dark---4lex4}ToolBar.separatorColor = lazy(Separator.foreground) -[Solarized_Light---4lex4]*.inactiveForeground = #839496 -[Solarized_Light---4lex4]Button.default.hoverBackground = darken($Button.default.background,3%,derived) -[Solarized_Light---4lex4]Component.accentColor = lazy(TabbedPane.underlineColor) +{Solarized_Light---4lex4}*.inactiveForeground = #839496 +{Solarized_Light---4lex4}Button.default.hoverBackground = darken($Button.default.background,3%,derived) +{Solarized_Light---4lex4}Component.accentColor = lazy(TabbedPane.underlineColor) -[Spacegray]ComboBox.background = @ijTextBackgroundL4 -[Spacegray]ComboBox.buttonBackground = @ijTextBackgroundL4 -[Spacegray]TextField.background = @ijTextBackgroundL4 -[Spacegray]TextField.selectionBackground = lazy(Tree.selectionBackground) -[Spacegray]TextField.selectionForeground = lazy(Tree.selectionForeground) +{Spacegray}ComboBox.background = @ijTextBackgroundL4 +{Spacegray}ComboBox.buttonBackground = @ijTextBackgroundL4 +{Spacegray}TextField.background = @ijTextBackgroundL4 +{Spacegray}TextField.selectionBackground = lazy(Tree.selectionBackground) +{Spacegray}TextField.selectionForeground = lazy(Tree.selectionForeground) -[vuesion-theme]*.disabledForeground = #8C8C8C -[vuesion-theme]*.disabledText = #8C8C8C -[vuesion-theme]*.inactiveForeground = #8C8C8C -[vuesion-theme]Component.accentColor = lazy(Button.default.endBackground) -[vuesion-theme]MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -[vuesion-theme]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -[vuesion-theme]Slider.trackValueColor = #ececee -[vuesion-theme]Slider.trackColor = #303a45 -[vuesion-theme]Slider.thumbColor = #ececee -[vuesion-theme]Slider.focusedColor = fade(#ececee,20%) -[vuesion-theme]ComboBox.background = @ijTextBackgroundL4 -[vuesion-theme]ComboBox.buttonBackground = @ijTextBackgroundL4 -[vuesion-theme]TextField.background = @ijTextBackgroundL4 -[vuesion-theme]TextField.selectionBackground = lighten(#303A45,15%) +{vuesion-theme}*.disabledForeground = #8C8C8C +{vuesion-theme}*.disabledText = #8C8C8C +{vuesion-theme}*.inactiveForeground = #8C8C8C +{vuesion-theme}Component.accentColor = lazy(Button.default.endBackground) +{vuesion-theme}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 +{vuesion-theme}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 +{vuesion-theme}Slider.trackValueColor = #ececee +{vuesion-theme}Slider.trackColor = #303a45 +{vuesion-theme}Slider.thumbColor = #ececee +{vuesion-theme}Slider.focusedColor = fade(#ececee,20%) +{vuesion-theme}ComboBox.background = @ijTextBackgroundL4 +{vuesion-theme}ComboBox.buttonBackground = @ijTextBackgroundL4 +{vuesion-theme}TextField.background = @ijTextBackgroundL4 +{vuesion-theme}TextField.selectionBackground = lighten(#303A45,15%) -[Xcode-Dark]TextField.background = @ijTextBackgroundL4 +{Xcode-Dark}TextField.background = @ijTextBackgroundL4 # Material Theme UI Lite -[light][author-Mallowigi]MenuItem.checkBackground = @ijMenuCheckBackgroundD10 -[light][author-Mallowigi]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundD10 -[dark][author-Mallowigi]MenuItem.checkBackground = @ijMenuCheckBackgroundL20 -[dark][author-Mallowigi]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 +[light]{author-Mallowigi}MenuItem.checkBackground = @ijMenuCheckBackgroundD10 +[light]{author-Mallowigi}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundD10 +[dark]{author-Mallowigi}MenuItem.checkBackground = @ijMenuCheckBackgroundL20 +[dark]{author-Mallowigi}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 -[author-Mallowigi]Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) +{author-Mallowigi}Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) -[Arc_Dark]ComboBox.selectionBackground = lazy(List.selectionBackground) -[Arc_Dark]Table.selectionBackground = lazy(List.selectionBackground) +{Arc_Dark}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Arc_Dark}Table.selectionBackground = lazy(List.selectionBackground) -[Atom_One_Dark]Separator.foreground = lazy(Slider.trackColor) -[Atom_One_Dark]ToolBar.separatorColor = lazy(Slider.trackColor) +{Atom_One_Dark}Separator.foreground = lazy(Slider.trackColor) +{Atom_One_Dark}ToolBar.separatorColor = lazy(Slider.trackColor) -[Atom_One_Light]List.selectionBackground = lazy(Table.selectionBackground) -[Atom_One_Light]Tree.selectionBackground = lazy(Table.selectionBackground) -[Atom_One_Light]TabbedPane.contentAreaColor = lazy(Separator.foreground) +{Atom_One_Light}List.selectionBackground = lazy(Table.selectionBackground) +{Atom_One_Light}Tree.selectionBackground = lazy(Table.selectionBackground) +{Atom_One_Light}TabbedPane.contentAreaColor = lazy(Separator.foreground) -[Dracula---Mallowigi]*.selectionBackground = #44475A -[Dracula---Mallowigi]List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) -[Dracula---Mallowigi]ProgressBar.selectionBackground = #fff -[Dracula---Mallowigi]ProgressBar.selectionForeground = #fff -[Dracula---Mallowigi]RadioButtonMenuItem.selectionForeground = lazy(CheckBoxMenuItem.selectionForeground) -[Dracula---Mallowigi]Table.selectionForeground = lazy(List.selectionForeground) -[Dracula---Mallowigi]Separator.foreground = lazy(Slider.trackColor) -[Dracula---Mallowigi]ToolBar.separatorColor = lazy(Slider.trackColor) +{Dracula---Mallowigi}*.selectionBackground = #44475A +{Dracula---Mallowigi}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) +{Dracula---Mallowigi}ProgressBar.selectionBackground = #fff +{Dracula---Mallowigi}ProgressBar.selectionForeground = #fff +{Dracula---Mallowigi}RadioButtonMenuItem.selectionForeground = lazy(CheckBoxMenuItem.selectionForeground) +{Dracula---Mallowigi}Table.selectionForeground = lazy(List.selectionForeground) +{Dracula---Mallowigi}Separator.foreground = lazy(Slider.trackColor) +{Dracula---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) -[GitHub]ProgressBar.selectionBackground = #222 -[GitHub]ProgressBar.selectionForeground = #222 -[GitHub]TextField.background = @ijTextBackgroundL3 -[GitHub]List.selectionBackground = lazy(Table.selectionBackground) -[GitHub]Tree.selectionBackground = lazy(Table.selectionBackground) +{GitHub}ProgressBar.selectionBackground = #222 +{GitHub}ProgressBar.selectionForeground = #222 +{GitHub}TextField.background = @ijTextBackgroundL3 +{GitHub}List.selectionBackground = lazy(Table.selectionBackground) +{GitHub}Tree.selectionBackground = lazy(Table.selectionBackground) -[GitHub_Dark]ComboBox.selectionBackground = lazy(Tree.selectionBackground) -[GitHub_Dark]Table.selectionBackground = lazy(Tree.selectionBackground) -[GitHub_Dark]Separator.foreground = lazy(Slider.trackColor) -[GitHub_Dark]ToolBar.separatorColor = lazy(Slider.trackColor) +{GitHub_Dark}ComboBox.selectionBackground = lazy(Tree.selectionBackground) +{GitHub_Dark}Table.selectionBackground = lazy(Tree.selectionBackground) +{GitHub_Dark}Separator.foreground = lazy(Slider.trackColor) +{GitHub_Dark}ToolBar.separatorColor = lazy(Slider.trackColor) -[Light_Owl]CheckBoxMenuItem.selectionForeground = lazy(CheckBoxMenuItem.foreground) -[Light_Owl]ComboBox.selectionForeground = lazy(ComboBox.foreground) -[Light_Owl]List.selectionInactiveForeground = lazy(List.foreground) -[Light_Owl]Menu.selectionForeground = lazy(Menu.foreground) -[Light_Owl]MenuBar.selectionForeground = lazy(MenuBar.foreground) -[Light_Owl]MenuItem.selectionForeground = lazy(MenuItem.foreground) -[Light_Owl]ProgressBar.selectionBackground = #111 -[Light_Owl]ProgressBar.selectionForeground = #fff -[Light_Owl]Spinner.selectionForeground = lazy(Spinner.foreground) -[Light_Owl]Table.selectionForeground = lazy(Table.foreground) -[Light_Owl]TextField.selectionForeground = lazy(TextField.foreground) -[Light_Owl]TextField.background = @ijTextBackgroundL3 -[Light_Owl]List.selectionBackground = lazy(Table.selectionBackground) -[Light_Owl]Tree.selectionBackground = lazy(Table.selectionBackground) +{Light_Owl}CheckBoxMenuItem.selectionForeground = lazy(CheckBoxMenuItem.foreground) +{Light_Owl}ComboBox.selectionForeground = lazy(ComboBox.foreground) +{Light_Owl}List.selectionInactiveForeground = lazy(List.foreground) +{Light_Owl}Menu.selectionForeground = lazy(Menu.foreground) +{Light_Owl}MenuBar.selectionForeground = lazy(MenuBar.foreground) +{Light_Owl}MenuItem.selectionForeground = lazy(MenuItem.foreground) +{Light_Owl}ProgressBar.selectionBackground = #111 +{Light_Owl}ProgressBar.selectionForeground = #fff +{Light_Owl}Spinner.selectionForeground = lazy(Spinner.foreground) +{Light_Owl}Table.selectionForeground = lazy(Table.foreground) +{Light_Owl}TextField.selectionForeground = lazy(TextField.foreground) +{Light_Owl}TextField.background = @ijTextBackgroundL3 +{Light_Owl}List.selectionBackground = lazy(Table.selectionBackground) +{Light_Owl}Tree.selectionBackground = lazy(Table.selectionBackground) -[Material_Darker]*.selectionBackground = lighten(#2D2D2D,15%) -[Material_Darker]Separator.foreground = lazy(Slider.trackColor) -[Material_Darker]ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Darker}*.selectionBackground = lighten(#2D2D2D,15%) +{Material_Darker}Separator.foreground = lazy(Slider.trackColor) +{Material_Darker}ToolBar.separatorColor = lazy(Slider.trackColor) -[Material_Deep_Ocean]*.selectionBackground = lighten(#222533,15%) -[Material_Deep_Ocean]Separator.foreground = lazy(Slider.trackColor) -[Material_Deep_Ocean]ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Deep_Ocean}*.selectionBackground = lighten(#222533,15%) +{Material_Deep_Ocean}Separator.foreground = lazy(Slider.trackColor) +{Material_Deep_Ocean}ToolBar.separatorColor = lazy(Slider.trackColor) -[Material_Lighter]List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) -[Material_Lighter]ProgressBar.selectionBackground = #222 -[Material_Lighter]ProgressBar.selectionForeground = #fff -[Material_Lighter]ComboBox.selectionBackground = lazy(List.selectionBackground) -[Material_Lighter]Table.selectionBackground = lazy(List.selectionBackground) -[Material_Lighter]List.selectionForeground = lazy(Table.selectionForeground) -[Material_Lighter]RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) -[Material_Lighter]Tree.selectionForeground = lazy(Table.selectionForeground) +{Material_Lighter}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) +{Material_Lighter}ProgressBar.selectionBackground = #222 +{Material_Lighter}ProgressBar.selectionForeground = #fff +{Material_Lighter}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Material_Lighter}Table.selectionBackground = lazy(List.selectionBackground) +{Material_Lighter}List.selectionForeground = lazy(Table.selectionForeground) +{Material_Lighter}RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) +{Material_Lighter}Tree.selectionForeground = lazy(Table.selectionForeground) -[Material_Oceanic]ProgressBar.selectionBackground = #ddd -[Material_Oceanic]ProgressBar.selectionForeground = #ddd -[Material_Oceanic]Separator.foreground = lazy(Slider.trackColor) -[Material_Oceanic]ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Oceanic}ProgressBar.selectionBackground = #ddd +{Material_Oceanic}ProgressBar.selectionForeground = #ddd +{Material_Oceanic}Separator.foreground = lazy(Slider.trackColor) +{Material_Oceanic}ToolBar.separatorColor = lazy(Slider.trackColor) -[Material_Palenight]ProgressBar.selectionBackground = #ddd -[Material_Palenight]ProgressBar.selectionForeground = #ddd -[Material_Palenight]List.selectionBackground = lazy(Table.selectionBackground) -[Material_Palenight]Tree.selectionBackground = lazy(Table.selectionBackground) -[Material_Palenight]Separator.foreground = lazy(Slider.trackColor) -[Material_Palenight]ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Palenight}ProgressBar.selectionBackground = #ddd +{Material_Palenight}ProgressBar.selectionForeground = #ddd +{Material_Palenight}List.selectionBackground = lazy(Table.selectionBackground) +{Material_Palenight}Tree.selectionBackground = lazy(Table.selectionBackground) +{Material_Palenight}Separator.foreground = lazy(Slider.trackColor) +{Material_Palenight}ToolBar.separatorColor = lazy(Slider.trackColor) -[Monokai_Pro---Mallowigi]List.selectionForeground = lazy(Table.selectionForeground) -[Monokai_Pro---Mallowigi]RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) -[Monokai_Pro---Mallowigi]Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -[Monokai_Pro---Mallowigi]Tree.selectionForeground = lazy(Table.selectionForeground) -[Monokai_Pro---Mallowigi]Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -[Monokai_Pro---Mallowigi]Separator.foreground = lazy(Slider.trackColor) -[Monokai_Pro---Mallowigi]ToolBar.separatorColor = lazy(Slider.trackColor) +{Monokai_Pro---Mallowigi}List.selectionForeground = lazy(Table.selectionForeground) +{Monokai_Pro---Mallowigi}RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) +{Monokai_Pro---Mallowigi}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Monokai_Pro---Mallowigi}Tree.selectionForeground = lazy(Table.selectionForeground) +{Monokai_Pro---Mallowigi}Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Monokai_Pro---Mallowigi}Separator.foreground = lazy(Slider.trackColor) +{Monokai_Pro---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) -[Moonlight]ComboBox.selectionBackground = lazy(List.selectionBackground) -[Moonlight]Table.selectionBackground = lazy(List.selectionBackground) -[Moonlight]Separator.foreground = lazy(Slider.trackColor) -[Moonlight]ToolBar.separatorColor = lazy(Slider.trackColor) +{Moonlight}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Moonlight}Table.selectionBackground = lazy(List.selectionBackground) +{Moonlight}Separator.foreground = lazy(Slider.trackColor) +{Moonlight}ToolBar.separatorColor = lazy(Slider.trackColor) -[Night_Owl]ProgressBar.selectionBackground = #ddd -[Night_Owl]ProgressBar.selectionForeground = #ddd +{Night_Owl}ProgressBar.selectionBackground = #ddd +{Night_Owl}ProgressBar.selectionForeground = #ddd -[Solarized_Dark---Mallowigi]ProgressBar.selectionBackground = #ccc -[Solarized_Dark---Mallowigi]ProgressBar.selectionForeground = #ccc -[Solarized_Dark---Mallowigi]Separator.foreground = lazy(Slider.trackColor) -[Solarized_Dark---Mallowigi]ToolBar.separatorColor = lazy(Slider.trackColor) +{Solarized_Dark---Mallowigi}ProgressBar.selectionBackground = #ccc +{Solarized_Dark---Mallowigi}ProgressBar.selectionForeground = #ccc +{Solarized_Dark---Mallowigi}Separator.foreground = lazy(Slider.trackColor) +{Solarized_Dark---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) -[Solarized_Light---Mallowigi]ProgressBar.selectionBackground = #222 -[Solarized_Light---Mallowigi]ProgressBar.selectionForeground = #fff -[Solarized_Light---Mallowigi]ComboBox.selectionBackground = lazy(List.selectionBackground) -[Solarized_Light---Mallowigi]Table.selectionBackground = lazy(List.selectionBackground) -[Solarized_Light---Mallowigi]Separator.foreground = lazy(Slider.trackColor) -[Solarized_Light---Mallowigi]ToolBar.separatorColor = lazy(Slider.trackColor) +{Solarized_Light---Mallowigi}ProgressBar.selectionBackground = #222 +{Solarized_Light---Mallowigi}ProgressBar.selectionForeground = #fff +{Solarized_Light---Mallowigi}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Solarized_Light---Mallowigi}Table.selectionBackground = lazy(List.selectionBackground) +{Solarized_Light---Mallowigi}Separator.foreground = lazy(Slider.trackColor) +{Solarized_Light---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) From d26eb2674f66bc700cea7ab5be80909e1890994a Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 15:50:30 +0100 Subject: [PATCH 08/15] Demo/Testing: use IntelliJ Theme Laf classes (from package `com.formdev.flatlaf.intellijthemes`) in Demo and Testing apps instead of directly loading `.theme.json` (preparation for #824) --- .../com/formdev/flatlaf/demo/DemoPrefs.java | 44 ++---- .../demo/intellijthemes/IJThemesManager.java | 3 +- .../demo/intellijthemes/IJThemesPanel.java | 140 +++++++----------- .../demo/intellijthemes/IJThemesPanel.jfd | 10 +- .../formdev/flatlaf/demo/icons/download.svg | 7 - .../com/formdev/flatlaf/demo/icons/plugin.svg | 4 + .../flatlaf/demo/icons/plugin_dark.svg | 4 + .../flatlaf/demo/intellijthemes/themes.json | 48 ++++++ .../flatlaf/testing/FlatTestFrame.java | 2 +- 9 files changed, 133 insertions(+), 129 deletions(-) delete mode 100644 flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/download.svg create mode 100644 flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin.svg create mode 100644 flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin_dark.svg diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java index 4af1d1ec..3bbd0ccf 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java @@ -28,7 +28,6 @@ import com.formdev.flatlaf.FlatLaf; import com.formdev.flatlaf.FlatLightLaf; import com.formdev.flatlaf.FlatPropertiesLaf; import com.formdev.flatlaf.IntelliJTheme; -import com.formdev.flatlaf.demo.intellijthemes.IJThemesPanel; import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; @@ -38,15 +37,10 @@ import com.formdev.flatlaf.util.SystemInfo; */ public class DemoPrefs { - public static final String KEY_LAF = "laf"; - public static final String KEY_LAF_THEME = "lafTheme"; + public static final String KEY_LAF_CLASS_NAME = "lafClassName"; + public static final String KEY_LAF_THEME_FILE = "lafThemeFile"; public static final String KEY_SYSTEM_SCALE_FACTOR = "systemScaleFactor"; - public static final String RESOURCE_PREFIX = "res:"; - public static final String FILE_PREFIX = "file:"; - - public static final String THEME_UI_KEY = "__FlatLaf.demo.theme"; - private static Preferences state; public static Preferences getState() { @@ -63,29 +57,21 @@ public class DemoPrefs if( args.length > 0 ) UIManager.setLookAndFeel( args[0] ); else { - String lafClassName = state.get( KEY_LAF, FlatLightLaf.class.getName() ); - if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) { - String theme = state.get( KEY_LAF_THEME, "" ); - if( theme.startsWith( RESOURCE_PREFIX ) ) - IntelliJTheme.setup( IJThemesPanel.class.getResourceAsStream( IJThemesPanel.THEMES_PACKAGE + theme.substring( RESOURCE_PREFIX.length() ) ) ); - else if( theme.startsWith( FILE_PREFIX ) ) - FlatLaf.setup( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) ); - else - FlatLightLaf.setup(); + String lafClassName = state.get( KEY_LAF_CLASS_NAME, FlatLightLaf.class.getName() ); + if( FlatPropertiesLaf.class.getName().equals( lafClassName ) || + IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) + { + String themeFileName = state.get( KEY_LAF_THEME_FILE, "" ); + if( !themeFileName.isEmpty() ) { + File themeFile = new File( themeFileName ); - if( !theme.isEmpty() ) - UIManager.getLookAndFeelDefaults().put( THEME_UI_KEY, theme ); - } else if( FlatPropertiesLaf.class.getName().equals( lafClassName ) ) { - String theme = state.get( KEY_LAF_THEME, "" ); - if( theme.startsWith( FILE_PREFIX ) ) { - File themeFile = new File( theme.substring( FILE_PREFIX.length() ) ); - String themeName = StringUtils.removeTrailing( themeFile.getName(), ".properties" ); - FlatLaf.setup( new FlatPropertiesLaf( themeName, themeFile ) ); + if( themeFileName.endsWith( ".properties" ) ) { + String themeName = StringUtils.removeTrailing( themeFile.getName(), ".properties" ); + FlatLaf.setup( new FlatPropertiesLaf( themeName, themeFile ) ); + } else + FlatLaf.setup( IntelliJTheme.createLaf( new FileInputStream( themeFile ) ) ); } else FlatLightLaf.setup(); - - if( !theme.isEmpty() ) - UIManager.getLookAndFeelDefaults().put( THEME_UI_KEY, theme ); } else UIManager.setLookAndFeel( lafClassName ); } @@ -99,7 +85,7 @@ public class DemoPrefs // remember active look and feel UIManager.addPropertyChangeListener( e -> { if( "lookAndFeel".equals( e.getPropertyName() ) ) - state.put( KEY_LAF, UIManager.getLookAndFeel().getClass().getName() ); + state.put( KEY_LAF_CLASS_NAME, UIManager.getLookAndFeel().getClass().getName() ); } ); } diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesManager.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesManager.java index 90194dbb..97a60876 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesManager.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesManager.java @@ -58,6 +58,7 @@ class IJThemesManager String name = value.get( "name" ); boolean discontinued = Boolean.parseBoolean( value.get( "discontinued" ) ); boolean dark = Boolean.parseBoolean( value.get( "dark" ) ); + String lafClassName = value.get( "lafClassName" ); String license = value.get( "license" ); String licenseFile = value.get( "licenseFile" ); String pluginUrl = value.get( "pluginUrl" ); @@ -65,7 +66,7 @@ class IJThemesManager String sourceCodePath = value.get( "sourceCodePath" ); bundledThemes.add( new IJThemeInfo( name, resourceName, discontinued, dark, - license, licenseFile, pluginUrl, sourceCodeUrl, sourceCodePath, null, null ) ); + license, licenseFile, pluginUrl, sourceCodeUrl, sourceCodePath, null, lafClassName ) ); } } diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java index 3b452434..5c8d716c 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java @@ -33,8 +33,6 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; -import java.nio.file.Files; -import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; @@ -59,7 +57,6 @@ import com.formdev.flatlaf.extras.FlatSVGIcon; import com.formdev.flatlaf.themes.*; import com.formdev.flatlaf.ui.FlatListUI; import com.formdev.flatlaf.util.LoggingFacade; -import com.formdev.flatlaf.util.StringUtils; import net.miginfocom.swing.*; /** @@ -82,14 +79,13 @@ public class IJThemesPanel }; private Window window; - private File lastDirectory; private boolean isAdjustingThemesList; private long lastLafChangeTime = System.currentTimeMillis(); public IJThemesPanel() { initComponents(); - saveButton.setEnabled( false ); + pluginButton.setEnabled( false ); sourceCodeButton.setEnabled( false ); // create renderer @@ -144,7 +140,7 @@ public class IJThemesPanel private String buildToolTip( IJThemeInfo ti ) { if( ti.themeFile != null ) return ti.themeFile.getPath(); - if( ti.resourceName == null ) + if( ti.license == null ) return ti.name; return "Name: " + ti.name @@ -238,7 +234,6 @@ public class IJThemesPanel for( int i = 0; i < themes.size(); i++ ) { IJThemeInfo theme = themes.get( i ); if( oldSel.name.equals( theme.name ) && - Objects.equals( oldSel.resourceName, theme.resourceName ) && Objects.equals( oldSel.themeFile, theme.themeFile ) && Objects.equals( oldSel.lafClassName, theme.lafClassName ) ) { @@ -274,9 +269,8 @@ public class IJThemesPanel private void themesListValueChanged( ListSelectionEvent e ) { IJThemeInfo themeInfo = themesList.getSelectedValue(); - boolean bundledTheme = (themeInfo != null && themeInfo.resourceName != null); - saveButton.setEnabled( bundledTheme ); - sourceCodeButton.setEnabled( bundledTheme ); + pluginButton.setEnabled( themeInfo != null && themeInfo.pluginUrl != null ); + sourceCodeButton.setEnabled( themeInfo != null && themeInfo.sourceCodePath != null ); if( e.getValueIsAdjusting() || isAdjustingThemesList ) return; @@ -307,21 +301,21 @@ public class IJThemesPanel FlatAnimatedLafChange.showSnapshot(); try { - if( themeInfo.themeFile.getName().endsWith( ".properties" ) ) { + if( themeInfo.themeFile.getName().endsWith( ".properties" ) ) FlatLaf.setup( new FlatPropertiesLaf( themeInfo.name, themeInfo.themeFile ) ); - } else + else FlatLaf.setup( IntelliJTheme.createLaf( new FileInputStream( themeInfo.themeFile ) ) ); - DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.FILE_PREFIX + themeInfo.themeFile ); + DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME_FILE, themeInfo.themeFile.getAbsolutePath() ); } catch( Exception ex ) { LoggingFacade.INSTANCE.logSevere( null, ex ); showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex ); } } else { - FlatAnimatedLafChange.showSnapshot(); - - IntelliJTheme.setup( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ) ); - DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName ); + JOptionPane.showMessageDialog( SwingUtilities.windowForComponent( this ), + "Missing lafClassName for '" + themeInfo.name + "'", + "FlatLaf", JOptionPane.INFORMATION_MESSAGE ); + return; } // update all components @@ -329,56 +323,31 @@ public class IJThemesPanel FlatAnimatedLafChange.hideSnapshotWithAnimation(); } - private void saveTheme() { + private void browsePlugin() { IJThemeInfo themeInfo = themesList.getSelectedValue(); - if( themeInfo == null || themeInfo.resourceName == null ) + if( themeInfo == null || themeInfo.pluginUrl == null ) return; - JFileChooser fileChooser = new JFileChooser(); - fileChooser.setSelectedFile( new File( lastDirectory, themeInfo.resourceName ) ); - if( fileChooser.showSaveDialog( SwingUtilities.windowForComponent( this ) ) != JFileChooser.APPROVE_OPTION ) - return; - - File file = fileChooser.getSelectedFile(); - lastDirectory = file.getParentFile(); - - // save theme - try { - Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ), - file.toPath(), StandardCopyOption.REPLACE_EXISTING ); - } catch( IOException ex ) { - showInformationDialog( "Failed to save theme to '" + file + "'.", ex ); - return; - } - - // save license - if( themeInfo.licenseFile != null ) { - try { - File licenseFile = new File( file.getParentFile(), - StringUtils.removeTrailing( file.getName(), ".theme.json" ) + - themeInfo.licenseFile.substring( themeInfo.licenseFile.indexOf( '.' ) ) ); - Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.licenseFile ), - licenseFile.toPath(), StandardCopyOption.REPLACE_EXISTING ); - } catch( IOException ex ) { - showInformationDialog( "Failed to save theme license to '" + file + "'.", ex ); - return; - } - } + browse( themeInfo.pluginUrl ); } private void browseSourceCode() { IJThemeInfo themeInfo = themesList.getSelectedValue(); - if( themeInfo == null || themeInfo.resourceName == null ) + if( themeInfo == null || themeInfo.sourceCodeUrl == null ) return; String themeUrl = themeInfo.sourceCodeUrl; if( themeInfo.sourceCodePath != null ) themeUrl += '/' + themeInfo.sourceCodePath; - themeUrl = themeUrl.replace( " ", "%20" ); + browse( themeUrl ); + } + + private void browse( String url ) { + url = url.replace( " ", "%20" ); try { - Desktop.getDesktop().browse( new URI( themeUrl ) ); + Desktop.getDesktop().browse( new URI( url ) ); } catch( IOException | URISyntaxException ex ) { - showInformationDialog( "Failed to browse '" + themeUrl + "'.", ex ); + showInformationDialog( "Failed to browse '" + url + "'.", ex ); } } @@ -414,7 +383,10 @@ public class IJThemesPanel private void lafChanged( PropertyChangeEvent e ) { if( "lookAndFeel".equals( e.getPropertyName() ) ) { - selectedCurrentLookAndFeel(); + // use invokeLater() because KEY_LAF_THEME_FILE is updated after this event + EventQueue.invokeLater( () -> { + selectedCurrentLookAndFeel(); + } ); lastLafChangeTime = System.currentTimeMillis(); } } @@ -430,19 +402,19 @@ public class IJThemesPanel if( laf instanceof FlatLaf ) { List> lafClasses = new ArrayList<>(); + // same as in UIDefaultsLoader.getLafClassesForDefaultsLoading() + for( Class lafClass = laf.getClass(); + FlatLaf.class.isAssignableFrom( lafClass ); + lafClass = lafClass.getSuperclass() ) + { + lafClasses.add( 0, lafClass ); + } + + // same as in IntelliJTheme.ThemeLaf.getLafClassesForDefaultsLoading() if( laf instanceof IntelliJTheme.ThemeLaf ) { boolean dark = ((FlatLaf)laf).isDark(); - lafClasses.add( FlatLaf.class ); - lafClasses.add( dark ? FlatDarkLaf.class : FlatLightLaf.class ); - lafClasses.add( dark ? FlatDarculaLaf.class : FlatIntelliJLaf.class ); - lafClasses.add( IntelliJTheme.ThemeLaf.class ); - } else { - for( Class lafClass = laf.getClass(); - FlatLaf.class.isAssignableFrom( lafClass ); - lafClass = lafClass.getSuperclass() ) - { - lafClasses.add( 0, lafClass ); - } + lafClasses.add( 1, dark ? FlatDarkLaf.class : FlatLightLaf.class ); + lafClasses.add( 2, dark ? FlatDarculaLaf.class : FlatIntelliJLaf.class ); } boolean reload = false; @@ -469,23 +441,19 @@ public class IJThemesPanel } private void selectedCurrentLookAndFeel() { - LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); - String theme = UIManager.getLookAndFeelDefaults().getString( DemoPrefs.THEME_UI_KEY ); - - if( theme == null && (lookAndFeel instanceof IntelliJTheme.ThemeLaf || lookAndFeel instanceof FlatPropertiesLaf) ) - return; - Predicate test; - if( theme != null && theme.startsWith( DemoPrefs.RESOURCE_PREFIX ) ) { - String resourceName = theme.substring( DemoPrefs.RESOURCE_PREFIX.length() ); - test = ti -> Objects.equals( ti.resourceName, resourceName ); - } else if( theme != null && theme.startsWith( DemoPrefs.FILE_PREFIX ) ) { - File themeFile = new File( theme.substring( DemoPrefs.FILE_PREFIX.length() ) ); + String lafClassName = UIManager.getLookAndFeel().getClass().getName(); + if( FlatPropertiesLaf.class.getName().equals( lafClassName ) || + IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) + { + String themeFileName = DemoPrefs.getState().get( DemoPrefs.KEY_LAF_THEME_FILE, "" ); + if( themeFileName == null ) + return; + + File themeFile = new File( themeFileName ); test = ti -> Objects.equals( ti.themeFile, themeFile ); - } else { - String lafClassName = lookAndFeel.getClass().getName(); + } else test = ti -> Objects.equals( ti.lafClassName, lafClassName ); - } int newSel = -1; for( int i = 0; i < themes.size(); i++ ) { @@ -512,7 +480,7 @@ public class IJThemesPanel // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents JLabel themesLabel = new JLabel(); toolBar = new JToolBar(); - saveButton = new JButton(); + pluginButton = new JButton(); sourceCodeButton = new JButton(); filterComboBox = new JComboBox<>(); themesScrollPane = new JScrollPane(); @@ -535,11 +503,11 @@ public class IJThemesPanel { toolBar.setFloatable(false); - //---- saveButton ---- - saveButton.setToolTipText("Save .theme.json of selected IntelliJ theme to file."); - saveButton.setIcon(new FlatSVGIcon("com/formdev/flatlaf/demo/icons/download.svg")); - saveButton.addActionListener(e -> saveTheme()); - toolBar.add(saveButton); + //---- pluginButton ---- + pluginButton.setToolTipText("Opens the IntelliJ plugin page of selected IntelliJ theme in the browser."); + pluginButton.setIcon(new FlatSVGIcon("com/formdev/flatlaf/demo/icons/plugin.svg")); + pluginButton.addActionListener(e -> browsePlugin()); + toolBar.add(pluginButton); //---- sourceCodeButton ---- sourceCodeButton.setToolTipText("Opens the source code repository of selected IntelliJ theme in the browser."); @@ -574,7 +542,7 @@ public class IJThemesPanel // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables private JToolBar toolBar; - private JButton saveButton; + private JButton pluginButton; private JButton sourceCodeButton; private JComboBox filterComboBox; private JScrollPane themesScrollPane; diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.jfd b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.jfd index efa7f335..8fa8e9ca 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.jfd +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "8.1.0.0.283" Java: "19.0.2" encoding: "UTF-8" +JFDML JFormDesigner: "8.3" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -22,10 +22,10 @@ new FormModel { name: "toolBar" "floatable": false add( new FormComponent( "javax.swing.JButton" ) { - name: "saveButton" - "toolTipText": "Save .theme.json of selected IntelliJ theme to file." - "icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/demo/icons/download.svg" ) - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "saveTheme", false ) ) + name: "pluginButton" + "toolTipText": "Opens the IntelliJ plugin page of selected IntelliJ theme in the browser." + "icon": new com.jformdesigner.model.SwingIcon( 0, "/com/formdev/flatlaf/demo/icons/plugin.svg" ) + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "browsePlugin", false ) ) } ) add( new FormComponent( "javax.swing.JButton" ) { name: "sourceCodeButton" diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/download.svg b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/download.svg deleted file mode 100644 index c0f92903..00000000 --- a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/download.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin.svg b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin.svg new file mode 100644 index 00000000..a6eebf66 --- /dev/null +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin.svg @@ -0,0 +1,4 @@ + + + + diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin_dark.svg b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin_dark.svg new file mode 100644 index 00000000..f731fe34 --- /dev/null +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/icons/plugin_dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json index 94ea24ed..1de054bc 100644 --- a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json @@ -1,6 +1,7 @@ { "arc-theme.theme.json": { "name": "Arc", + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatArcIJTheme", "license": "MIT", "licenseFile": "arc-themes.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12451-arc-theme", @@ -9,6 +10,7 @@ }, "arc-theme-orange.theme.json": { "name": "Arc - Orange", + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatArcOrangeIJTheme", "license": "MIT", "licenseFile": "arc-themes.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12451-arc-theme", @@ -18,6 +20,7 @@ "arc_theme_dark.theme.json": { "name": "Arc Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatArcDarkIJTheme", "license": "MIT", "licenseFile": "arc-themes.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/15175-arc-theme-dark", @@ -27,6 +30,7 @@ "arc_theme_dark_orange.theme.json": { "name": "Arc Dark - Orange", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatArcDarkOrangeIJTheme", "license": "MIT", "licenseFile": "arc-themes.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/15175-arc-theme-dark", @@ -36,6 +40,7 @@ "Carbon.theme.json": { "name": "Carbon", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatCarbonIJTheme", "license": "Apache License 2.0", "licenseFile": "arc-themes.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12280-carbon", @@ -45,6 +50,7 @@ "Cobalt_2.theme.json": { "name": "Cobalt 2", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatCobalt2IJTheme", "license": "MIT", "licenseFile": "Cobalt_2.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/10745-cobalt-2", @@ -54,6 +60,7 @@ "Cyan.theme.json": { "name": "Cyan light", "license": "MIT", + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatCyanLightIJTheme", "licenseFile": "Cyan.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12102-cyan-light-theme", "sourceCodeUrl": "https://github.com/OlyaB/CyanTheme", @@ -62,6 +69,7 @@ "DarkFlatTheme.theme.json": { "name": "Dark Flat", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme", "license": "MIT", "licenseFile": "DarkFlatTheme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12165-dark-flat-theme", @@ -71,6 +79,7 @@ "DarkPurple.theme.json": { "name": "Dark purple", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatDarkPurpleIJTheme", "license": "MIT", "licenseFile": "DarkPurple.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12100-dark-purple-theme", @@ -80,6 +89,7 @@ "Dracula.theme.json": { "name": "Dracula", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatDraculaIJTheme", "license": "MIT", "licenseFile": "Dracula.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12275-dracula-theme", @@ -89,6 +99,7 @@ "Gradianto_dark_fuchsia.theme.json": { "name": "Gradianto Dark Fuchsia", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGradiantoDarkFuchsiaIJTheme", "license": "MIT", "licenseFile": "Gradianto.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12334-gradianto", @@ -98,6 +109,7 @@ "Gradianto_deep_ocean.theme.json": { "name": "Gradianto Deep Ocean", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGradiantoDeepOceanIJTheme", "license": "MIT", "licenseFile": "Gradianto.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12334-gradianto", @@ -107,6 +119,7 @@ "Gradianto_midnight_blue.theme.json": { "name": "Gradianto Midnight Blue", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGradiantoMidnightBlueIJTheme", "license": "MIT", "licenseFile": "Gradianto.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12334-gradianto", @@ -116,6 +129,7 @@ "Gradianto_Nature_Green.theme.json": { "name": "Gradianto Nature Green", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGradiantoNatureGreenIJTheme", "license": "MIT", "licenseFile": "Gradianto.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12334-gradianto", @@ -125,6 +139,7 @@ "Gray.theme.json": { "name": "Gray", "license": "MIT", + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme", "licenseFile": "Gray.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12103-gray-theme", "sourceCodeUrl": "https://github.com/OlyaB/GreyTheme", @@ -133,6 +148,7 @@ "gruvbox_dark_hard.theme.json": { "name": "Gruvbox Dark Hard", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme", "license": "MIT", "licenseFile": "gruvbox_theme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12310-gruvbox-theme", @@ -142,6 +158,7 @@ "gruvbox_dark_medium.theme.json": { "name": "Gruvbox Dark Medium", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme", "license": "MIT", "licenseFile": "gruvbox_theme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12310-gruvbox-theme", @@ -151,6 +168,7 @@ "gruvbox_dark_soft.theme.json": { "name": "Gruvbox Dark Soft", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme", "license": "MIT", "licenseFile": "gruvbox_theme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12310-gruvbox-theme", @@ -160,6 +178,7 @@ "HiberbeeDark.theme.json": { "name": "Hiberbee Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme", "license": "MIT", "licenseFile": "Hiberbee.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12118-hiberbee-theme", @@ -169,6 +188,7 @@ "HighContrast.theme.json": { "name": "High Contrast", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme", "license": "Apache License 2.0", "licenseFile": "HighContrast.LICENSE.txt", "sourceCodeUrl": "https://github.com/JetBrains/intellij-community", @@ -177,6 +197,7 @@ "LightFlatTheme.theme.json": { "name": "Light Flat", "license": "MIT", + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme", "licenseFile": "LightFlatTheme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12169-light-flat-theme", "sourceCodeUrl": "https://github.com/nerzhulart/LightFlatTheme", @@ -185,6 +206,7 @@ "MaterialTheme.theme.json": { "name": "Material Design Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme", "license": "MIT", "licenseFile": "MaterialTheme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12134-material-design-dark-theme", @@ -194,6 +216,7 @@ "Monocai.theme.json": { "name": "Monocai", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme", "license": "MIT", "licenseFile": "Monocai.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12163-monocai-color-theme", @@ -204,6 +227,7 @@ "name": "Monokai Pro", "discontinued": true, "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatMonokaiProIJTheme", "license": "MIT", "licenseFile": "Monokai_Pro.LICENSE.txt", "sourceCodeUrl": "https://github.com/subtheme-dev/monokai-pro" @@ -211,6 +235,7 @@ "nord.theme.json": { "name": "Nord", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatNordIJTheme", "license": "MIT", "licenseFile": "nord.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/10321-nord", @@ -220,6 +245,7 @@ "one_dark.theme.json": { "name": "One Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme", "license": "MIT", "licenseFile": "one_dark.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/11938-one-dark-theme", @@ -230,6 +256,7 @@ "name": "Solarized Dark", "discontinued": true, "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme", "license": "The Unlicense", "licenseFile": "Solarized.LICENSE.txt", "sourceCodeUrl": "https://github.com/4lex4/intellij-platform-solarized", @@ -238,6 +265,7 @@ "SolarizedLight.theme.json": { "name": "Solarized Light", "discontinued": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme", "license": "The Unlicense", "licenseFile": "Solarized.LICENSE.txt", "sourceCodeUrl": "https://github.com/4lex4/intellij-platform-solarized", @@ -246,6 +274,7 @@ "Spacegray.theme.json": { "name": "Spacegray", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme", "license": "MIT", "licenseFile": "Spacegray.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12122-spacegray-theme", @@ -255,6 +284,7 @@ "vuesion_theme.theme.json": { "name": "Vuesion", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme", "license": "MIT", "licenseFile": "vuesion_theme.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/12226-vuesion-theme", @@ -264,6 +294,7 @@ "Xcode-Dark.theme.json": { "name": "Xcode-Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatXcodeDarkIJTheme", "license": "MIT", "licenseFile": "Xcode-Dark.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/13106-xcode-dark-theme", @@ -274,6 +305,7 @@ "material-theme-ui-lite/Arc Dark.theme.json": { "name": "Material Theme UI Lite / Arc Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -283,6 +315,7 @@ "material-theme-ui-lite/Atom One Dark.theme.json": { "name": "Material Theme UI Lite / Atom One Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -291,6 +324,7 @@ }, "material-theme-ui-lite/Atom One Light.theme.json": { "name": "Material Theme UI Lite / Atom One Light", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -300,6 +334,7 @@ "material-theme-ui-lite/Dracula.theme.json": { "name": "Material Theme UI Lite / Dracula", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -308,6 +343,7 @@ }, "material-theme-ui-lite/GitHub.theme.json": { "name": "Material Theme UI Lite / GitHub", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -317,6 +353,7 @@ "material-theme-ui-lite/GitHub Dark.theme.json": { "name": "Material Theme UI Lite / GitHub Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -325,6 +362,7 @@ }, "material-theme-ui-lite/Light Owl.theme.json": { "name": "Material Theme UI Lite / Light Owl", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -334,6 +372,7 @@ "material-theme-ui-lite/Material Darker.theme.json": { "name": "Material Theme UI Lite / Material Darker", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -343,6 +382,7 @@ "material-theme-ui-lite/Material Deep Ocean.theme.json": { "name": "Material Theme UI Lite / Material Deep Ocean", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -351,6 +391,7 @@ }, "material-theme-ui-lite/Material Lighter.theme.json": { "name": "Material Theme UI Lite / Material Lighter", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -360,6 +401,7 @@ "material-theme-ui-lite/Material Oceanic.theme.json": { "name": "Material Theme UI Lite / Material Oceanic", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -369,6 +411,7 @@ "material-theme-ui-lite/Material Palenight.theme.json": { "name": "Material Theme UI Lite / Material Palenight", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -378,6 +421,7 @@ "material-theme-ui-lite/Monokai Pro.theme.json": { "name": "Material Theme UI Lite / Monokai Pro", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -387,6 +431,7 @@ "material-theme-ui-lite/Moonlight.theme.json": { "name": "Material Theme UI Lite / Moonlight", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -396,6 +441,7 @@ "material-theme-ui-lite/Night Owl.theme.json": { "name": "Material Theme UI Lite / Night Owl", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -405,6 +451,7 @@ "material-theme-ui-lite/Solarized Dark.theme.json": { "name": "Material Theme UI Lite / Solarized Dark", "dark": true, + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -413,6 +460,7 @@ }, "material-theme-ui-lite/Solarized Light.theme.json": { "name": "Material Theme UI Lite / Solarized Light", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java index 520220a9..5dfde8fb 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatTestFrame.java @@ -576,7 +576,7 @@ public class FlatTestFrame UIManager.put( "defaultFont", null ); LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); - IntelliJTheme theme = (lookAndFeel instanceof IntelliJTheme.ThemeLaf) + IntelliJTheme theme = (lookAndFeel.getClass() == IntelliJTheme.ThemeLaf.class) ? ((IntelliJTheme.ThemeLaf)lookAndFeel).getTheme() : null; String nameForProperties = null; From f36886aeb31cdd5645296da8fa6a0578bf6686f0 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 16:18:55 +0100 Subject: [PATCH 09/15] IntelliJ Themes: renamed classes in package `com.formdev.flatlaf.intellijthemes.materialthemeuilite` from `Flat` to `FlatMT` (preparation for #824) --- CHANGELOG.md | 8 +++-- .../IJThemesClassGenerator.java | 8 +++-- .../flatlaf/demo/intellijthemes/themes.json | 34 +++++++++---------- flatlaf-intellij-themes/README.md | 34 +++++++++---------- .../intellijthemes/FlatAllIJThemes.java | 34 +++++++++---------- ...IJTheme.java => FlatMTArcDarkIJTheme.java} | 8 ++--- ...eme.java => FlatMTAtomOneDarkIJTheme.java} | 8 ++--- ...me.java => FlatMTAtomOneLightIJTheme.java} | 8 ++--- ...IJTheme.java => FlatMTDraculaIJTheme.java} | 8 ++--- ...heme.java => FlatMTGitHubDarkIJTheme.java} | 8 ++--- ...bIJTheme.java => FlatMTGitHubIJTheme.java} | 8 ++--- ...JTheme.java => FlatMTLightOwlIJTheme.java} | 8 ++--- ....java => FlatMTMaterialDarkerIJTheme.java} | 8 ++--- ...va => FlatMTMaterialDeepOceanIJTheme.java} | 8 ++--- ...java => FlatMTMaterialLighterIJTheme.java} | 8 ++--- ...java => FlatMTMaterialOceanicIJTheme.java} | 8 ++--- ...va => FlatMTMaterialPalenightIJTheme.java} | 8 ++--- ...heme.java => FlatMTMonokaiProIJTheme.java} | 8 ++--- ...Theme.java => FlatMTMoonlightIJTheme.java} | 8 ++--- ...JTheme.java => FlatMTNightOwlIJTheme.java} | 8 ++--- ...e.java => FlatMTSolarizedDarkIJTheme.java} | 8 ++--- ....java => FlatMTSolarizedLightIJTheme.java} | 8 ++--- 22 files changed, 130 insertions(+), 124 deletions(-) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatArcDarkIJTheme.java => FlatMTArcDarkIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatAtomOneDarkIJTheme.java => FlatMTAtomOneDarkIJTheme.java} (86%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatAtomOneLightIJTheme.java => FlatMTAtomOneLightIJTheme.java} (86%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatDraculaIJTheme.java => FlatMTDraculaIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatGitHubDarkIJTheme.java => FlatMTGitHubDarkIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatGitHubIJTheme.java => FlatMTGitHubIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatLightOwlIJTheme.java => FlatMTLightOwlIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMaterialDarkerIJTheme.java => FlatMTMaterialDarkerIJTheme.java} (86%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMaterialDeepOceanIJTheme.java => FlatMTMaterialDeepOceanIJTheme.java} (85%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMaterialLighterIJTheme.java => FlatMTMaterialLighterIJTheme.java} (85%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMaterialOceanicIJTheme.java => FlatMTMaterialOceanicIJTheme.java} (85%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMaterialPalenightIJTheme.java => FlatMTMaterialPalenightIJTheme.java} (85%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMonokaiProIJTheme.java => FlatMTMonokaiProIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatMoonlightIJTheme.java => FlatMTMoonlightIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatNightOwlIJTheme.java => FlatMTNightOwlIJTheme.java} (87%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatSolarizedDarkIJTheme.java => FlatMTSolarizedDarkIJTheme.java} (86%) rename flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/{FlatSolarizedLightIJTheme.java => FlatMTSolarizedLightIJTheme.java} (86%) diff --git a/CHANGELOG.md b/CHANGELOG.md index c0e9a0d2..c3e13d66 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -53,8 +53,12 @@ FlatLaf Change Log #### Incompatibilities -- Theme prefix in `IntelliJTheme$ThemeLaf.properties` changed from - `[theme-name]` to `{theme-name}`. +- IntelliJ Themes: + - Theme prefix in `IntelliJTheme$ThemeLaf.properties` changed from + `[theme-name]` to `{theme-name}`. + - Renamed classes in package + `com.formdev.flatlaf.intellijthemes.materialthemeuilite` from `Flat` + to `FlatMT`. ## 3.5.4 diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java index 0f0a7da6..30175c0e 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesClassGenerator.java @@ -73,10 +73,12 @@ public class IJThemesClassGenerator name = name.substring( nameSep + 1 ).trim(); String themeName = name; - if( "material-theme-ui-lite".equals( resourcePath ) ) - themeName += " (Material)"; - StringBuilder buf = new StringBuilder(); + if( "material-theme-ui-lite".equals( resourcePath ) ) { + themeName += " (Material)"; + buf.append( "MT" ); + } + for( String n : name.split( "[ \\-]" ) ) { if( n.length() == 0 || n.equals( "-" ) ) continue; diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json index 1de054bc..d424c25d 100644 --- a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json @@ -305,7 +305,7 @@ "material-theme-ui-lite/Arc Dark.theme.json": { "name": "Material Theme UI Lite / Arc Dark", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTArcDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -315,7 +315,7 @@ "material-theme-ui-lite/Atom One Dark.theme.json": { "name": "Material Theme UI Lite / Atom One Dark", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -324,7 +324,7 @@ }, "material-theme-ui-lite/Atom One Light.theme.json": { "name": "Material Theme UI Lite / Atom One Light", - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneLightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -334,7 +334,7 @@ "material-theme-ui-lite/Dracula.theme.json": { "name": "Material Theme UI Lite / Dracula", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTDraculaIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -343,7 +343,7 @@ }, "material-theme-ui-lite/GitHub.theme.json": { "name": "Material Theme UI Lite / GitHub", - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -353,7 +353,7 @@ "material-theme-ui-lite/GitHub Dark.theme.json": { "name": "Material Theme UI Lite / GitHub Dark", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -362,7 +362,7 @@ }, "material-theme-ui-lite/Light Owl.theme.json": { "name": "Material Theme UI Lite / Light Owl", - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTLightOwlIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -372,7 +372,7 @@ "material-theme-ui-lite/Material Darker.theme.json": { "name": "Material Theme UI Lite / Material Darker", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDarkerIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -382,7 +382,7 @@ "material-theme-ui-lite/Material Deep Ocean.theme.json": { "name": "Material Theme UI Lite / Material Deep Ocean", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDeepOceanIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -391,7 +391,7 @@ }, "material-theme-ui-lite/Material Lighter.theme.json": { "name": "Material Theme UI Lite / Material Lighter", - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialLighterIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -401,7 +401,7 @@ "material-theme-ui-lite/Material Oceanic.theme.json": { "name": "Material Theme UI Lite / Material Oceanic", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialOceanicIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -411,7 +411,7 @@ "material-theme-ui-lite/Material Palenight.theme.json": { "name": "Material Theme UI Lite / Material Palenight", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialPalenightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -421,7 +421,7 @@ "material-theme-ui-lite/Monokai Pro.theme.json": { "name": "Material Theme UI Lite / Monokai Pro", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMonokaiProIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -431,7 +431,7 @@ "material-theme-ui-lite/Moonlight.theme.json": { "name": "Material Theme UI Lite / Moonlight", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMoonlightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -441,7 +441,7 @@ "material-theme-ui-lite/Night Owl.theme.json": { "name": "Material Theme UI Lite / Night Owl", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTNightOwlIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -451,7 +451,7 @@ "material-theme-ui-lite/Solarized Dark.theme.json": { "name": "Material Theme UI Lite / Solarized Dark", "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedDarkIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", @@ -460,7 +460,7 @@ }, "material-theme-ui-lite/Solarized Light.theme.json": { "name": "Material Theme UI Lite / Solarized Light", - "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme", + "lafClassName": "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedLightIJTheme", "license": "MIT", "licenseFile": "material-theme-ui-lite/Material Theme UI Lite.LICENSE.txt", "pluginUrl": "https://plugins.jetbrains.com/plugin/8006-material-theme-ui", diff --git a/flatlaf-intellij-themes/README.md b/flatlaf-intellij-themes/README.md index de3aa234..c6b62740 100644 --- a/flatlaf-intellij-themes/README.md +++ b/flatlaf-intellij-themes/README.md @@ -78,20 +78,20 @@ Material Theme UI Lite: Name | Class -----|------ -[Arc Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme` -[Atom One Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme` -[Atom One Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme` -[Dracula (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme` -[GitHub (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme` -[GitHub Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme` -[Light Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme` -[Material Darker (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme` -[Material Deep Ocean (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme` -[Material Lighter (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme` -[Material Oceanic (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme` -[Material Palenight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme` -[Monokai Pro (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme` -[Moonlight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme` -[Night Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme` -[Solarized Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme` -[Solarized Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme` +[Arc Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTArcDarkIJTheme` +[Atom One Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneDarkIJTheme` +[Atom One Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneLightIJTheme` +[Dracula (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTDraculaIJTheme` +[GitHub (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubIJTheme` +[GitHub Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubDarkIJTheme` +[Light Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTLightOwlIJTheme` +[Material Darker (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDarkerIJTheme` +[Material Deep Ocean (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDeepOceanIJTheme` +[Material Lighter (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialLighterIJTheme` +[Material Oceanic (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialOceanicIJTheme` +[Material Palenight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialPalenightIJTheme` +[Monokai Pro (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMonokaiProIJTheme` +[Moonlight (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMoonlightIJTheme` +[Night Owl (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTNightOwlIJTheme` +[Solarized Dark (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedDarkIJTheme` +[Solarized Light (Material)](https://github.com/AtomMaterialUI/material-theme-ui-lite) | `com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedLightIJTheme` diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java index aeed6c5f..a02eac5c 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java @@ -60,23 +60,23 @@ public class FlatAllIJThemes new FlatIJLookAndFeelInfo( "Spacegray", "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme", true ), new FlatIJLookAndFeelInfo( "Vuesion", "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme", true ), new FlatIJLookAndFeelInfo( "Xcode-Dark", "com.formdev.flatlaf.intellijthemes.FlatXcodeDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "Arc Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "Atom One Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "Atom One Light (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme", false ), - new FlatIJLookAndFeelInfo( "Dracula (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme", true ), - new FlatIJLookAndFeelInfo( "GitHub (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme", false ), - new FlatIJLookAndFeelInfo( "GitHub Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "Light Owl (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme", false ), - new FlatIJLookAndFeelInfo( "Material Darker (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme", true ), - new FlatIJLookAndFeelInfo( "Material Deep Ocean (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme", true ), - new FlatIJLookAndFeelInfo( "Material Lighter (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme", false ), - new FlatIJLookAndFeelInfo( "Material Oceanic (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme", true ), - new FlatIJLookAndFeelInfo( "Material Palenight (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme", true ), - new FlatIJLookAndFeelInfo( "Monokai Pro (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme", true ), - new FlatIJLookAndFeelInfo( "Moonlight (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMoonlightIJTheme", true ), - new FlatIJLookAndFeelInfo( "Night Owl (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme", true ), - new FlatIJLookAndFeelInfo( "Solarized Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme", true ), - new FlatIJLookAndFeelInfo( "Solarized Light (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme", false ), + new FlatIJLookAndFeelInfo( "Arc Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTArcDarkIJTheme", true ), + new FlatIJLookAndFeelInfo( "Atom One Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneDarkIJTheme", true ), + new FlatIJLookAndFeelInfo( "Atom One Light (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTAtomOneLightIJTheme", false ), + new FlatIJLookAndFeelInfo( "Dracula (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTDraculaIJTheme", true ), + new FlatIJLookAndFeelInfo( "GitHub (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubIJTheme", false ), + new FlatIJLookAndFeelInfo( "GitHub Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTGitHubDarkIJTheme", true ), + new FlatIJLookAndFeelInfo( "Light Owl (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTLightOwlIJTheme", false ), + new FlatIJLookAndFeelInfo( "Material Darker (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDarkerIJTheme", true ), + new FlatIJLookAndFeelInfo( "Material Deep Ocean (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialDeepOceanIJTheme", true ), + new FlatIJLookAndFeelInfo( "Material Lighter (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialLighterIJTheme", false ), + new FlatIJLookAndFeelInfo( "Material Oceanic (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialOceanicIJTheme", true ), + new FlatIJLookAndFeelInfo( "Material Palenight (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMaterialPalenightIJTheme", true ), + new FlatIJLookAndFeelInfo( "Monokai Pro (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMonokaiProIJTheme", true ), + new FlatIJLookAndFeelInfo( "Moonlight (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTMoonlightIJTheme", true ), + new FlatIJLookAndFeelInfo( "Night Owl (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTNightOwlIJTheme", true ), + new FlatIJLookAndFeelInfo( "Solarized Dark (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedDarkIJTheme", true ), + new FlatIJLookAndFeelInfo( "Solarized Light (Material)", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMTSolarizedLightIJTheme", false ), }; //---- class FlatIJLookAndFeelInfo ---------------------------------------- diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatArcDarkIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTArcDarkIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatArcDarkIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTArcDarkIJTheme.java index 0cbce003..bb7634e8 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatArcDarkIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTArcDarkIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatArcDarkIJTheme +public class FlatMTArcDarkIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Arc Dark (Material)"; public static boolean setup() { try { - return setup( new FlatArcDarkIJTheme() ); + return setup( new FlatMTArcDarkIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatArcDarkIJTheme.class ); + installLafInfo( NAME, FlatMTArcDarkIJTheme.class ); } - public FlatArcDarkIJTheme() { + public FlatMTArcDarkIJTheme() { super( Utils.loadTheme( "Arc Dark.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneDarkIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneDarkIJTheme.java similarity index 86% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneDarkIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneDarkIJTheme.java index e72a2814..7ebd21e5 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneDarkIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneDarkIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatAtomOneDarkIJTheme +public class FlatMTAtomOneDarkIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Atom One Dark (Material)"; public static boolean setup() { try { - return setup( new FlatAtomOneDarkIJTheme() ); + return setup( new FlatMTAtomOneDarkIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatAtomOneDarkIJTheme.class ); + installLafInfo( NAME, FlatMTAtomOneDarkIJTheme.class ); } - public FlatAtomOneDarkIJTheme() { + public FlatMTAtomOneDarkIJTheme() { super( Utils.loadTheme( "Atom One Dark.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneLightIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneLightIJTheme.java similarity index 86% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneLightIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneLightIJTheme.java index 9c47569f..79f349bc 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatAtomOneLightIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTAtomOneLightIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatAtomOneLightIJTheme +public class FlatMTAtomOneLightIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Atom One Light (Material)"; public static boolean setup() { try { - return setup( new FlatAtomOneLightIJTheme() ); + return setup( new FlatMTAtomOneLightIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatAtomOneLightIJTheme.class ); + installLafInfo( NAME, FlatMTAtomOneLightIJTheme.class ); } - public FlatAtomOneLightIJTheme() { + public FlatMTAtomOneLightIJTheme() { super( Utils.loadTheme( "Atom One Light.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatDraculaIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTDraculaIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatDraculaIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTDraculaIJTheme.java index c3f44f7f..db72fe80 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatDraculaIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTDraculaIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatDraculaIJTheme +public class FlatMTDraculaIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Dracula (Material)"; public static boolean setup() { try { - return setup( new FlatDraculaIJTheme() ); + return setup( new FlatMTDraculaIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatDraculaIJTheme.class ); + installLafInfo( NAME, FlatMTDraculaIJTheme.class ); } - public FlatDraculaIJTheme() { + public FlatMTDraculaIJTheme() { super( Utils.loadTheme( "Dracula.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubDarkIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubDarkIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubDarkIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubDarkIJTheme.java index 176e3ac6..14de855d 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubDarkIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubDarkIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatGitHubDarkIJTheme +public class FlatMTGitHubDarkIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "GitHub Dark (Material)"; public static boolean setup() { try { - return setup( new FlatGitHubDarkIJTheme() ); + return setup( new FlatMTGitHubDarkIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatGitHubDarkIJTheme.class ); + installLafInfo( NAME, FlatMTGitHubDarkIJTheme.class ); } - public FlatGitHubDarkIJTheme() { + public FlatMTGitHubDarkIJTheme() { super( Utils.loadTheme( "GitHub Dark.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubIJTheme.java index ece0d023..4106b733 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatGitHubIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTGitHubIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatGitHubIJTheme +public class FlatMTGitHubIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "GitHub (Material)"; public static boolean setup() { try { - return setup( new FlatGitHubIJTheme() ); + return setup( new FlatMTGitHubIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatGitHubIJTheme.class ); + installLafInfo( NAME, FlatMTGitHubIJTheme.class ); } - public FlatGitHubIJTheme() { + public FlatMTGitHubIJTheme() { super( Utils.loadTheme( "GitHub.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatLightOwlIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTLightOwlIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatLightOwlIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTLightOwlIJTheme.java index 6bdc770f..0fe91dfd 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatLightOwlIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTLightOwlIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatLightOwlIJTheme +public class FlatMTLightOwlIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Light Owl (Material)"; public static boolean setup() { try { - return setup( new FlatLightOwlIJTheme() ); + return setup( new FlatMTLightOwlIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatLightOwlIJTheme.class ); + installLafInfo( NAME, FlatMTLightOwlIJTheme.class ); } - public FlatLightOwlIJTheme() { + public FlatMTLightOwlIJTheme() { super( Utils.loadTheme( "Light Owl.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDarkerIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDarkerIJTheme.java similarity index 86% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDarkerIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDarkerIJTheme.java index 26d460f7..34539a37 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDarkerIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDarkerIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMaterialDarkerIJTheme +public class FlatMTMaterialDarkerIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Material Darker (Material)"; public static boolean setup() { try { - return setup( new FlatMaterialDarkerIJTheme() ); + return setup( new FlatMTMaterialDarkerIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMaterialDarkerIJTheme.class ); + installLafInfo( NAME, FlatMTMaterialDarkerIJTheme.class ); } - public FlatMaterialDarkerIJTheme() { + public FlatMTMaterialDarkerIJTheme() { super( Utils.loadTheme( "Material Darker.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDeepOceanIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDeepOceanIJTheme.java similarity index 85% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDeepOceanIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDeepOceanIJTheme.java index d1e1a00a..f3c7fc2f 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialDeepOceanIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialDeepOceanIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMaterialDeepOceanIJTheme +public class FlatMTMaterialDeepOceanIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Material Deep Ocean (Material)"; public static boolean setup() { try { - return setup( new FlatMaterialDeepOceanIJTheme() ); + return setup( new FlatMTMaterialDeepOceanIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMaterialDeepOceanIJTheme.class ); + installLafInfo( NAME, FlatMTMaterialDeepOceanIJTheme.class ); } - public FlatMaterialDeepOceanIJTheme() { + public FlatMTMaterialDeepOceanIJTheme() { super( Utils.loadTheme( "Material Deep Ocean.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialLighterIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialLighterIJTheme.java similarity index 85% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialLighterIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialLighterIJTheme.java index 08fe26cb..e4f8df8b 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialLighterIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialLighterIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMaterialLighterIJTheme +public class FlatMTMaterialLighterIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Material Lighter (Material)"; public static boolean setup() { try { - return setup( new FlatMaterialLighterIJTheme() ); + return setup( new FlatMTMaterialLighterIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMaterialLighterIJTheme.class ); + installLafInfo( NAME, FlatMTMaterialLighterIJTheme.class ); } - public FlatMaterialLighterIJTheme() { + public FlatMTMaterialLighterIJTheme() { super( Utils.loadTheme( "Material Lighter.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialOceanicIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialOceanicIJTheme.java similarity index 85% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialOceanicIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialOceanicIJTheme.java index 1e3dae88..229ed38e 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialOceanicIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialOceanicIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMaterialOceanicIJTheme +public class FlatMTMaterialOceanicIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Material Oceanic (Material)"; public static boolean setup() { try { - return setup( new FlatMaterialOceanicIJTheme() ); + return setup( new FlatMTMaterialOceanicIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMaterialOceanicIJTheme.class ); + installLafInfo( NAME, FlatMTMaterialOceanicIJTheme.class ); } - public FlatMaterialOceanicIJTheme() { + public FlatMTMaterialOceanicIJTheme() { super( Utils.loadTheme( "Material Oceanic.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialPalenightIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialPalenightIJTheme.java similarity index 85% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialPalenightIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialPalenightIJTheme.java index 173f05b2..5c6ed9c7 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMaterialPalenightIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMaterialPalenightIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMaterialPalenightIJTheme +public class FlatMTMaterialPalenightIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Material Palenight (Material)"; public static boolean setup() { try { - return setup( new FlatMaterialPalenightIJTheme() ); + return setup( new FlatMTMaterialPalenightIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMaterialPalenightIJTheme.class ); + installLafInfo( NAME, FlatMTMaterialPalenightIJTheme.class ); } - public FlatMaterialPalenightIJTheme() { + public FlatMTMaterialPalenightIJTheme() { super( Utils.loadTheme( "Material Palenight.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMonokaiProIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMonokaiProIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMonokaiProIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMonokaiProIJTheme.java index a1c84b1d..a36310e0 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMonokaiProIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMonokaiProIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMonokaiProIJTheme +public class FlatMTMonokaiProIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Monokai Pro (Material)"; public static boolean setup() { try { - return setup( new FlatMonokaiProIJTheme() ); + return setup( new FlatMTMonokaiProIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMonokaiProIJTheme.class ); + installLafInfo( NAME, FlatMTMonokaiProIJTheme.class ); } - public FlatMonokaiProIJTheme() { + public FlatMTMonokaiProIJTheme() { super( Utils.loadTheme( "Monokai Pro.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMoonlightIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMoonlightIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMoonlightIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMoonlightIJTheme.java index e0d6c261..1c0d6c64 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMoonlightIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTMoonlightIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatMoonlightIJTheme +public class FlatMTMoonlightIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Moonlight (Material)"; public static boolean setup() { try { - return setup( new FlatMoonlightIJTheme() ); + return setup( new FlatMTMoonlightIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatMoonlightIJTheme.class ); + installLafInfo( NAME, FlatMTMoonlightIJTheme.class ); } - public FlatMoonlightIJTheme() { + public FlatMTMoonlightIJTheme() { super( Utils.loadTheme( "Moonlight.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatNightOwlIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTNightOwlIJTheme.java similarity index 87% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatNightOwlIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTNightOwlIJTheme.java index 3c3a1d6e..b61c89db 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatNightOwlIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTNightOwlIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatNightOwlIJTheme +public class FlatMTNightOwlIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Night Owl (Material)"; public static boolean setup() { try { - return setup( new FlatNightOwlIJTheme() ); + return setup( new FlatMTNightOwlIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatNightOwlIJTheme.class ); + installLafInfo( NAME, FlatMTNightOwlIJTheme.class ); } - public FlatNightOwlIJTheme() { + public FlatMTNightOwlIJTheme() { super( Utils.loadTheme( "Night Owl.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedDarkIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedDarkIJTheme.java similarity index 86% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedDarkIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedDarkIJTheme.java index 9c5c66b2..265d11df 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedDarkIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedDarkIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatSolarizedDarkIJTheme +public class FlatMTSolarizedDarkIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Solarized Dark (Material)"; public static boolean setup() { try { - return setup( new FlatSolarizedDarkIJTheme() ); + return setup( new FlatMTSolarizedDarkIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatSolarizedDarkIJTheme.class ); + installLafInfo( NAME, FlatMTSolarizedDarkIJTheme.class ); } - public FlatSolarizedDarkIJTheme() { + public FlatMTSolarizedDarkIJTheme() { super( Utils.loadTheme( "Solarized Dark.theme.json" ) ); } diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedLightIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedLightIJTheme.java similarity index 86% rename from flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedLightIJTheme.java rename to flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedLightIJTheme.java index 970293e7..b5004c6d 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatSolarizedLightIJTheme.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/materialthemeuilite/FlatMTSolarizedLightIJTheme.java @@ -26,24 +26,24 @@ import com.formdev.flatlaf.IntelliJTheme; /** * @author Karl Tauber */ -public class FlatSolarizedLightIJTheme +public class FlatMTSolarizedLightIJTheme extends IntelliJTheme.ThemeLaf { public static final String NAME = "Solarized Light (Material)"; public static boolean setup() { try { - return setup( new FlatSolarizedLightIJTheme() ); + return setup( new FlatMTSolarizedLightIJTheme() ); } catch( RuntimeException ex ) { return false; } } public static void installLafInfo() { - installLafInfo( NAME, FlatSolarizedLightIJTheme.class ); + installLafInfo( NAME, FlatMTSolarizedLightIJTheme.class ); } - public FlatSolarizedLightIJTheme() { + public FlatMTSolarizedLightIJTheme() { super( Utils.loadTheme( "Solarized Light.theme.json" ) ); } From f5e6b90e024dc8487830ae5f83afeed21182ff27 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Tue, 25 Feb 2025 19:31:14 +0100 Subject: [PATCH 10/15] UIDefaultsDump: fixed property sort order and updated dumps GTKLookAndFeel dump updated on Ubuntu 24.10 --- .../uidefaults/BasicLookAndFeel_1.8.0_202.txt | 78 ++ .../BasicLookAndFeel_InputMap_1.8.0_202.txt | 130 +-- .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 12 +- .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 12 +- .../FlatLightLaf_InputMap_1.8.0-mac.txt | 142 +-- .../FlatLightLaf_InputMap_1.8.0.txt | 162 ++-- .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 12 +- .../uidefaults/FlatMacLightLaf_1.8.0.txt | 12 +- .../dumps/uidefaults/FlatTestLaf_1.8.0.txt | 12 +- .../uidefaults/GTKLookAndFeel_1.8.0_202.txt | 430 ++++---- .../GTKLookAndFeel_ActionMap_1.8.0_202.txt | 916 ++++++++++++++++++ .../GTKLookAndFeel_InputMap_1.8.0_202.txt | 126 +-- .../uidefaults/MetalLookAndFeel_1.8.0_202.txt | 87 ++ .../MetalLookAndFeel_InputMap_1.8.0_202.txt | 130 +-- .../NimbusLookAndFeel_1.8.0_202.txt | 163 +++- .../NimbusLookAndFeel_InputMap_1.8.0_202.txt | 18 +- .../WindowsLookAndFeel_1.8.0_202.txt | 88 +- .../WindowsLookAndFeel_InputMap_1.8.0_202.txt | 130 +-- .../testing/uidefaults/UIDefaultsDump.java | 6 +- 19 files changed, 1987 insertions(+), 679 deletions(-) create mode 100644 flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_ActionMap_1.8.0_202.txt diff --git a/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_1.8.0_202.txt index 30168f9e..42056f0f 100644 --- a/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_1.8.0_202.txt @@ -804,3 +804,81 @@ textText #000000 javax.swing.plaf.ColorUIResource [UI] window #ffffff javax.swing.plaf.ColorUIResource [UI] windowBorder #000000 javax.swing.plaf.ColorUIResource [UI] windowText #000000 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #ffffff #000080 16.0 + +#-- disabledForeground -- +ComboBox.disabledForeground #808080 #c0c0c0 2.2 !!!!! +Label.disabledForeground #ffffff #c0c0c0 1.8 !!!!!! + +#-- focusCellForeground -- +Table.focusCellForeground #000000 #ffffff 21.0 + +#-- foreground -- +Button.foreground #000000 #c0c0c0 11.5 +CheckBox.foreground #000000 #c0c0c0 11.5 +CheckBoxMenuItem.foreground #000000 #c0c0c0 11.5 +ColorChooser.foreground #000000 #c0c0c0 11.5 +ComboBox.foreground #000000 #ffffff 21.0 +EditorPane.foreground #000000 #ffffff 21.0 +FormattedTextField.foreground #000000 #ffffff 21.0 +Label.foreground #000000 #c0c0c0 11.5 +List.foreground #000000 #ffffff 21.0 +Menu.foreground #000000 #c0c0c0 11.5 +MenuBar.foreground #000000 #c0c0c0 11.5 +MenuItem.foreground #000000 #c0c0c0 11.5 +OptionPane.foreground #000000 #c0c0c0 11.5 +Panel.foreground #000000 #c0c0c0 11.5 +PasswordField.foreground #000000 #ffffff 21.0 +PopupMenu.foreground #000000 #c0c0c0 11.5 +RadioButton.foreground #000000 #c0c0c0 11.5 +RadioButtonMenuItem.foreground #000000 #c0c0c0 11.5 +Spinner.foreground #c0c0c0 #c0c0c0 1.0 !!!!!! +TabbedPane.foreground #000000 #c0c0c0 11.5 +Table.foreground #000000 #ffffff 21.0 +TableHeader.foreground #000000 #c0c0c0 11.5 +TextArea.foreground #000000 #ffffff 21.0 +TextField.foreground #000000 #ffffff 21.0 +TextPane.foreground #000000 #ffffff 21.0 +ToggleButton.foreground #000000 #c0c0c0 11.5 +ToolTip.foreground #000000 #ffffe1 20.6 +Tree.foreground #000000 #ffffff 21.0 + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #c0c0c0 #808080 2.2 !!!!! + +#-- selectionBackground -- +ProgressBar.selectionBackground #000080 #c0c0c0 8.8 + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #000080 16.0 +ComboBox.selectionForeground #ffffff #000080 16.0 +EditorPane.selectionForeground #ffffff #000080 16.0 +FormattedTextField.selectionForeground #ffffff #000080 16.0 +List.selectionForeground #ffffff #000080 16.0 +Menu.selectionForeground #ffffff #000080 16.0 +MenuItem.selectionForeground #ffffff #000080 16.0 +PasswordField.selectionForeground #ffffff #000080 16.0 +ProgressBar.selectionForeground #c0c0c0 #000080 8.8 +RadioButtonMenuItem.selectionForeground #ffffff #000080 16.0 +Table.selectionForeground #ffffff #000080 16.0 +TextArea.selectionForeground #ffffff #000080 16.0 +TextField.selectionForeground #ffffff #000080 16.0 +TextPane.selectionForeground #ffffff #000080 16.0 +Tree.selectionForeground #ffffff #000080 16.0 + +#-- textForeground -- +Tree.textForeground #000000 #c0c0c0 11.5 + +#-- non-text -- +ProgressBar.background #c0c0c0 #c0c0c0 1.0 !!!!!! +ProgressBar.foreground #000080 #c0c0c0 8.8 +Separator.foreground #808080 #ffffff 3.9 !!!! diff --git a/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_InputMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_InputMap_1.8.0_202.txt index acb39c3b..aac87ab6 100644 --- a/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_InputMap_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/BasicLookAndFeel_InputMap_1.8.0_202.txt @@ -124,23 +124,6 @@ FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -206,19 +189,27 @@ List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift SPACE extendTo shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PopupMenu ---- -PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; - [0] LEFT - [1] selectChild - [2] KP_LEFT - [3] selectChild - [4] RIGHT - [5] selectParent - [6] KP_RIGHT - [7] selectParent PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -244,6 +235,15 @@ PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [21] return [22] SPACE [23] return +PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; + [0] LEFT + [1] selectChild + [2] KP_LEFT + [3] selectChild + [4] RIGHT + [5] selectParent + [6] KP_RIGHT + [7] selectParent #---- RadioButton ---- @@ -262,11 +262,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN positiveUnitIncrement END maxScroll @@ -280,13 +275,15 @@ ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeft - ctrl PAGE_UP scrollRight ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl END scrollEnd ctrl HOME scrollHome @@ -302,15 +299,13 @@ ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeft + ctrl PAGE_UP scrollRight #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN negativeUnitIncrement END maxScroll @@ -324,6 +319,11 @@ Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -376,27 +376,6 @@ TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -469,6 +448,27 @@ Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource shift SPACE extendTo shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- TableHeader ---- @@ -514,11 +514,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent Tree.focusInputMap [lazy] 57 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -577,3 +572,8 @@ Tree.focusInputMap [lazy] 57 javax.swing.plaf.InputMapUIResource shift PAGE_UP scrollUpExtendSelection shift SPACE extendTo shift UP selectPreviousExtendSelection +Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index 9b7f11b0..a1c64d4f 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -122,6 +122,7 @@ CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F CheckBox.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.icon.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #696b6d HSL 210 2 42 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.checkmarkColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] @@ -137,7 +138,6 @@ CheckBox.icon.pressedBackground #55585b HSL 210 3 35 com.formdev.flatlaf. CheckBox.icon.pressedBorderColor #446e9e HSL 212 40 44 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBackground #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #87898a HSL 200 1 54 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.icon[filled].checkmarkColor #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].hoverSelectedBackground #bfbfbf HSL 0 0 75 com.formdev.flatlaf.util.DerivedColor [UI] darken(3% autoInverse) @@ -800,8 +800,8 @@ RadioButton.disabledText #a6a6a6 HSL 0 0 65 javax.swing.plaf.Colo RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #232324 HSL 240 1 14 javax.swing.plaf.ColorUIResource [UI] -RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] +RadioButton.icon.centerDiameter 8 RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 RadioButton.light #2f3031 HSL 210 2 19 javax.swing.plaf.ColorUIResource [UI] @@ -1461,14 +1461,14 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- [style] ---- -[style].h00 font: $h00.font [style].h0 font: $h0.font -[style].h1.regular font: $h1.regular.font +[style].h00 font: $h00.font [style].h1 font: $h1.font -[style].h2.regular font: $h2.regular.font +[style].h1.regular font: $h1.regular.font [style].h2 font: $h2.font -[style].h3.regular font: $h3.regular.font +[style].h2.regular font: $h2.regular.font [style].h3 font: $h3.font +[style].h3.regular font: $h3.regular.font [style].h4 font: $h4.font [style].large font: $large.font [style].light font: $light.font diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index a0953d46..b3e564d4 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -123,6 +123,7 @@ CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F CheckBox.disabledText #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #afafaf HSL 0 0 69 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.checkmarkColor #4e9de7 HSL 209 76 61 javax.swing.plaf.ColorUIResource [UI] @@ -138,7 +139,6 @@ CheckBox.icon.pressedBackground #e6e6e6 HSL 0 0 90 com.formdev.flatlaf. CheckBox.icon.pressedBorderColor #7b9ebf HSL 209 35 62 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #4e9de7 HSL 209 76 61 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.icon[filled].checkmarkColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].focusedCheckmarkColor #eaf3fb HSL 208 68 95 javax.swing.plaf.ColorUIResource [UI] @@ -805,8 +805,8 @@ RadioButton.disabledText #808080 HSL 0 0 50 javax.swing.plaf.Colo RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] +RadioButton.icon.centerDiameter 8 RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 RadioButton.light #e1e1e1 HSL 0 0 88 javax.swing.plaf.ColorUIResource [UI] @@ -1466,14 +1466,14 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- [style] ---- -[style].h00 font: $h00.font [style].h0 font: $h0.font -[style].h1.regular font: $h1.regular.font +[style].h00 font: $h00.font [style].h1 font: $h1.font -[style].h2.regular font: $h2.regular.font +[style].h1.regular font: $h1.regular.font [style].h2 font: $h2.font -[style].h3.regular font: $h3.regular.font +[style].h2.regular font: $h2.regular.font [style].h3 font: $h3.font +[style].h3.regular font: $h3.regular.font [style].h4 font: $h4.font [style].large font: $large.font [style].light font: $light.font diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0-mac.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0-mac.txt index f9e4462d..77e1b305 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0-mac.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0-mac.txt @@ -240,15 +240,6 @@ FormattedTextField.focusInputMap [lazy] 70 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 8 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 27 javax.swing.plaf.InputMapUIResource [UI] meta A selectAll meta C copy @@ -277,6 +268,15 @@ List.focusInputMap [lazy] 27 javax.swing.plaf.InputMapUIResource shift PAGE_UP scrollUpExtendSelection shift RIGHT selectNextColumnExtendSelection shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 8 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PasswordField ---- @@ -353,6 +353,31 @@ PasswordField.focusInputMap [lazy] 67 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- +PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; + [0] ESCAPE + [1] cancel + [2] DOWN + [3] selectNext + [4] KP_DOWN + [5] selectNext + [6] UP + [7] selectPrevious + [8] KP_UP + [9] selectPrevious + [10] LEFT + [11] selectParent + [12] KP_LEFT + [13] selectParent + [14] RIGHT + [15] selectChild + [16] KP_RIGHT + [17] selectChild + [18] ENTER + [19] return + [20] ctrl ENTER + [21] return + [22] SPACE + [23] return PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -386,31 +411,6 @@ PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Ob [29] selectParent [30] KP_RIGHT [31] selectParent -PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; - [0] ESCAPE - [1] cancel - [2] DOWN - [3] selectNext - [4] KP_DOWN - [5] selectNext - [6] UP - [7] selectPrevious - [8] KP_UP - [9] selectPrevious - [10] LEFT - [11] selectParent - [12] KP_LEFT - [13] selectParent - [14] RIGHT - [15] selectChild - [16] KP_RIGHT - [17] selectChild - [18] ENTER - [19] return - [20] ctrl ENTER - [21] return - [22] SPACE - [23] return #---- RadioButton ---- @@ -429,11 +429,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN positiveUnitIncrement END maxScroll @@ -447,11 +442,15 @@ ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 0 javax.swing.plaf.InputMapUIResource [UI] ScrollPane.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN unitScrollDown END scrollEnd @@ -465,15 +464,11 @@ ScrollPane.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 0 javax.swing.plaf.InputMapUIResource [UI] #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN negativeUnitIncrement END maxScroll @@ -487,6 +482,11 @@ Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -537,19 +537,6 @@ TabbedPane.focusInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection Table.ancestorInputMap [lazy] 34 javax.swing.plaf.InputMapUIResource [UI] alt TAB focusHeader meta A selectAll @@ -585,6 +572,19 @@ Table.ancestorInputMap [lazy] 34 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- TableHeader ---- @@ -880,19 +880,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] - alt KP_LEFT selectChild - alt KP_RIGHT selectParent - alt LEFT selectChild - alt RIGHT selectParent - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent - shift KP_LEFT selectChild - shift KP_RIGHT selectParent - shift LEFT selectChild - shift RIGHT selectParent Tree.focusInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource [UI] alt KP_LEFT selectParent alt KP_RIGHT selectChild @@ -923,3 +910,16 @@ Tree.focusInputMap [lazy] 29 javax.swing.plaf.InputMapUIResource shift LEFT selectParent shift RIGHT selectChild shift UP selectPreviousExtendSelection +Tree.focusInputMap.RightToLeft [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] + alt KP_LEFT selectChild + alt KP_RIGHT selectParent + alt LEFT selectChild + alt RIGHT selectParent + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent + shift KP_LEFT selectChild + shift KP_RIGHT selectParent + shift LEFT selectChild + shift RIGHT selectParent diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0.txt index 4389a367..d3bdf429 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_InputMap_1.8.0.txt @@ -200,23 +200,6 @@ FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -282,6 +265,23 @@ List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift SPACE extendTo shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PasswordField ---- @@ -328,6 +328,31 @@ PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- +PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; + [0] ESCAPE + [1] cancel + [2] DOWN + [3] selectNext + [4] KP_DOWN + [5] selectNext + [6] UP + [7] selectPrevious + [8] KP_UP + [9] selectPrevious + [10] LEFT + [11] selectParent + [12] KP_LEFT + [13] selectParent + [14] RIGHT + [15] selectChild + [16] KP_RIGHT + [17] selectChild + [18] ENTER + [19] return + [20] ctrl ENTER + [21] return + [22] SPACE + [23] return PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -361,31 +386,6 @@ PopupMenu.selectedWindowInputMapBindings.RightToLeft length=32 [Ljava.lang.Ob [29] selectParent [30] KP_RIGHT [31] selectParent -PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; - [0] ESCAPE - [1] cancel - [2] DOWN - [3] selectNext - [4] KP_DOWN - [5] selectNext - [6] UP - [7] selectPrevious - [8] KP_UP - [9] selectPrevious - [10] LEFT - [11] selectParent - [12] KP_LEFT - [13] selectParent - [14] RIGHT - [15] selectChild - [16] KP_RIGHT - [17] selectChild - [18] ENTER - [19] return - [20] ctrl ENTER - [21] return - [22] SPACE - [23] return #---- RadioButton ---- @@ -404,11 +404,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN positiveUnitIncrement END maxScroll @@ -422,13 +417,15 @@ ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeft - ctrl PAGE_UP scrollRight ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl END scrollEnd ctrl HOME scrollHome @@ -444,15 +441,13 @@ ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeft + ctrl PAGE_UP scrollRight #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN negativeUnitIncrement END maxScroll @@ -466,6 +461,11 @@ Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -520,27 +520,6 @@ TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -613,6 +592,27 @@ Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource shift SPACE extendTo shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- TableHeader ---- @@ -834,11 +834,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -899,3 +894,8 @@ Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource shift PAGE_UP scrollUpExtendSelection shift SPACE extendTo shift UP selectPreviousExtendSelection +Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index 8ef3492d..0392e80f 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -122,6 +122,7 @@ CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F CheckBox.disabledText #9a9a9a HSL 0 0 60 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.icon.background #292929 HSL 0 0 16 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #ffffff25 15% HSLA 0 0 100 15 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.checkmarkColor #c7c7c7 HSL 0 0 78 javax.swing.plaf.ColorUIResource [UI] @@ -136,7 +137,6 @@ CheckBox.icon.pressedBorderColor #34b0ff80 50% HSLA 203 100 60 50 javax.sw CheckBox.icon.selectedBackground #292929 HSL 0 0 16 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #ffffff51 32% HSLA 0 0 100 32 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.style filled -CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 6 CheckBox.icon[filled].background #4e4e4e HSL 0 0 31 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].borderWidth 0 @@ -808,9 +808,9 @@ RadioButton.disabledText #9a9a9a HSL 0 0 60 javax.swing.plaf.Colo RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #bfbfbf19 10% HSLA 0 0 75 10 javax.swing.plaf.ColorUIResource [UI] +RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon.style filled -RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 6 RadioButton.icon[filled].centerDiameter 6 RadioButton.light #cccccc19 10% HSLA 0 0 80 10 javax.swing.plaf.ColorUIResource [UI] @@ -1471,14 +1471,14 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- [style] ---- -[style].h00 font: $h00.font [style].h0 font: $h0.font -[style].h1.regular font: $h1.regular.font +[style].h00 font: $h00.font [style].h1 font: $h1.font -[style].h2.regular font: $h2.regular.font +[style].h1.regular font: $h1.regular.font [style].h2 font: $h2.font -[style].h3.regular font: $h3.regular.font +[style].h2.regular font: $h2.regular.font [style].h3 font: $h3.font +[style].h3.regular font: $h3.regular.font [style].h4 font: $h4.font [style].large font: $large.font [style].light font: $light.font diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 96795586..4dc02870 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -122,6 +122,7 @@ CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F CheckBox.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #0000003c 24% HSLA 0 0 0 24 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.checkmarkColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] @@ -136,7 +137,6 @@ CheckBox.icon.pressedBorderColor #0056cf98 60% HSLA 215 100 41 60 javax.sw CheckBox.icon.selectedBackground #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #007aff HSL 211 100 50 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.style filled -CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 6 CheckBox.icon[filled].background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon[filled].borderColor #00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] @@ -812,9 +812,9 @@ RadioButton.disabledText #7b7b7b HSL 0 0 48 javax.swing.plaf.Colo RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #40404026 15% HSLA 0 0 25 15 javax.swing.plaf.ColorUIResource [UI] +RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.icon.centerDiameter 8 RadioButton.icon.style filled -RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] RadioButton.iconTextGap 6 RadioButton.icon[filled].centerDiameter 6 RadioButton.light #1f1f1f26 15% HSLA 0 0 12 15 javax.swing.plaf.ColorUIResource [UI] @@ -1475,14 +1475,14 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- [style] ---- -[style].h00 font: $h00.font [style].h0 font: $h0.font -[style].h1.regular font: $h1.regular.font +[style].h00 font: $h00.font [style].h1 font: $h1.font -[style].h2.regular font: $h2.regular.font +[style].h1.regular font: $h1.regular.font [style].h2 font: $h2.font -[style].h3.regular font: $h3.regular.font +[style].h2.regular font: $h2.regular.font [style].h3 font: $h3.font +[style].h3.regular font: $h3.regular.font [style].h4 font: $h4.font [style].large font: $large.font [style].light font: $light.font diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index ffe6bff2..8ffb24da 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -148,6 +148,7 @@ CheckBox.border [lazy] 0,0,0,0 false com.formdev.flatlaf.ui.F CheckBox.disabledText #000088 HSL 240 100 27 javax.swing.plaf.ColorUIResource [UI] CheckBox.font [active] $defaultFont [UI] CheckBox.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] +CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.icon.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.borderColor #878787 HSL 0 0 53 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.checkmarkColor #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -172,7 +173,6 @@ CheckBox.icon.pressedSelectedBackground #88ffff HSL 180 100 77 javax.swing. CheckBox.icon.pressedSelectedBorderColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBackground #4d89c9 HSL 211 53 55 javax.swing.plaf.ColorUIResource [UI] CheckBox.icon.selectedBorderColor #4982cc HSL 214 56 54 javax.swing.plaf.ColorUIResource [UI] -CheckBox.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatCheckBoxIcon [UI] CheckBox.iconTextGap 4 CheckBox.margin 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] CheckBox.rollover true @@ -838,8 +838,8 @@ RadioButton.disabledText #000088 HSL 240 100 27 javax.swing.plaf.Colo RadioButton.font [active] $defaultFont [UI] RadioButton.foreground #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] -RadioButton.icon.centerDiameter 8 RadioButton.icon [lazy] 15,15 com.formdev.flatlaf.icons.FlatRadioButtonIcon [UI] +RadioButton.icon.centerDiameter 8 RadioButton.iconTextGap 4 RadioButton.icon[filled].centerDiameter 5 RadioButton.light #e3e3e3 HSL 0 0 89 javax.swing.plaf.ColorUIResource [UI] @@ -1520,14 +1520,14 @@ ViewportUI com.formdev.flatlaf.ui.FlatViewportUI #---- [style] ---- -[style].h00 font: $h00.font [style].h0 font: $h0.font -[style].h1.regular font: $h1.regular.font +[style].h00 font: $h00.font [style].h1 font: $h1.font -[style].h2.regular font: $h2.regular.font +[style].h1.regular font: $h1.regular.font [style].h2 font: $h2.font -[style].h3.regular font: $h3.regular.font +[style].h2.regular font: $h2.regular.font [style].h3 font: $h3.font +[style].h3.regular font: $h3.regular.font [style].h4 font: $h4.font [style].large font: $large.font [style].light font: $light.font diff --git a/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_1.8.0_202.txt index 08a2d17d..2d91b8ed 100644 --- a/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_1.8.0_202.txt @@ -52,18 +52,18 @@ AuditoryCues.noAuditoryCues length=1 [Ljava.lang.Object; #---- Button ---- -Button.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Button.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Button.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,3,3,3 false javax.swing.plaf.basic.BasicBorders$ButtonBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] Button.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] Button.defaultButtonFollowsFocus false -Button.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Button.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Button.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Button.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] Button.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -Button.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Button.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Button.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -Button.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Button.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] Button.textIconGap 4 Button.textShiftOffset 0 ButtonUI javax.swing.plaf.synth.SynthLookAndFeel @@ -71,12 +71,12 @@ ButtonUI javax.swing.plaf.synth.SynthLookAndFeel #---- CheckBox ---- -CheckBox.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +CheckBox.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] CheckBox.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] -CheckBox.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -CheckBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +CheckBox.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +CheckBox.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] CheckBox.icon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] CheckBox.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] CheckBox.textIconGap 4 @@ -86,17 +86,17 @@ CheckBox.textShiftOffset 0 #---- CheckBoxMenuItem ---- CheckBoxMenuItem.acceleratorFont [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] -CheckBoxMenuItem.acceleratorForeground #2e3436 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.acceleratorForeground #3d3d3d javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.alignAcceleratorText false -CheckBoxMenuItem.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] CheckBoxMenuItem.borderPainted false CheckBoxMenuItem.checkIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] -CheckBoxMenuItem.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -CheckBoxMenuItem.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +CheckBoxMenuItem.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -CheckBoxMenuItem.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +CheckBoxMenuItem.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItemUI javax.swing.plaf.synth.SynthLookAndFeel @@ -108,13 +108,13 @@ CheckBoxUI javax.swing.plaf.synth.SynthLookAndFeel #---- ColorChooser ---- -ColorChooser.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -ColorChooser.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ColorChooser.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ColorChooser.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ColorChooser.panels [active] length=1 [Ljavax.swing.colorchooser.AbstractColorChooserPanel; [0] [unknown type] com.sun.java.swing.plaf.gtk.GTKColorChooserPanel ColorChooser.showPreviewPanelText false -ColorChooser.swatchesDefaultRecentColor #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ColorChooser.swatchesDefaultRecentColor #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize 10,10 java.awt.Dimension ColorChooser.swatchesSwatchSize 10,10 java.awt.Dimension ColorChooserUI javax.swing.plaf.synth.SynthLookAndFeel @@ -122,18 +122,18 @@ ColorChooserUI javax.swing.plaf.synth.SynthLookAndFeel #---- ComboBox ---- -ComboBox.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ComboBox.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ComboBox.buttonHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ComboBox.buttonShadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] -ComboBox.disabledBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ComboBox.buttonShadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] +ComboBox.disabledBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ComboBox.disabledForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] -ComboBox.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ComboBox.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ComboBox.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ComboBox.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ComboBox.isEnterSelectablePopup true ComboBox.noActionOnKeyNavigation false -ComboBox.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +ComboBox.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] ComboBox.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] ComboBox.timeFactor 1000 ComboBoxUI javax.swing.plaf.synth.SynthLookAndFeel @@ -141,7 +141,7 @@ ComboBoxUI javax.swing.plaf.synth.SynthLookAndFeel #---- Desktop ---- -Desktop.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Desktop.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] @@ -149,7 +149,7 @@ Desktop.minOnScreenInsets 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] DesktopIcon.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 true javax.swing.border.BevelBorder - line: #e8e8e7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder + line: #f5f6f7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder DesktopIconUI javax.swing.plaf.synth.SynthLookAndFeel @@ -165,11 +165,11 @@ EditorPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.B EditorPane.caretAspectRatio 0.025 EditorPane.caretBlinkRate 1200 EditorPane.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -EditorPane.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -EditorPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +EditorPane.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +EditorPane.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] EditorPane.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] EditorPane.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -EditorPane.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +EditorPane.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] EditorPane.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] EditorPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -198,17 +198,17 @@ FileView.hardDriveIcon [lazy] null #---- FormattedTextField ---- -FormattedTextField.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] FormattedTextField.caretAspectRatio 0.025 FormattedTextField.caretBlinkRate 1200 FormattedTextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -FormattedTextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -FormattedTextField.inactiveBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +FormattedTextField.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.inactiveBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] FormattedTextField.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -FormattedTextField.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +FormattedTextField.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] FormattedTextField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] FormattedTextFieldUI javax.swing.plaf.synth.SynthLookAndFeel @@ -217,12 +217,12 @@ FormattedTextFieldUI javax.swing.plaf.synth.SynthLookAndFeel InternalFrame.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 true javax.swing.border.BevelBorder - line: #e8e8e7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder -InternalFrame.borderColor #e8e8e7 javax.swing.plaf.ColorUIResource [UI] + line: #f5f6f7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder +InternalFrame.borderColor #f5f6f7 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI] InternalFrame.borderHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderLight #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -InternalFrame.borderShadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderLight #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +InternalFrame.borderShadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] InternalFrame.closeIcon [lazy] 14,16 javax.swing.plaf.basic.BasicIconFactory$EmptyFrameIcon InternalFrame.icon [lazy] 16,16 sun.swing.ImageIconUIResource [UI] (sun.awt.image.ToolkitImage) InternalFrame.iconifyIcon [lazy] 14,16 javax.swing.plaf.basic.BasicIconFactory$EmptyFrameIcon @@ -253,11 +253,11 @@ InternalFrameUI javax.swing.plaf.synth.SynthLookAndFeel #---- Label ---- -Label.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Label.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Label.disabledForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -Label.disabledShadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] -Label.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Label.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Label.disabledShadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] +Label.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Label.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] LabelUI javax.swing.plaf.synth.SynthLookAndFeel @@ -265,14 +265,14 @@ LabelUI javax.swing.plaf.synth.SynthLookAndFeel List.background #ffffff javax.swing.plaf.ColorUIResource [UI] List.cellRenderer [active] javax.swing.DefaultListCellRenderer$UIResource [UI] -List.dropLineColor #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +List.dropLineColor #a6acb3 javax.swing.plaf.ColorUIResource [UI] List.focusCellHighlightBorder [lazy] 0,0,0,0 true com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder [UI] List.focusSelectedCellHighlightBorder [lazy] 0,0,0,0 true com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder [UI] -List.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -List.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +List.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +List.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] List.noFocusBorder [lazy] 0,0,0,0 true com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder [UI] List.rendererUseUIBorder false -List.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +List.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] List.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] List.timeFactor 1000 ListUI javax.swing.plaf.synth.SynthLookAndFeel @@ -281,22 +281,22 @@ ListUI javax.swing.plaf.synth.SynthLookAndFeel #---- Menu ---- Menu.acceleratorFont [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] -Menu.acceleratorForeground #2e3436 javax.swing.plaf.ColorUIResource [UI] +Menu.acceleratorForeground #3d3d3d javax.swing.plaf.ColorUIResource [UI] Menu.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] Menu.alignAcceleratorText false Menu.arrowIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$MenuArrowIcon [UI] -Menu.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Menu.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] Menu.borderPainted false Menu.cancelMode hideMenuTree Menu.crossMenuMnemonic true -Menu.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Menu.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +Menu.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Menu.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] Menu.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Menu.menuPopupOffsetX 0 Menu.menuPopupOffsetY 0 Menu.preserveTopLevelSelection false -Menu.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +Menu.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] Menu.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] Menu.shortcutKeys length=1 [I [0] 8 @@ -307,12 +307,12 @@ Menu.useMenuBarForTopLevelMenus true #---- MenuBar ---- -MenuBar.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +MenuBar.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] MenuBar.border [lazy] 0,0,2,0 false javax.swing.plaf.basic.BasicBorders$MenuBarBorder [UI] -MenuBar.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -MenuBar.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +MenuBar.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +MenuBar.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] MenuBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -MenuBar.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +MenuBar.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] MenuBar.windowBindings length=2 [Ljava.lang.Object; [0] F10 [1] takeFocus @@ -323,16 +323,16 @@ MenuBarUI javax.swing.plaf.synth.SynthLookAndFeel MenuItem.acceleratorDelimiter + MenuItem.acceleratorFont [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] -MenuItem.acceleratorForeground #2e3436 javax.swing.plaf.ColorUIResource [UI] +MenuItem.acceleratorForeground #3d3d3d javax.swing.plaf.ColorUIResource [UI] MenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItem.alignAcceleratorText false -MenuItem.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +MenuItem.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] MenuItem.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] MenuItem.borderPainted false -MenuItem.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -MenuItem.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +MenuItem.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +MenuItem.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] MenuItem.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -MenuItem.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +MenuItem.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] MenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] MenuItemUI javax.swing.plaf.synth.SynthLookAndFeel @@ -344,19 +344,19 @@ MenuUI javax.swing.plaf.synth.SynthLookAndFeel #---- OptionPane ---- -OptionPane.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +OptionPane.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] OptionPane.border [lazy] 10,10,12,10 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] OptionPane.buttonAreaBorder [lazy] 6,0,0,0 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] OptionPane.buttonClickThreshhold 500 OptionPane.buttonOrientation 4 OptionPane.buttonPadding 10 OptionPane.errorIcon [lazy] null -OptionPane.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -OptionPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +OptionPane.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +OptionPane.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] OptionPane.informationIcon [lazy] null OptionPane.isYesLast true OptionPane.messageAreaBorder [lazy] 0,0,0,0 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] -OptionPane.messageForeground #000000 javax.swing.plaf.ColorUIResource [UI] +OptionPane.messageForeground #5d5d5d javax.swing.plaf.ColorUIResource [UI] OptionPane.minimumSize 262,90 javax.swing.plaf.DimensionUIResource [UI] OptionPane.questionIcon [lazy] null OptionPane.sameSizeButtons true @@ -370,39 +370,39 @@ OptionPaneUI javax.swing.plaf.synth.SynthLookAndFeel #---- Panel ---- -Panel.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -Panel.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Panel.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Panel.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +Panel.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Panel.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] PanelUI javax.swing.plaf.synth.SynthLookAndFeel #---- PasswordField ---- -PasswordField.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +PasswordField.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] PasswordField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] PasswordField.caretAspectRatio 0.025 PasswordField.caretBlinkRate 1200 PasswordField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] PasswordField.echoChar '*' -PasswordField.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -PasswordField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] -PasswordField.inactiveBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +PasswordField.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +PasswordField.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] +PasswordField.inactiveBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] PasswordField.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] PasswordField.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -PasswordField.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +PasswordField.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] PasswordField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] PasswordFieldUI javax.swing.plaf.synth.SynthLookAndFeel #---- PopupMenu ---- -PopupMenu.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] PopupMenu.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 true javax.swing.border.BevelBorder - line: #e8e8e7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder + line: #f5f6f7 javax.swing.plaf.ColorUIResource [UI] 1 false 1,1,1,1 true javax.swing.border.LineBorder PopupMenu.consumeEventOnClose true -PopupMenu.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -PopupMenu.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +PopupMenu.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +PopupMenu.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] #---- PopupMenuSeparator ---- @@ -417,35 +417,35 @@ PopupMenuUI javax.swing.plaf.synth.SynthLookAndFeel #---- ProgressBar ---- -ProgressBar.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ProgressBar.border [lazy] line: #00ff00 java.awt.Color 2 false 2,2,2,2 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] ProgressBar.cellLength 1 ProgressBar.cellSpacing 0 ProgressBar.cycleTime 3000 -ProgressBar.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ProgressBar.foreground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ProgressBar.foreground #e95420 javax.swing.plaf.ColorUIResource [UI] ProgressBar.horizontalSize 148,18 javax.swing.plaf.DimensionUIResource [UI] ProgressBar.repaintInterval 50 -ProgressBar.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] -ProgressBar.selectionForeground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] +ProgressBar.selectionForeground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ProgressBar.verticalSize 20,78 javax.swing.plaf.DimensionUIResource [UI] ProgressBarUI javax.swing.plaf.synth.SynthLookAndFeel #---- RadioButton ---- -RadioButton.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +RadioButton.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] RadioButton.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$RadioButtonBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] RadioButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -RadioButton.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -RadioButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +RadioButton.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +RadioButton.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] RadioButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButton.icon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] -RadioButton.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +RadioButton.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] RadioButton.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -RadioButton.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +RadioButton.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] RadioButton.textIconGap 4 RadioButton.textShiftOffset 0 @@ -453,17 +453,17 @@ RadioButton.textShiftOffset 0 #---- RadioButtonMenuItem ---- RadioButtonMenuItem.acceleratorFont [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] -RadioButtonMenuItem.acceleratorForeground #2e3436 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.acceleratorForeground #3d3d3d javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.acceleratorSelectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.alignAcceleratorText false -RadioButtonMenuItem.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] RadioButtonMenuItem.borderPainted false RadioButtonMenuItem.checkIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] -RadioButtonMenuItem.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -RadioButtonMenuItem.foreground #2e3436 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +RadioButtonMenuItem.foreground #3d3d3d javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -RadioButtonMenuItem.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +RadioButtonMenuItem.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItemUI javax.swing.plaf.synth.SynthLookAndFeel @@ -492,16 +492,16 @@ RootPaneUI javax.swing.plaf.synth.SynthLookAndFeel ScrollBar.allowsAbsolutePositioning true ScrollBar.alwaysShowThumb true ScrollBar.background #e0e0e0 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.foreground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.foreground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ScrollBar.maximumThumbSize 4096,4096 java.awt.Dimension ScrollBar.minimumThumbSize 8,8 java.awt.Dimension ScrollBar.squareButtons false -ScrollBar.thumb #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumb #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbDarkShadow #000000 javax.swing.plaf.ColorUIResource [UI] ScrollBar.thumbHeight 14 ScrollBar.thumbHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ScrollBar.thumbShadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] -ScrollBar.track #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.thumbShadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] +ScrollBar.track #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ScrollBar.trackHighlight #000000 javax.swing.plaf.ColorUIResource [UI] ScrollBar.width 16 ScrollBarUI javax.swing.plaf.synth.SynthLookAndFeel @@ -509,40 +509,40 @@ ScrollBarUI javax.swing.plaf.synth.SynthLookAndFeel #---- ScrollPane ---- -ScrollPane.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ScrollPane.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] ScrollPane.fillLowerCorner true ScrollPane.fillUpperCorner true -ScrollPane.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ScrollPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ScrollPane.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ScrollPane.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ScrollPaneUI javax.swing.plaf.synth.SynthLookAndFeel #---- Separator ---- Separator.background #ffffff javax.swing.plaf.ColorUIResource [UI] -Separator.foreground #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Separator.foreground #a6acb3 javax.swing.plaf.ColorUIResource [UI] Separator.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] Separator.insets 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -Separator.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Separator.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] Separator.thickness 2 SeparatorUI javax.swing.plaf.synth.SynthLookAndFeel #---- Slider ---- -Slider.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Slider.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Slider.focus #000000 javax.swing.plaf.ColorUIResource [UI] Slider.focusInsets 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] Slider.font [lazy] Dialog plain 12 javax.swing.plaf.FontUIResource [UI] -Slider.foreground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Slider.foreground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Slider.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] Slider.horizontalSize 200,21 java.awt.Dimension Slider.minimumHorizontalSize 36,21 java.awt.Dimension Slider.minimumVerticalSize 21,36 java.awt.Dimension Slider.onlyLeftMouseButtonDrag false Slider.paintValue true -Slider.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Slider.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] Slider.thumbHeight 14 Slider.thumbWidth 30 Slider.tickColor #000000 java.awt.Color @@ -553,26 +553,26 @@ SliderUI javax.swing.plaf.synth.SynthLookAndFeel #---- Spinner ---- Spinner.arrowButtonSize 16,5 java.awt.Dimension -Spinner.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Spinner.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] Spinner.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] Spinner.disableOnBoundaryValues true Spinner.editorAlignment 10 Spinner.editorBorderPainted false -Spinner.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Spinner.foreground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +Spinner.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Spinner.foreground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] SpinnerUI javax.swing.plaf.synth.SynthLookAndFeel #---- SplitPane ---- -SplitPane.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +SplitPane.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] SplitPane.border [lazy] 1,1,1,1 true javax.swing.plaf.basic.BasicBorders$SplitPaneBorder [UI] SplitPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] SplitPane.dividerSize 7 SplitPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] SplitPane.oneTouchButtonSize 5 SplitPane.oneTouchOffset 2 -SplitPane.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +SplitPane.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] SplitPane.size 7 SplitPane.supportsOneTouchButtons false @@ -595,21 +595,21 @@ Synth.doNotSetTextAA true #---- TabbedPane ---- -TabbedPane.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TabbedPane.contentBorderInsets 2,2,3,3 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.contentOpaque true TabbedPane.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.focus #000000 javax.swing.plaf.ColorUIResource [UI] -TabbedPane.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TabbedPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.focus #5d5d5d javax.swing.plaf.ColorUIResource [UI] +TabbedPane.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TabbedPane.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] TabbedPane.isTabRollover false TabbedPane.labelShift 3 -TabbedPane.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TabbedPane.selectedLabelShift 3 TabbedPane.selectedTabPadInsets 2,2,0,1 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.selectionFollowsFocus true -TabbedPane.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +TabbedPane.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] TabbedPane.tabAreaInsets 3,2,0,2 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.tabInsets 0,4,1,4 javax.swing.plaf.InsetsUIResource [UI] TabbedPane.tabRunOverlay 2 @@ -624,29 +624,29 @@ TabbedPaneUI javax.swing.plaf.synth.SynthLookAndFeel Table.ascendingSortIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] Table.background #ffffff javax.swing.plaf.ColorUIResource [UI] Table.descendingSortIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$DelegatingIcon [UI] -Table.dropLineColor #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Table.dropLineColor #a6acb3 javax.swing.plaf.ColorUIResource [UI] Table.dropLineShortColor #000000 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -Table.focusCellForeground #2e3436 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +Table.focusCellForeground #3d3d3d javax.swing.plaf.ColorUIResource [UI] Table.focusCellHighlightBorder [lazy] 0,0,0,0 true com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder [UI] Table.focusSelectedCellHighlightBorder [lazy] 0,0,0,0 true com.sun.java.swing.plaf.gtk.GTKPainter$ListTableFocusBorder [UI] -Table.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Table.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Table.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Table.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] Table.gridColor #808080 javax.swing.plaf.ColorUIResource [UI] Table.scrollPaneBorder [lazy] 0,0,0,0 false javax.swing.plaf.BorderUIResource$EmptyBorderUIResource [UI] -Table.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +Table.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] Table.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -Table.sortIconColor #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Table.sortIconColor #a6acb3 javax.swing.plaf.ColorUIResource [UI] #---- TableHeader ---- TableHeader.alignSorterArrow true -TableHeader.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TableHeader.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TableHeader.cellBorder [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$BevelBorderUIResource [UI] TableHeader.focusCellBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -TableHeader.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TableHeader.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TableHeader.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TableHeader.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] TableHeaderUI javax.swing.plaf.synth.SynthLookAndFeel @@ -657,38 +657,38 @@ TableUI javax.swing.plaf.synth.SynthLookAndFeel #---- TextArea ---- -TextArea.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TextArea.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TextArea.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] TextArea.caretAspectRatio 0.025 TextArea.caretBlinkRate 1200 TextArea.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -TextArea.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TextArea.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TextArea.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TextArea.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] TextArea.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] TextArea.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -TextArea.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +TextArea.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] TextArea.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] TextAreaUI javax.swing.plaf.synth.SynthLookAndFeel #---- TextField ---- -TextField.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TextField.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TextField.border [lazy] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$FieldBorder [UI] TextField.caretAspectRatio 0.025 TextField.caretBlinkRate 1200 TextField.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] TextField.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -TextField.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TextField.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TextField.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TextField.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] TextField.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -TextField.inactiveBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TextField.inactiveBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TextField.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] -TextField.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +TextField.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] TextField.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -TextField.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +TextField.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] TextField.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] -TextField.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +TextField.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] TextFieldUI javax.swing.plaf.synth.SynthLookAndFeel @@ -699,11 +699,11 @@ TextPane.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.B TextPane.caretAspectRatio 0.025 TextPane.caretBlinkRate 1200 TextPane.caretForeground #000000 javax.swing.plaf.ColorUIResource [UI] -TextPane.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TextPane.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +TextPane.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TextPane.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] TextPane.inactiveForeground #8b8e8f javax.swing.plaf.ColorUIResource [UI] TextPane.margin 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] -TextPane.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +TextPane.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] TextPane.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] TextPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -711,23 +711,23 @@ TextPaneUI javax.swing.plaf.synth.SynthLookAndFeel #---- TitledBorder ---- TitledBorder.border [lazy] 1,1,1,1 true com.sun.java.swing.plaf.gtk.GTKPainter$TitledBorder [UI] -TitledBorder.font Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -TitledBorder.titleColor #000000 javax.swing.plaf.ColorUIResource [UI] +TitledBorder.font Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +TitledBorder.titleColor #5d5d5d javax.swing.plaf.ColorUIResource [UI] #---- ToggleButton ---- -ToggleButton.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToggleButton.border [lazy] javax.swing.plaf.BorderUIResource$CompoundBorderUIResource [UI] 2,2,2,2 false javax.swing.plaf.basic.BasicBorders$ToggleButtonBorder [UI] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] ToggleButton.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -ToggleButton.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ToggleButton.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ToggleButton.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ToggleButton.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ToggleButton.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToggleButton.margin 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] -ToggleButton.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +ToggleButton.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] ToggleButton.textIconGap 4 ToggleButton.textShiftOffset 0 ToggleButtonUI javax.swing.plaf.synth.SynthLookAndFeel @@ -735,20 +735,20 @@ ToggleButtonUI javax.swing.plaf.synth.SynthLookAndFeel #---- ToolBar ---- -ToolBar.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToolBar.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToolBar.border [lazy] 2,2,2,2 true javax.swing.plaf.BorderUIResource$EtchedBorderUIResource [UI] ToolBar.darkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.dockingBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToolBar.dockingBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToolBar.dockingForeground #ff0000 javax.swing.plaf.ColorUIResource [UI] -ToolBar.floatingBackground #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToolBar.floatingBackground #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToolBar.floatingForeground #404040 javax.swing.plaf.ColorUIResource [UI] -ToolBar.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ToolBar.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ToolBar.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ToolBar.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ToolBar.handleIcon [active] 10,10 com.sun.java.swing.plaf.gtk.GTKIconFactory$ToolBarHandleIcon [UI] ToolBar.highlight #ffffff javax.swing.plaf.ColorUIResource [UI] -ToolBar.light #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToolBar.light #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToolBar.separatorSize 10,10 javax.swing.plaf.DimensionUIResource [UI] -ToolBar.shadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +ToolBar.shadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] #---- ToolBarSeparator ---- @@ -763,10 +763,10 @@ ToolBarUI javax.swing.plaf.synth.SynthLookAndFeel #---- ToolTip ---- -ToolTip.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +ToolTip.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] ToolTip.border [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] -ToolTip.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -ToolTip.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +ToolTip.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +ToolTip.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] #---- ToolTipManager ---- @@ -788,12 +788,12 @@ Tree.drawHorizontalLines false Tree.drawVerticalLines false Tree.drawsFocusBorder true Tree.drawsFocusBorderAroundIcon false -Tree.dropLineColor #a4a4a1 javax.swing.plaf.ColorUIResource [UI] +Tree.dropLineColor #a6acb3 javax.swing.plaf.ColorUIResource [UI] Tree.editorBorder [lazy] line: #000000 java.awt.Color 1 false 1,1,1,1 true javax.swing.plaf.BorderUIResource$LineBorderUIResource [UI] Tree.expandedIcon [lazy] 13,13 com.sun.java.swing.plaf.gtk.GTKIconFactory$SynthExpanderIcon [UI] Tree.expanderSize 10 -Tree.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Tree.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Tree.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Tree.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] Tree.hash #808080 javax.swing.plaf.ColorUIResource [UI] Tree.leftChildIndent 2 Tree.lineTypeDashed false @@ -804,20 +804,20 @@ Tree.rightChildIndent 12 Tree.rowHeight -1 Tree.scrollsHorizontallyAndVertically false Tree.scrollsOnExpand false -Tree.selectionBackground #4a90d9 javax.swing.plaf.ColorUIResource [UI] +Tree.selectionBackground #e95420 javax.swing.plaf.ColorUIResource [UI] Tree.selectionBorderColor #000000 javax.swing.plaf.ColorUIResource [UI] Tree.selectionForeground #ffffff javax.swing.plaf.ColorUIResource [UI] Tree.textBackground #ffffff javax.swing.plaf.ColorUIResource [UI] -Tree.textForeground #000000 javax.swing.plaf.ColorUIResource [UI] +Tree.textForeground #5d5d5d javax.swing.plaf.ColorUIResource [UI] Tree.timeFactor 1000 TreeUI javax.swing.plaf.synth.SynthLookAndFeel #---- Viewport ---- -Viewport.background #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -Viewport.font [lazy] Cantarell plain 15 javax.swing.plaf.FontUIResource [UI] -Viewport.foreground #000000 javax.swing.plaf.ColorUIResource [UI] +Viewport.background #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +Viewport.font [lazy] Ubuntu plain 15 javax.swing.plaf.FontUIResource [UI] +Viewport.foreground #5d5d5d javax.swing.plaf.ColorUIResource [UI] ViewportUI javax.swing.plaf.synth.SynthLookAndFeel @@ -825,14 +825,14 @@ ViewportUI javax.swing.plaf.synth.SynthLookAndFeel black #000000 javax.swing.plaf.ColorUIResource [UI] caretColor #000000 javax.swing.plaf.ColorUIResource [UI] -control #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +control #f5f6f7 javax.swing.plaf.ColorUIResource [UI] controlDkShadow #000000 javax.swing.plaf.ColorUIResource [UI] -controlHighlight #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +controlHighlight #f5f6f7 javax.swing.plaf.ColorUIResource [UI] controlLtHighlight #ffffff javax.swing.plaf.ColorUIResource [UI] -controlShadow #a4a4a1 javax.swing.plaf.ColorUIResource [UI] -controlText #000000 javax.swing.plaf.ColorUIResource [UI] -dark #a4a4a1 javax.swing.plaf.ColorUIResource [UI] -desktop #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +controlShadow #a6acb3 javax.swing.plaf.ColorUIResource [UI] +controlText #5d5d5d javax.swing.plaf.ColorUIResource [UI] +dark #a6acb3 javax.swing.plaf.ColorUIResource [UI] +desktop #f5f6f7 javax.swing.plaf.ColorUIResource [UI] #---- html ---- @@ -843,18 +843,90 @@ html.pendingImage [lazy] 38,38 sun.swing.ImageIconUIResource [UI #---- ---- -info #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -infoText #000000 javax.swing.plaf.ColorUIResource [UI] +info #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +infoText #5d5d5d javax.swing.plaf.ColorUIResource [UI] light #ffffff javax.swing.plaf.ColorUIResource [UI] -menu #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -menuText #2e3436 javax.swing.plaf.ColorUIResource [UI] -mid #d2d2d0 javax.swing.plaf.ColorUIResource [UI] -scrollbar #e8e8e7 javax.swing.plaf.ColorUIResource [UI] +menu #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +menuText #3d3d3d javax.swing.plaf.ColorUIResource [UI] +mid #d3d6d9 javax.swing.plaf.ColorUIResource [UI] +scrollbar #f5f6f7 javax.swing.plaf.ColorUIResource [UI] text #ffffff javax.swing.plaf.ColorUIResource [UI] -textHighlight #4a90d9 javax.swing.plaf.ColorUIResource [UI] +textHighlight #e95420 javax.swing.plaf.ColorUIResource [UI] textHighlightText #ffffff javax.swing.plaf.ColorUIResource [UI] textInactiveText #8b8e8f javax.swing.plaf.ColorUIResource [UI] -textText #000000 javax.swing.plaf.ColorUIResource [UI] +textText #5d5d5d javax.swing.plaf.ColorUIResource [UI] white #ffffff javax.swing.plaf.ColorUIResource [UI] -window #e8e8e7 javax.swing.plaf.ColorUIResource [UI] -windowText #000000 javax.swing.plaf.ColorUIResource [UI] +window #f5f6f7 javax.swing.plaf.ColorUIResource [UI] +windowText #5d5d5d javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- disabledForeground -- +ComboBox.disabledForeground #8b8e8f #f5f6f7 3.0 !!!! +Label.disabledForeground #ffffff #f5f6f7 1.1 !!!!!! + +#-- focusCellForeground -- +Table.focusCellForeground #3d3d3d #f5f6f7 10.0 + +#-- foreground -- +Button.foreground #5d5d5d #f5f6f7 6.1 ! +CheckBox.foreground #5d5d5d #f5f6f7 6.1 ! +CheckBoxMenuItem.foreground #3d3d3d #f5f6f7 10.0 +ColorChooser.foreground #5d5d5d #f5f6f7 6.1 ! +ComboBox.foreground #5d5d5d #f5f6f7 6.1 ! +EditorPane.foreground #5d5d5d #ffffff 6.6 ! +FormattedTextField.foreground #5d5d5d #f5f6f7 6.1 ! +Label.foreground #5d5d5d #f5f6f7 6.1 ! +List.foreground #5d5d5d #ffffff 6.6 ! +Menu.foreground #3d3d3d #f5f6f7 10.0 +MenuBar.foreground #3d3d3d #f5f6f7 10.0 +MenuItem.foreground #3d3d3d #f5f6f7 10.0 +OptionPane.foreground #5d5d5d #f5f6f7 6.1 ! +Panel.foreground #5d5d5d #f5f6f7 6.1 ! +PasswordField.foreground #5d5d5d #f5f6f7 6.1 ! +PopupMenu.foreground #3d3d3d #f5f6f7 10.0 +RadioButton.foreground #5d5d5d #f5f6f7 6.1 ! +RadioButtonMenuItem.foreground #3d3d3d #f5f6f7 10.0 +Spinner.foreground #f5f6f7 #f5f6f7 1.0 !!!!!! +TabbedPane.foreground #5d5d5d #f5f6f7 6.1 ! +Table.foreground #5d5d5d #ffffff 6.6 ! +TableHeader.foreground #5d5d5d #f5f6f7 6.1 ! +TextArea.foreground #5d5d5d #f5f6f7 6.1 ! +TextField.foreground #5d5d5d #f5f6f7 6.1 ! +TextPane.foreground #5d5d5d #ffffff 6.6 ! +ToggleButton.foreground #5d5d5d #f5f6f7 6.1 ! +ToolTip.foreground #5d5d5d #f5f6f7 6.1 ! +Tree.foreground #5d5d5d #ffffff 6.6 ! + +#-- selectionBackground -- +ProgressBar.selectionBackground #e95420 #f5f6f7 3.4 !!!! + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #e95420 3.6 !!!! +ComboBox.selectionForeground #ffffff #e95420 3.6 !!!! +EditorPane.selectionForeground #ffffff #e95420 3.6 !!!! +FormattedTextField.selectionForeground #ffffff #e95420 3.6 !!!! +List.selectionForeground #ffffff #e95420 3.6 !!!! +Menu.selectionForeground #ffffff #e95420 3.6 !!!! +MenuItem.selectionForeground #ffffff #e95420 3.6 !!!! +PasswordField.selectionForeground #ffffff #e95420 3.6 !!!! +ProgressBar.selectionForeground #f5f6f7 #e95420 3.4 !!!! +RadioButtonMenuItem.selectionForeground #ffffff #e95420 3.6 !!!! +Table.selectionForeground #ffffff #e95420 3.6 !!!! +TextArea.selectionForeground #ffffff #e95420 3.6 !!!! +TextField.selectionForeground #ffffff #e95420 3.6 !!!! +TextPane.selectionForeground #ffffff #e95420 3.6 !!!! +Tree.selectionForeground #ffffff #e95420 3.6 !!!! + +#-- textForeground -- +Tree.textForeground #5d5d5d #ffffff 6.6 ! + +#-- non-text -- +ProgressBar.background #f5f6f7 #f5f6f7 1.0 !!!!!! +ProgressBar.foreground #e95420 #f5f6f7 3.4 !!!! +Separator.foreground #a6acb3 #ffffff 2.3 !!!!! diff --git a/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_ActionMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_ActionMap_1.8.0_202.txt new file mode 100644 index 00000000..8e86846a --- /dev/null +++ b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_ActionMap_1.8.0_202.txt @@ -0,0 +1,916 @@ +Class com.sun.java.swing.plaf.gtk.GTKLookAndFeel +ID GTK +Name GTK look and feel +Java 1.8.0_202 +OS Linux + + + +#---- javax.swing.JButton ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + pressed javax.swing.plaf.basic.BasicButtonListener$Actions + released javax.swing.plaf.basic.BasicButtonListener$Actions + + +#---- javax.swing.JCheckBox ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + pressed javax.swing.plaf.basic.BasicButtonListener$Actions + released javax.swing.plaf.basic.BasicButtonListener$Actions + + +#---- javax.swing.JCheckBoxMenuItem ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + doClick javax.swing.plaf.basic.BasicMenuItemUI$Actions + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JColorChooser ---- + + + + +#---- javax.swing.JComboBox ---- + +12 javax.swing.plaf.basic.LazyActionMap [UI] + endPassThrough javax.swing.plaf.basic.BasicComboBoxUI$Actions + enterPressed javax.swing.plaf.basic.BasicComboBoxUI$Actions + hidePopup javax.swing.plaf.basic.BasicComboBoxUI$Actions + homePassThrough javax.swing.plaf.basic.BasicComboBoxUI$Actions + pageDownPassThrough javax.swing.plaf.basic.BasicComboBoxUI$Actions + pageUpPassThrough javax.swing.plaf.basic.BasicComboBoxUI$Actions + selectNext javax.swing.plaf.basic.BasicComboBoxUI$Actions + selectNext2 javax.swing.plaf.basic.BasicComboBoxUI$Actions + selectPrevious javax.swing.plaf.basic.BasicComboBoxUI$Actions + selectPrevious2 javax.swing.plaf.basic.BasicComboBoxUI$Actions + spacePopup javax.swing.plaf.basic.BasicComboBoxUI$Actions + togglePopup javax.swing.plaf.basic.BasicComboBoxUI$Actions + + +#---- javax.swing.JDesktopPane ---- + +19 javax.swing.plaf.basic.LazyActionMap [UI] + close javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + down javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + escape javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + left javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + maximize javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + minimize javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + move javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + navigateNext javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + navigatePrevious javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + resize javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + restore javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + right javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + selectNextFrame javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + selectPreviousFrame javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + shrinkDown javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + shrinkLeft javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + shrinkRight javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + shrinkUp javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + up javax.swing.plaf.basic.BasicDesktopPaneUI$Actions + + +#---- javax.swing.JEditorPane ---- + +59 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + insert-break javax.swing.text.DefaultEditorKit$InsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JFileChooser ---- + +4 javax.swing.plaf.ActionMapUIResource [UI] + Go Up javax.swing.plaf.basic.BasicFileChooserUI$ChangeToParentDirectoryAction + approveSelection com.sun.java.swing.plaf.gtk.GTKFileChooserUI$GTKApproveSelectionAction + cancelSelection javax.swing.plaf.basic.BasicFileChooserUI$CancelSelectionAction (null) + fileNameCompletion sun.swing.plaf.synth.SynthFileChooserUI$FileNameCompletionAction + + +#---- javax.swing.JFormattedTextField ---- + +2 javax.swing.plaf.ActionMapUIResource [UI] + insert-break javax.swing.plaf.basic.BasicTextUI$TextActionWrapper + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + + 60 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + insert-break javax.swing.text.DefaultEditorKit$InsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + notify-field-accept javax.swing.JFormattedTextField$CommitAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + reset-field-edit javax.swing.JFormattedTextField$CancelAction + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JInternalFrame ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + showSystemMenu javax.swing.plaf.basic.BasicInternalFrameUI$1 + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JLabel ---- + + + + +#---- javax.swing.JList ---- + +33 javax.swing.plaf.basic.LazyActionMap [UI] + addToSelection javax.swing.plaf.basic.BasicListUI$Actions + clearSelection javax.swing.plaf.basic.BasicListUI$Actions + copy javax.swing.TransferHandler$TransferAction + cut javax.swing.TransferHandler$TransferAction + extendTo javax.swing.plaf.basic.BasicListUI$Actions + moveSelectionTo javax.swing.plaf.basic.BasicListUI$Actions + paste javax.swing.TransferHandler$TransferAction + scrollDown javax.swing.plaf.basic.BasicListUI$Actions + scrollDownChangeLead javax.swing.plaf.basic.BasicListUI$Actions + scrollDownExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + scrollUp javax.swing.plaf.basic.BasicListUI$Actions + scrollUpChangeLead javax.swing.plaf.basic.BasicListUI$Actions + scrollUpExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectAll javax.swing.plaf.basic.BasicListUI$Actions + selectFirstRow javax.swing.plaf.basic.BasicListUI$Actions + selectFirstRowChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectFirstRowExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectLastRow javax.swing.plaf.basic.BasicListUI$Actions + selectLastRowChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectLastRowExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectNextColumn javax.swing.plaf.basic.BasicListUI$Actions + selectNextColumnChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectNextColumnExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectNextRow javax.swing.plaf.basic.BasicListUI$Actions + selectNextRowChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectNextRowExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousColumn javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousColumnChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousColumnExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousRow javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousRowChangeLead javax.swing.plaf.basic.BasicListUI$Actions + selectPreviousRowExtendSelection javax.swing.plaf.basic.BasicListUI$Actions + toggleAndAnchor javax.swing.plaf.basic.BasicListUI$Actions + + +#---- javax.swing.JMenu ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + doClick javax.swing.plaf.basic.BasicMenuItemUI$Actions + selectMenu javax.swing.plaf.basic.BasicMenuUI$Actions + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JMenuBar ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + takeFocus javax.swing.plaf.basic.BasicMenuBarUI$Actions + + +#---- javax.swing.JMenuItem ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + doClick javax.swing.plaf.basic.BasicMenuItemUI$Actions + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JOptionPane ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + close javax.swing.plaf.basic.BasicOptionPaneUI$Actions + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JPanel ---- + + + + +#---- javax.swing.JPasswordField ---- + +3 javax.swing.plaf.ActionMapUIResource [UI] + insert-break javax.swing.plaf.basic.BasicTextUI$TextActionWrapper + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + select-word javax.swing.text.DefaultEditorKit$SelectLineAction (select-line) + + 59 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + insert-break javax.swing.text.DefaultEditorKit$InsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + notify-field-accept javax.swing.JTextField$NotifyAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JPopupMenu ---- + + + + +#---- javax.swing.JProgressBar ---- + + + + +#---- javax.swing.JRadioButton ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + pressed javax.swing.plaf.basic.BasicButtonListener$Actions + released javax.swing.plaf.basic.BasicButtonListener$Actions + + +#---- javax.swing.JRadioButtonMenuItem ---- + +1 javax.swing.plaf.basic.LazyActionMap [UI] + doClick javax.swing.plaf.basic.BasicMenuItemUI$Actions + + 13 javax.swing.plaf.ActionMapUIResource [UI] + CheckBoxMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.closeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.maximizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.minimizeSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreDownSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + InternalFrame.restoreUpSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + MenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.errorSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.informationSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.questionSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + OptionPane.warningSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + PopupMenu.popupSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + RadioButtonMenuItem.commandSound javax.swing.plaf.basic.BasicLookAndFeel$AudioAction + + +#---- javax.swing.JRootPane ---- + +3 javax.swing.plaf.basic.LazyActionMap [UI] + postPopup javax.swing.plaf.basic.BasicRootPaneUI$Actions + press javax.swing.plaf.basic.BasicRootPaneUI$Actions + release javax.swing.plaf.basic.BasicRootPaneUI$Actions + + +#---- javax.swing.JScrollBar ---- + +6 javax.swing.plaf.basic.LazyActionMap [UI] + maxScroll javax.swing.plaf.basic.BasicScrollBarUI$Actions + minScroll javax.swing.plaf.basic.BasicScrollBarUI$Actions + negativeBlockIncrement javax.swing.plaf.basic.BasicScrollBarUI$Actions + negativeUnitIncrement javax.swing.plaf.basic.BasicScrollBarUI$Actions + positiveBlockIncrement javax.swing.plaf.basic.BasicScrollBarUI$Actions + positiveUnitIncrement javax.swing.plaf.basic.BasicScrollBarUI$Actions + + +#---- javax.swing.JScrollPane ---- + +10 javax.swing.plaf.basic.LazyActionMap [UI] + scrollDown javax.swing.plaf.basic.BasicScrollPaneUI$Actions + scrollEnd javax.swing.plaf.basic.BasicScrollPaneUI$Actions + scrollHome javax.swing.plaf.basic.BasicScrollPaneUI$Actions + scrollLeft javax.swing.plaf.basic.BasicScrollPaneUI$Actions + scrollRight javax.swing.plaf.basic.BasicScrollPaneUI$Actions + scrollUp javax.swing.plaf.basic.BasicScrollPaneUI$Actions + unitScrollDown javax.swing.plaf.basic.BasicScrollPaneUI$Actions + unitScrollLeft javax.swing.plaf.basic.BasicScrollPaneUI$Actions + unitScrollRight javax.swing.plaf.basic.BasicScrollPaneUI$Actions + unitScrollUp javax.swing.plaf.basic.BasicScrollPaneUI$Actions + + +#---- javax.swing.JSeparator ---- + + + + +#---- javax.swing.JSlider ---- + +6 javax.swing.plaf.basic.LazyActionMap [UI] + maxScroll javax.swing.plaf.basic.BasicSliderUI$Actions + minScroll javax.swing.plaf.basic.BasicSliderUI$Actions + negativeBlockIncrement javax.swing.plaf.basic.BasicSliderUI$Actions + negativeUnitIncrement javax.swing.plaf.basic.BasicSliderUI$Actions + positiveBlockIncrement javax.swing.plaf.basic.BasicSliderUI$Actions + positiveUnitIncrement javax.swing.plaf.basic.BasicSliderUI$Actions + + +#---- javax.swing.JSpinner ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + decrement javax.swing.plaf.basic.BasicSpinnerUI$ArrowButtonHandler + increment javax.swing.plaf.basic.BasicSpinnerUI$ArrowButtonHandler + + +#---- javax.swing.JSplitPane ---- + +8 javax.swing.plaf.basic.LazyActionMap [UI] + focusOutBackward javax.swing.plaf.basic.BasicSplitPaneUI$Actions + focusOutForward javax.swing.plaf.basic.BasicSplitPaneUI$Actions + negativeIncrement javax.swing.plaf.basic.BasicSplitPaneUI$Actions + positiveIncrement javax.swing.plaf.basic.BasicSplitPaneUI$Actions + selectMax javax.swing.plaf.basic.BasicSplitPaneUI$Actions + selectMin javax.swing.plaf.basic.BasicSplitPaneUI$Actions + startResize javax.swing.plaf.basic.BasicSplitPaneUI$Actions + toggleFocus javax.swing.plaf.basic.BasicSplitPaneUI$Actions + + +#---- javax.swing.JTabbedPane ---- + +14 javax.swing.plaf.basic.LazyActionMap [UI] + navigateDown javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigateLeft javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigateNext javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigatePageDown javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigatePageUp javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigatePrevious javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigateRight javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + navigateUp javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + requestFocus javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + requestFocusForVisibleComponent javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + scrollTabsBackwardAction javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + scrollTabsForwardAction javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + selectTabWithFocus javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + setSelectedIndex javax.swing.plaf.basic.BasicTabbedPaneUI$Actions + + +#---- javax.swing.JTable ---- + +44 javax.swing.plaf.basic.LazyActionMap [UI] + addToSelection javax.swing.plaf.basic.BasicTableUI$Actions + cancel javax.swing.plaf.basic.BasicTableUI$Actions + clearSelection javax.swing.plaf.basic.BasicTableUI$Actions + copy javax.swing.TransferHandler$TransferAction + cut javax.swing.TransferHandler$TransferAction + extendTo javax.swing.plaf.basic.BasicTableUI$Actions + focusHeader javax.swing.plaf.basic.BasicTableUI$Actions + moveSelectionTo javax.swing.plaf.basic.BasicTableUI$Actions + paste javax.swing.TransferHandler$TransferAction + scrollDownChangeSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollDownExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollLeftChangeSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollLeftExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollRightChangeSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollRightExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollUpChangeSelection javax.swing.plaf.basic.BasicTableUI$Actions + scrollUpExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectAll javax.swing.plaf.basic.BasicTableUI$Actions + selectFirstColumn javax.swing.plaf.basic.BasicTableUI$Actions + selectFirstColumnExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectFirstRow javax.swing.plaf.basic.BasicTableUI$Actions + selectFirstRowExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectLastColumn javax.swing.plaf.basic.BasicTableUI$Actions + selectLastColumnExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectLastRow javax.swing.plaf.basic.BasicTableUI$Actions + selectLastRowExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectNextColumn javax.swing.plaf.basic.BasicTableUI$Actions + selectNextColumnCell javax.swing.plaf.basic.BasicTableUI$Actions + selectNextColumnChangeLead javax.swing.plaf.basic.BasicTableUI$Actions + selectNextColumnExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectNextRow javax.swing.plaf.basic.BasicTableUI$Actions + selectNextRowCell javax.swing.plaf.basic.BasicTableUI$Actions + selectNextRowChangeLead javax.swing.plaf.basic.BasicTableUI$Actions + selectNextRowExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousColumn javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousColumnCell javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousColumnChangeLead javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousColumnExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousRow javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousRowCell javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousRowChangeLead javax.swing.plaf.basic.BasicTableUI$Actions + selectPreviousRowExtendSelection javax.swing.plaf.basic.BasicTableUI$Actions + startEditing javax.swing.plaf.basic.BasicTableUI$Actions + toggleAndAnchor javax.swing.plaf.basic.BasicTableUI$Actions + + +#---- javax.swing.table.JTableHeader ---- + +8 javax.swing.plaf.basic.LazyActionMap [UI] + focusTable javax.swing.plaf.basic.BasicTableHeaderUI$Actions + moveColumnLeft javax.swing.plaf.basic.BasicTableHeaderUI$Actions + moveColumnRight javax.swing.plaf.basic.BasicTableHeaderUI$Actions + resizeLeft javax.swing.plaf.basic.BasicTableHeaderUI$Actions + resizeRight javax.swing.plaf.basic.BasicTableHeaderUI$Actions + selectColumnToLeft javax.swing.plaf.basic.BasicTableHeaderUI$Actions + selectColumnToRight javax.swing.plaf.basic.BasicTableHeaderUI$Actions + toggleSortOrder javax.swing.plaf.basic.BasicTableHeaderUI$Actions + + +#---- javax.swing.JTextArea ---- + +2 javax.swing.plaf.ActionMapUIResource [UI] + insert-break javax.swing.plaf.basic.BasicTextUI$TextActionWrapper + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + + 58 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + insert-break javax.swing.text.DefaultEditorKit$InsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JTextField ---- + +2 javax.swing.plaf.ActionMapUIResource [UI] + insert-break javax.swing.plaf.basic.BasicTextUI$TextActionWrapper + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + + 59 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + insert-break javax.swing.text.DefaultEditorKit$InsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + notify-field-accept javax.swing.JTextField$NotifyAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JTextPane ---- + +77 javax.swing.plaf.ActionMapUIResource [UI] + beep javax.swing.text.DefaultEditorKit$BeepAction + caret-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-begin javax.swing.text.DefaultEditorKit$BeginAction + caret-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + caret-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + caret-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + caret-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-end javax.swing.text.DefaultEditorKit$EndAction + caret-end-line javax.swing.text.DefaultEditorKit$EndLineAction + caret-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + caret-end-word javax.swing.text.DefaultEditorKit$EndWordAction + caret-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + caret-next-word javax.swing.text.DefaultEditorKit$NextWordAction + caret-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + caret-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + center-justify javax.swing.text.StyledEditorKit$AlignmentAction + copy javax.swing.TransferHandler$TransferAction + copy-to-clipboard javax.swing.text.DefaultEditorKit$CopyAction + cut javax.swing.TransferHandler$TransferAction + cut-to-clipboard javax.swing.text.DefaultEditorKit$CutAction + default-typed javax.swing.text.DefaultEditorKit$DefaultKeyTypedAction + delete-next javax.swing.text.DefaultEditorKit$DeleteNextCharAction + delete-next-word javax.swing.text.DefaultEditorKit$DeleteWordAction + delete-previous javax.swing.text.DefaultEditorKit$DeletePrevCharAction + delete-previous-word javax.swing.text.DefaultEditorKit$DeleteWordAction + dump-model javax.swing.text.DefaultEditorKit$DumpModelAction + font-bold javax.swing.text.StyledEditorKit$BoldAction + font-family-Monospaced javax.swing.text.StyledEditorKit$FontFamilyAction + font-family-SansSerif javax.swing.text.StyledEditorKit$FontFamilyAction + font-family-Serif javax.swing.text.StyledEditorKit$FontFamilyAction + font-italic javax.swing.text.StyledEditorKit$ItalicAction + font-size-10 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-12 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-14 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-16 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-18 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-24 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-36 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-48 javax.swing.text.StyledEditorKit$FontSizeAction + font-size-8 javax.swing.text.StyledEditorKit$FontSizeAction + font-underline javax.swing.text.StyledEditorKit$UnderlineAction + insert-break javax.swing.text.StyledEditorKit$StyledInsertBreakAction + insert-content javax.swing.text.DefaultEditorKit$InsertContentAction + insert-tab javax.swing.text.DefaultEditorKit$InsertTabAction + left-justify javax.swing.text.StyledEditorKit$AlignmentAction + page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + paste javax.swing.TransferHandler$TransferAction + paste-from-clipboard javax.swing.text.DefaultEditorKit$PasteAction + requestFocus javax.swing.plaf.basic.BasicTextUI$FocusAction (null) + right-justify javax.swing.text.StyledEditorKit$AlignmentAction + select-all javax.swing.text.DefaultEditorKit$SelectAllAction + select-line javax.swing.text.DefaultEditorKit$SelectLineAction + select-paragraph javax.swing.text.DefaultEditorKit$SelectParagraphAction + select-word javax.swing.text.DefaultEditorKit$SelectWordAction + selection-backward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-begin javax.swing.text.DefaultEditorKit$BeginAction + selection-begin-line javax.swing.text.DefaultEditorKit$BeginLineAction + selection-begin-paragraph javax.swing.text.DefaultEditorKit$BeginParagraphAction + selection-begin-word javax.swing.text.DefaultEditorKit$BeginWordAction + selection-down javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-end javax.swing.text.DefaultEditorKit$EndAction + selection-end-line javax.swing.text.DefaultEditorKit$EndLineAction + selection-end-paragraph javax.swing.text.DefaultEditorKit$EndParagraphAction + selection-end-word javax.swing.text.DefaultEditorKit$EndWordAction + selection-forward javax.swing.text.DefaultEditorKit$NextVisualPositionAction + selection-next-word javax.swing.text.DefaultEditorKit$NextWordAction + selection-page-down javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-page-left javax.swing.text.DefaultEditorKit$PageAction + selection-page-right javax.swing.text.DefaultEditorKit$PageAction + selection-page-up javax.swing.text.DefaultEditorKit$VerticalPageAction + selection-previous-word javax.swing.text.DefaultEditorKit$PreviousWordAction + selection-up javax.swing.text.DefaultEditorKit$NextVisualPositionAction + set-read-only javax.swing.text.DefaultEditorKit$ReadOnlyAction + set-writable javax.swing.text.DefaultEditorKit$WritableAction + toggle-componentOrientation javax.swing.text.DefaultEditorKit$ToggleComponentOrientationAction + unselect javax.swing.text.DefaultEditorKit$UnselectAction + + +#---- javax.swing.JToggleButton ---- + +2 javax.swing.plaf.basic.LazyActionMap [UI] + pressed javax.swing.plaf.basic.BasicButtonListener$Actions + released javax.swing.plaf.basic.BasicButtonListener$Actions + + +#---- javax.swing.JToolBar ---- + +4 javax.swing.plaf.basic.LazyActionMap [UI] + navigateDown javax.swing.plaf.basic.BasicToolBarUI$Actions + navigateLeft javax.swing.plaf.basic.BasicToolBarUI$Actions + navigateRight javax.swing.plaf.basic.BasicToolBarUI$Actions + navigateUp javax.swing.plaf.basic.BasicToolBarUI$Actions + + +#---- javax.swing.JToolTip ---- + + + + +#---- javax.swing.JTree ---- + +43 javax.swing.plaf.basic.LazyActionMap [UI] + addToSelection javax.swing.plaf.basic.BasicTreeUI$Actions + cancel javax.swing.plaf.basic.BasicTreeUI$Actions + clearSelection javax.swing.plaf.basic.BasicTreeUI$Actions + collapse javax.swing.plaf.basic.BasicTreeUI$Actions + copy javax.swing.TransferHandler$TransferAction + cut javax.swing.TransferHandler$TransferAction + expand javax.swing.plaf.basic.BasicTreeUI$Actions + extendTo javax.swing.plaf.basic.BasicTreeUI$Actions + moveSelectionTo javax.swing.plaf.basic.BasicTreeUI$Actions + moveSelectionToParent javax.swing.plaf.basic.BasicTreeUI$Actions + paste javax.swing.TransferHandler$TransferAction + scrollDownChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + scrollDownChangeSelection javax.swing.plaf.basic.BasicTreeUI$Actions + scrollDownExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + scrollLeft javax.swing.plaf.basic.BasicTreeUI$Actions + scrollLeftChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + scrollLeftExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + scrollRight javax.swing.plaf.basic.BasicTreeUI$Actions + scrollRightChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + scrollRightExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + scrollUpChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + scrollUpChangeSelection javax.swing.plaf.basic.BasicTreeUI$Actions + scrollUpExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + selectAll javax.swing.plaf.basic.BasicTreeUI$Actions + selectChild javax.swing.plaf.basic.BasicTreeUI$Actions + selectChildChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectFirst javax.swing.plaf.basic.BasicTreeUI$Actions + selectFirstChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectFirstExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + selectLast javax.swing.plaf.basic.BasicTreeUI$Actions + selectLastChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectLastExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + selectNext javax.swing.plaf.basic.BasicTreeUI$Actions + selectNextChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectNextExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + selectParent javax.swing.plaf.basic.BasicTreeUI$Actions + selectParentChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectPrevious javax.swing.plaf.basic.BasicTreeUI$Actions + selectPreviousChangeLead javax.swing.plaf.basic.BasicTreeUI$Actions + selectPreviousExtendSelection javax.swing.plaf.basic.BasicTreeUI$Actions + startEditing javax.swing.plaf.basic.BasicTreeUI$Actions + toggle javax.swing.plaf.basic.BasicTreeUI$Actions + toggleAndAnchor javax.swing.plaf.basic.BasicTreeUI$Actions + + +#---- javax.swing.JViewport ---- + diff --git a/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_InputMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_InputMap_1.8.0_202.txt index 73a2957a..8644ea92 100644 --- a/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_InputMap_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/GTKLookAndFeel_InputMap_1.8.0_202.txt @@ -199,23 +199,6 @@ FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -281,6 +264,23 @@ List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift SPACE extendTo shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PasswordField ---- @@ -327,15 +327,6 @@ PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- -PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; - [0] LEFT - [1] selectChild - [2] KP_LEFT - [3] selectChild - [4] RIGHT - [5] selectParent - [6] KP_RIGHT - [7] selectParent PopupMenu.selectedWindowInputMapBindings length=22 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -359,6 +350,15 @@ PopupMenu.selectedWindowInputMapBindings length=22 [Ljava.lang.Object; [19] return [20] SPACE [21] return +PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; + [0] LEFT + [1] selectChild + [2] KP_LEFT + [3] selectChild + [4] RIGHT + [5] selectParent + [6] KP_RIGHT + [7] selectParent #---- RadioButton ---- @@ -377,11 +377,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN positiveUnitIncrement END maxScroll @@ -395,13 +390,15 @@ ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeft - ctrl PAGE_UP scrollRight ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl END scrollEnd ctrl HOME scrollHome @@ -417,15 +414,13 @@ ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeft + ctrl PAGE_UP scrollRight #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN negativeUnitIncrement END maxScroll @@ -439,6 +434,11 @@ Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -494,25 +494,6 @@ TabbedPane.focusInputMap [lazy] 11 javax.swing.plaf.InputMapUIResource #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 18 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnChangeLead - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnChangeLead Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -585,6 +566,25 @@ Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource shift SPACE extendTo shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 18 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnChangeLead + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnChangeLead #---- TableHeader ---- @@ -806,11 +806,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent Tree.focusInputMap [lazy] 60 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -872,3 +867,8 @@ Tree.focusInputMap [lazy] 60 javax.swing.plaf.InputMapUIResource shift UP selectPreviousExtendSelection typed + expand typed - collapse +Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent diff --git a/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_1.8.0_202.txt index daa84891..dab69c48 100644 --- a/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_1.8.0_202.txt @@ -988,3 +988,90 @@ textText #333333 sun.swing.PrintColorUIResource [UI] window #ffffff javax.swing.plaf.ColorUIResource [UI] windowBorder #eeeeee javax.swing.plaf.ColorUIResource [UI] windowText #333333 sun.swing.PrintColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #333333 #b8cfe5 7.9 + +#-- disabledForeground -- +ComboBox.disabledForeground #b8cfe5 #eeeeee 1.4 !!!!!! +Label.disabledForeground #999999 #eeeeee 2.5 !!!!! + +#-- disabledText -- +CheckBox.disabledText #999999 #eeeeee 2.5 !!!!! +RadioButton.disabledText #999999 #eeeeee 2.5 !!!!! + +#-- focusCellForeground -- +Table.focusCellForeground #333333 #ffffff 12.6 + +#-- foreground -- +Button.foreground #333333 #eeeeee 10.9 +CheckBox.foreground #333333 #eeeeee 10.9 +CheckBoxMenuItem.foreground #333333 #eeeeee 10.9 +ColorChooser.foreground #333333 #eeeeee 10.9 +ComboBox.foreground #333333 #eeeeee 10.9 +DesktopIcon.foreground #333333 #eeeeee 10.9 +EditorPane.foreground #333333 #ffffff 12.6 +FormattedTextField.foreground #333333 #ffffff 12.6 +Label.foreground #333333 #eeeeee 10.9 +List.foreground #333333 #ffffff 12.6 +Menu.foreground #333333 #eeeeee 10.9 +MenuBar.foreground #333333 #eeeeee 10.9 +MenuItem.foreground #333333 #eeeeee 10.9 +OptionPane.foreground #333333 #eeeeee 10.9 +OptionPane.errorDialog.titlePane.foreground #330000 #ff9999 9.0 +OptionPane.questionDialog.titlePane.foreground #003300 #99cc99 7.8 +OptionPane.warningDialog.titlePane.foreground #663300 #ffcc99 7.0 +Panel.foreground #333333 #eeeeee 10.9 +PasswordField.foreground #333333 #ffffff 12.6 +PopupMenu.foreground #333333 #eeeeee 10.9 +RadioButton.foreground #333333 #eeeeee 10.9 +RadioButtonMenuItem.foreground #333333 #eeeeee 10.9 +Spinner.foreground #eeeeee #eeeeee 1.0 !!!!!! +TabbedPane.foreground #333333 #b8cfe5 7.9 +Table.foreground #333333 #ffffff 12.6 +TableHeader.foreground #333333 #eeeeee 10.9 +TextArea.foreground #333333 #ffffff 12.6 +TextField.foreground #333333 #ffffff 12.6 +TextPane.foreground #333333 #ffffff 12.6 +ToggleButton.foreground #333333 #eeeeee 10.9 +ToolTip.foreground #333333 #b8cfe5 7.9 +Tree.foreground #333333 #ffffff 12.6 + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #333333 #eeeeee 10.9 + +#-- selectionBackground -- +ProgressBar.selectionBackground #6382bf #eeeeee 3.3 !!!! + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #333333 #a3b8cc 6.2 ! +ComboBox.selectionForeground #333333 #a3b8cc 6.2 ! +EditorPane.selectionForeground #333333 #b8cfe5 7.9 +FormattedTextField.selectionForeground #333333 #b8cfe5 7.9 +List.selectionForeground #333333 #b8cfe5 7.9 +Menu.selectionForeground #333333 #a3b8cc 6.2 ! +MenuItem.selectionForeground #333333 #a3b8cc 6.2 ! +PasswordField.selectionForeground #333333 #b8cfe5 7.9 +ProgressBar.selectionForeground #eeeeee #a3b8cc 1.8 !!!!!! +RadioButtonMenuItem.selectionForeground #333333 #a3b8cc 6.2 ! +Table.selectionForeground #333333 #b8cfe5 7.9 +TextArea.selectionForeground #333333 #b8cfe5 7.9 +TextField.selectionForeground #333333 #b8cfe5 7.9 +TextPane.selectionForeground #333333 #b8cfe5 7.9 +Tree.selectionForeground #333333 #b8cfe5 7.9 + +#-- textForeground -- +Tree.textForeground #333333 #ffffff 12.6 + +#-- non-text -- +ProgressBar.background #eeeeee #eeeeee 1.0 !!!!!! +ProgressBar.foreground #a3b8cc #eeeeee 1.8 !!!!!! +Separator.foreground #6382bf #ffffff 3.8 !!!! +TabbedPane.contentAreaColor #c8ddf2 #eeeeee 1.2 !!!!!! diff --git a/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_InputMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_InputMap_1.8.0_202.txt index c2093202..4810eb80 100644 --- a/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_InputMap_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/MetalLookAndFeel_InputMap_1.8.0_202.txt @@ -199,23 +199,6 @@ FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -281,6 +264,23 @@ List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift SPACE extendTo shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PasswordField ---- @@ -327,15 +327,6 @@ PasswordField.focusInputMap [lazy] 37 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- -PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; - [0] LEFT - [1] selectChild - [2] KP_LEFT - [3] selectChild - [4] RIGHT - [5] selectParent - [6] KP_RIGHT - [7] selectParent PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -361,6 +352,15 @@ PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [21] return [22] SPACE [23] return +PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; + [0] LEFT + [1] selectChild + [2] KP_LEFT + [3] selectChild + [4] RIGHT + [5] selectParent + [6] KP_RIGHT + [7] selectParent #---- RadioButton ---- @@ -379,11 +379,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN positiveUnitIncrement END maxScroll @@ -397,13 +392,15 @@ ScrollBar.ancestorInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeft - ctrl PAGE_UP scrollRight ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl END scrollEnd ctrl HOME scrollHome @@ -419,15 +416,13 @@ ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeft + ctrl PAGE_UP scrollRight #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl PAGE_DOWN negativeBlockIncrement ctrl PAGE_UP positiveBlockIncrement @@ -443,6 +438,11 @@ Slider.focusInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -495,27 +495,6 @@ TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -588,6 +567,27 @@ Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource shift SPACE extendTo shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- TableHeader ---- @@ -809,11 +809,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -874,3 +869,8 @@ Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource shift PAGE_UP scrollUpExtendSelection shift SPACE extendTo shift UP selectPreviousExtendSelection +Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent diff --git a/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_1.8.0_202.txt index 5baab554..56da24ee 100644 --- a/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_1.8.0_202.txt @@ -43,7 +43,7 @@ ArrowButton.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ArrowButton.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ArrowButton.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ArrowButton.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ArrowButton.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ArrowButton.font [active] $defaultFont [UI] ArrowButton.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ArrowButton.size 16 ArrowButtonUI javax.swing.plaf.synth.SynthLookAndFeel @@ -66,7 +66,7 @@ Button.contentMargins 6,14,6,14 javax.swing.plaf.InsetsUIResource [U Button.defaultButtonFollowsFocus false Button.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Button.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Button.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Button.font [active] $defaultFont [UI] Button.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ButtonUI javax.swing.plaf.synth.SynthLookAndFeel @@ -144,7 +144,7 @@ CheckBox.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv CheckBox.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] CheckBox.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] CheckBox.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -CheckBox.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +CheckBox.font [active] $defaultFont [UI] CheckBox.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] CheckBox.icon 18,18 javax.swing.plaf.nimbus.NimbusIcon @@ -156,7 +156,7 @@ CheckBoxMenuItem.checkIcon 9,10 javax.swing.plaf.nimbus.NimbusIcon CheckBoxMenuItem.contentMargins 1,12,2,13 javax.swing.plaf.InsetsUIResource [UI] CheckBoxMenuItem.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] CheckBoxMenuItem.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -CheckBoxMenuItem.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +CheckBoxMenuItem.font [active] $defaultFont [UI] CheckBoxMenuItem.foreground [active] #232324 javax.swing.plaf.ColorUIResource [UI] CheckBoxMenuItem.textIconGap 5 @@ -291,7 +291,7 @@ ColorChooser.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ColorChooser.contentMargins 5,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ColorChooser.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ColorChooser.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ColorChooser.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ColorChooser.font [active] $defaultFont [UI] ColorChooser.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ColorChooser.swatchesDefaultRecentColor #ffffff javax.swing.plaf.ColorUIResource [UI] ColorChooser.swatchesRecentSwatchSize 10,10 java.awt.Dimension @@ -318,7 +318,7 @@ ComboBox.buttonWhenNotEditable true ComboBox.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ComboBox.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ComboBox.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ComboBox.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ComboBox.font [active] $defaultFont [UI] ComboBox.forceOpaque true ComboBox.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ComboBox.padding 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] @@ -443,7 +443,7 @@ DesktopIcon.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv DesktopIcon.contentMargins 4,6,5,4 javax.swing.plaf.InsetsUIResource [UI] DesktopIcon.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] DesktopIcon.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -DesktopIcon.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +DesktopIcon.font [active] $defaultFont [UI] DesktopIcon.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] DesktopIconUI javax.swing.plaf.synth.SynthLookAndFeel @@ -459,7 +459,7 @@ DesktopPane.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv DesktopPane.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] DesktopPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] DesktopPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -DesktopPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +DesktopPane.font [active] $defaultFont [UI] DesktopPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] DesktopPane.opaque true DesktopPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -476,7 +476,7 @@ EditorPane.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv EditorPane.contentMargins 4,6,4,6 javax.swing.plaf.InsetsUIResource [UI] EditorPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] EditorPane.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -EditorPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +EditorPane.font [active] $defaultFont [UI] EditorPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] EditorPane.opaque true EditorPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -509,7 +509,7 @@ FileChooser.disabled [active] #d6d9df javax.swing.plaf.nimbus.Deriv FileChooser.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] FileChooser.fileIcon 16,16 javax.swing.plaf.nimbus.NimbusIcon FileChooser.floppyDriveIcon 16,16 javax.swing.plaf.nimbus.NimbusIcon -FileChooser.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +FileChooser.font [active] $defaultFont [UI] FileChooser.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] FileChooser.hardDriveIcon 16,16 javax.swing.plaf.nimbus.NimbusIcon FileChooser.homeFolderIcon 16,16 javax.swing.plaf.nimbus.NimbusIcon @@ -551,7 +551,7 @@ FormattedTextField.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv FormattedTextField.contentMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] FormattedTextField.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] FormattedTextField.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -FormattedTextField.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +FormattedTextField.font [active] $defaultFont [UI] FormattedTextField.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] FormattedTextFieldUI javax.swing.plaf.synth.SynthLookAndFeel @@ -588,7 +588,7 @@ InternalFrame.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv InternalFrame.contentMargins 1,6,6,6 javax.swing.plaf.InsetsUIResource [UI] InternalFrame.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] InternalFrame.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -InternalFrame.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +InternalFrame.font [active] $defaultFont [UI] InternalFrame.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] InternalFrame.titleFont [active] sansserif bold 12 java.awt.Font InternalFrame.windowBindings length=6 [Ljava.lang.Object; @@ -673,7 +673,7 @@ InternalFrameTitlePane.background [active] #d6d9df javax.swing.plaf.nimbus.De InternalFrameTitlePane.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] InternalFrameTitlePane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] InternalFrameTitlePane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -InternalFrameTitlePane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +InternalFrameTitlePane.font [active] $defaultFont [UI] InternalFrameTitlePane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] InternalFrameTitlePane.maxFrameIconSize 18,18 javax.swing.plaf.DimensionUIResource [UI] InternalFrameTitlePaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -700,7 +700,7 @@ Label.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Label.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Label.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Label.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Label.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Label.font [active] $defaultFont [UI] Label.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] LabelUI javax.swing.plaf.synth.SynthLookAndFeel @@ -719,7 +719,7 @@ List.disabled [active] #d6d9df javax.swing.plaf.nimbus.Deriv List.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] List.dropLineColor #73a4d1 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] List.focusCellHighlightBorder 2,5,2,5 false javax.swing.plaf.BorderUIResource [UI] -List.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +List.font [active] $defaultFont [UI] List.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] List.opaque true List.rendererUseListColors false @@ -764,7 +764,7 @@ Menu.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Menu.contentMargins 1,12,2,5 javax.swing.plaf.InsetsUIResource [UI] Menu.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Menu.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Menu.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Menu.font [active] $defaultFont [UI] Menu.foreground [active] #232324 javax.swing.plaf.ColorUIResource [UI] Menu.textIconGap 5 @@ -785,7 +785,7 @@ MenuBar.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv MenuBar.contentMargins 2,6,2,6 javax.swing.plaf.InsetsUIResource [UI] MenuBar.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] MenuBar.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -MenuBar.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +MenuBar.font [active] $defaultFont [UI] MenuBar.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] MenuBar.windowBindings length=2 [Ljava.lang.Object; [0] F10 @@ -835,7 +835,7 @@ MenuItem.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv MenuItem.contentMargins 1,12,2,13 javax.swing.plaf.InsetsUIResource [UI] MenuItem.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] MenuItem.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -MenuItem.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +MenuItem.font [active] $defaultFont [UI] MenuItem.foreground [active] #232324 javax.swing.plaf.ColorUIResource [UI] MenuItem.textIconGap 5 @@ -908,7 +908,7 @@ OptionPane.contentMargins 15,15,15,15 javax.swing.plaf.InsetsUIResource OptionPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] OptionPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] OptionPane.errorIcon 48,48 javax.swing.plaf.nimbus.NimbusIcon -OptionPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +OptionPane.font [active] $defaultFont [UI] OptionPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] OptionPane.informationIcon 48,48 javax.swing.plaf.nimbus.NimbusIcon OptionPane.isYesLast false @@ -950,7 +950,7 @@ Panel.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Panel.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Panel.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Panel.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Panel.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Panel.font [active] $defaultFont [UI] Panel.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Panel.opaque true PanelUI javax.swing.plaf.synth.SynthLookAndFeel @@ -962,7 +962,7 @@ PasswordField.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv PasswordField.contentMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] PasswordField.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PasswordField.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -PasswordField.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +PasswordField.font [active] $defaultFont [UI] PasswordField.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PasswordFieldUI javax.swing.plaf.synth.SynthLookAndFeel @@ -998,7 +998,7 @@ PopupMenu.consumeEventOnClose true PopupMenu.contentMargins 6,1,6,1 javax.swing.plaf.InsetsUIResource [UI] PopupMenu.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PopupMenu.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -PopupMenu.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +PopupMenu.font [active] $defaultFont [UI] PopupMenu.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PopupMenu.opaque true @@ -1009,7 +1009,7 @@ PopupMenuSeparator.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv PopupMenuSeparator.contentMargins 1,0,2,0 javax.swing.plaf.InsetsUIResource [UI] PopupMenuSeparator.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PopupMenuSeparator.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -PopupMenuSeparator.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +PopupMenuSeparator.font [active] $defaultFont [UI] PopupMenuSeparator.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] PopupMenuSeparatorUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1044,7 +1044,7 @@ ProgressBar.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ProgressBar.cycleTime 250 ProgressBar.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ProgressBar.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ProgressBar.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ProgressBar.font [active] $defaultFont [UI] ProgressBar.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ProgressBar.glowWidth 2 ProgressBar.horizontalSize 150,19 javax.swing.plaf.DimensionUIResource [UI] @@ -1098,7 +1098,7 @@ RadioButton.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv RadioButton.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] RadioButton.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] RadioButton.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -RadioButton.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +RadioButton.font [active] $defaultFont [UI] RadioButton.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] RadioButton.icon 18,18 javax.swing.plaf.nimbus.NimbusIcon @@ -1110,7 +1110,7 @@ RadioButtonMenuItem.checkIcon 9,10 javax.swing.plaf.nimbus.NimbusIcon RadioButtonMenuItem.contentMargins 1,12,2,13 javax.swing.plaf.InsetsUIResource [UI] RadioButtonMenuItem.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] RadioButtonMenuItem.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -RadioButtonMenuItem.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +RadioButtonMenuItem.font [active] $defaultFont [UI] RadioButtonMenuItem.foreground [active] #232324 javax.swing.plaf.ColorUIResource [UI] RadioButtonMenuItem.textIconGap 5 @@ -1254,7 +1254,7 @@ RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [7] release RootPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] RootPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -RootPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +RootPane.font [active] $defaultFont [UI] RootPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] RootPane.opaque true RootPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1267,7 +1267,7 @@ ScrollBar.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] ScrollBar.decrementButtonGap -8 ScrollBar.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBar.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ScrollBar.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ScrollBar.font [active] $defaultFont [UI] ScrollBar.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBar.incrementButtonGap -8 ScrollBar.maximumThumbSize 1000,1000 javax.swing.plaf.DimensionUIResource [UI] @@ -1326,7 +1326,7 @@ ScrollBar:ScrollBarTrack[Enabled].backgroundPainter [lazy] [unknown type] javax. ScrollBarThumb.background [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBarThumb.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBarThumb.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ScrollBarThumb.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ScrollBarThumb.font [active] $defaultFont [UI] ScrollBarThumb.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] @@ -1335,7 +1335,7 @@ ScrollBarThumb.foreground [active] #000000 javax.swing.plaf.nimbus.Deriv ScrollBarTrack.background [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBarTrack.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollBarTrack.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ScrollBarTrack.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ScrollBarTrack.font [active] $defaultFont [UI] ScrollBarTrack.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] @@ -1350,7 +1350,7 @@ ScrollPane.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ScrollPane.contentMargins 3,3,3,3 javax.swing.plaf.InsetsUIResource [UI] ScrollPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ScrollPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ScrollPane.font [active] $defaultFont [UI] ScrollPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ScrollPane.useChildTextComponentFocus true ScrollPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1372,7 +1372,7 @@ Separator.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Separator.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Separator.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Separator.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Separator.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Separator.font [active] $defaultFont [UI] Separator.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SeparatorUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1390,7 +1390,7 @@ Slider.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Slider.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Slider.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Slider.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Slider.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Slider.font [active] $defaultFont [UI] Slider.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Slider.paintValue false Slider.thumbHeight 17 @@ -1498,7 +1498,7 @@ Slider:SliderTrack[Enabled].backgroundPainter [lazy] [unknown type] javax.swing. SliderThumb.background [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SliderThumb.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SliderThumb.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -SliderThumb.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +SliderThumb.font [active] $defaultFont [UI] SliderThumb.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] @@ -1507,7 +1507,7 @@ SliderThumb.foreground [active] #000000 javax.swing.plaf.nimbus.Deriv SliderTrack.background [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SliderTrack.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SliderTrack.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -SliderTrack.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +SliderTrack.font [active] $defaultFont [UI] SliderTrack.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] @@ -1522,7 +1522,7 @@ Spinner.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Spinner.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Spinner.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Spinner.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Spinner.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Spinner.font [active] $defaultFont [UI] Spinner.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] @@ -1592,7 +1592,7 @@ SplitPane.continuousLayout true SplitPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SplitPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SplitPane.dividerSize 10 -SplitPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +SplitPane.font [active] $defaultFont [UI] SplitPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] SplitPane.oneTouchButtonOffset 30 SplitPane.oneTouchExpandable false @@ -1635,7 +1635,7 @@ TabbedPane.darkShadow #000000 javax.swing.plaf.nimbus.DerivedColor$U TabbedPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TabbedPane.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TabbedPane.extendTabsToBase true -TabbedPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +TabbedPane.font [active] $defaultFont [UI] TabbedPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TabbedPane.highlight #ffffff javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TabbedPane.isTabRollover true @@ -1758,7 +1758,7 @@ Table.disabledText [active] #000000 javax.swing.plaf.nimbus.Deriv Table.dropLineColor #73a4d1 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Table.dropLineShortColor #bf6204 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Table.focusCellHighlightBorder 2,5,2,5 false javax.swing.plaf.BorderUIResource [UI] -Table.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Table.font [active] $defaultFont [UI] Table.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Table.intercellSpacing 0,0 javax.swing.plaf.DimensionUIResource [UI] Table.opaque true @@ -1782,7 +1782,7 @@ TableHeader.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv TableHeader.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] TableHeader.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TableHeader.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -TableHeader.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +TableHeader.font [active] $defaultFont [UI] TableHeader.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TableHeader.opaque true TableHeader.rightAlignSortArrow true @@ -1839,7 +1839,7 @@ TextArea.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv TextArea.contentMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] TextArea.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextArea.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -TextArea.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +TextArea.font [active] $defaultFont [UI] TextArea.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextAreaUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1885,7 +1885,7 @@ TextField.background #ffffff javax.swing.plaf.nimbus.DerivedColor$U TextField.contentMargins 6,6,6,6 javax.swing.plaf.InsetsUIResource [UI] TextField.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextField.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -TextField.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +TextField.font [active] $defaultFont [UI] TextField.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextFieldUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1920,7 +1920,7 @@ TextPane.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv TextPane.contentMargins 4,6,4,6 javax.swing.plaf.InsetsUIResource [UI] TextPane.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextPane.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -TextPane.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +TextPane.font [active] $defaultFont [UI] TextPane.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] TextPane.opaque true TextPaneUI javax.swing.plaf.synth.SynthLookAndFeel @@ -1958,7 +1958,7 @@ ToggleButton.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ToggleButton.contentMargins 6,14,6,14 javax.swing.plaf.InsetsUIResource [UI] ToggleButton.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToggleButton.disabledText [active] #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ToggleButton.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ToggleButton.font [active] $defaultFont [UI] ToggleButton.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToggleButtonUI javax.swing.plaf.synth.SynthLookAndFeel @@ -2046,7 +2046,7 @@ ToolBar.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ToolBar.contentMargins 2,2,2,2 javax.swing.plaf.InsetsUIResource [UI] ToolBar.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToolBar.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ToolBar.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ToolBar.font [active] $defaultFont [UI] ToolBar.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToolBar.handleIcon 11,38 javax.swing.plaf.nimbus.NimbusIcon ToolBar.opaque true @@ -2196,7 +2196,7 @@ ToolTip.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv ToolTip.contentMargins 4,4,4,4 javax.swing.plaf.InsetsUIResource [UI] ToolTip.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToolTip.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -ToolTip.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +ToolTip.font [active] $defaultFont [UI] ToolTip.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] ToolTipUI javax.swing.plaf.synth.SynthLookAndFeel @@ -2218,7 +2218,7 @@ Tree.drawHorizontalLines false Tree.drawVerticalLines false Tree.dropLineColor #73a4d1 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Tree.expandedIcon 18,7 javax.swing.plaf.nimbus.NimbusIcon -Tree.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Tree.font [active] $defaultFont [UI] Tree.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Tree.leafIcon 16,16 javax.swing.plaf.nimbus.NimbusIcon Tree.leftChildIndent 12 @@ -2297,7 +2297,7 @@ Viewport.background [active] #d6d9df javax.swing.plaf.nimbus.Deriv Viewport.contentMargins 0,0,0,0 javax.swing.plaf.InsetsUIResource [UI] Viewport.disabled [active] #d6d9df javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Viewport.disabledText [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] -Viewport.font [active] sansserif plain 12 javax.swing.plaf.FontUIResource [UI] +Viewport.font [active] $defaultFont [UI] Viewport.foreground [active] #000000 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] Viewport.opaque true ViewportUI javax.swing.plaf.synth.SynthLookAndFeel @@ -2351,3 +2351,70 @@ textForeground #000000 javax.swing.plaf.nimbus.DerivedColor$U textHighlight #39698a javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] textHighlightText #ffffff javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] textInactiveText #8e8f91 javax.swing.plaf.nimbus.DerivedColor$UIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- disabledText -- +CheckBox.disabledText #8e8f91 #d6d9df 2.3 !!!!! +RadioButton.disabledText #8e8f91 #d6d9df 2.3 !!!!! + +#-- foreground -- +ArrowButton.foreground #000000 #d6d9df 14.8 +Button.foreground #000000 #d6d9df 14.8 +CheckBox.foreground #000000 #d6d9df 14.8 +CheckBoxMenuItem.foreground #232324 #d6d9df 11.1 +ColorChooser.foreground #000000 #d6d9df 14.8 +ComboBox.foreground #000000 #d6d9df 14.8 +DesktopIcon.foreground #000000 #d6d9df 14.8 +DesktopPane.foreground #000000 #d6d9df 14.8 +EditorPane.foreground #000000 #d6d9df 14.8 +FileChooser.foreground #000000 #d6d9df 14.8 +FormattedTextField.foreground #000000 #d6d9df 14.8 +InternalFrame.foreground #000000 #d6d9df 14.8 +InternalFrameTitlePane.foreground #000000 #d6d9df 14.8 +Label.foreground #000000 #d6d9df 14.8 +List.foreground #000000 #ffffff 21.0 +Menu.foreground #232324 #d6d9df 11.1 +MenuBar.foreground #000000 #d6d9df 14.8 +MenuItem.foreground #232324 #d6d9df 11.1 +OptionPane.foreground #000000 #d6d9df 14.8 +Panel.foreground #000000 #d6d9df 14.8 +PasswordField.foreground #000000 #d6d9df 14.8 +PopupMenu.foreground #000000 #d6d9df 14.8 +PopupMenuSeparator.foreground #000000 #d6d9df 14.8 +RadioButton.foreground #000000 #d6d9df 14.8 +RadioButtonMenuItem.foreground #232324 #d6d9df 11.1 +RootPane.foreground #000000 #d6d9df 14.8 +ScrollBarThumb.foreground #000000 #d6d9df 14.8 +ScrollBarTrack.foreground #000000 #d6d9df 14.8 +SliderThumb.foreground #000000 #d6d9df 14.8 +SliderTrack.foreground #000000 #d6d9df 14.8 +Spinner.foreground #000000 #d6d9df 14.8 +TabbedPane.foreground #000000 #d6d9df 14.8 +Table.foreground #000000 #ffffff 21.0 +TableHeader.foreground #000000 #d6d9df 14.8 +TextArea.foreground #000000 #d6d9df 14.8 +TextField.foreground #000000 #ffffff 21.0 +TextPane.foreground #000000 #d6d9df 14.8 +ToggleButton.foreground #000000 #d6d9df 14.8 +ToolTip.foreground #000000 #d6d9df 14.8 +Tree.foreground #000000 #ffffff 21.0 + +#-- selectionForeground -- +Tree.selectionForeground #ffffff #39698a 5.9 !! + +#-- textForeground -- +List[Selected].textForeground #ffffff #39698a 5.9 !! +Table[Enabled+Selected].textForeground #ffffff #39698a 5.9 !! +Tree.textForeground #000000 #ffffff 21.0 +textForeground #000000 #39698a 3.6 !!!! + +#-- non-text -- +ProgressBar.background #d6d9df #d6d9df 1.0 !!!!!! +ProgressBar.foreground #000000 #d6d9df 14.8 +Separator.foreground #000000 #d6d9df 14.8 diff --git a/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_InputMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_InputMap_1.8.0_202.txt index 8a75235d..639255bf 100644 --- a/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_InputMap_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/NimbusLookAndFeel_InputMap_1.8.0_202.txt @@ -288,15 +288,6 @@ PasswordField.focusInputMap [lazy] 31 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- -PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; - [0] LEFT - [1] selectChild - [2] KP_LEFT - [3] selectChild - [4] RIGHT - [5] selectParent - [6] KP_RIGHT - [7] selectParent PopupMenu.selectedWindowInputMapBindings length=22 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -320,6 +311,15 @@ PopupMenu.selectedWindowInputMapBindings length=22 [Ljava.lang.Object; [19] return [20] SPACE [21] return +PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; + [0] LEFT + [1] selectChild + [2] KP_LEFT + [3] selectChild + [4] RIGHT + [5] selectParent + [6] KP_RIGHT + [7] selectParent #---- RadioButton ---- diff --git a/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_1.8.0_202.txt index c962cd37..833461b8 100644 --- a/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_1.8.0_202.txt @@ -335,7 +335,7 @@ Menu.acceleratorFont [lazy] Dialog plain 12 javax.swing.plaf.FontUI Menu.acceleratorForeground [active] #000000 javax.swing.plaf.ColorUIResource [UI] Menu.acceleratorSelectionForeground [active] #000000 javax.swing.plaf.ColorUIResource [UI] Menu.afterCheckIconGap [active] 9 -Menu.arrowIcon [lazy] 9,9 com.sun.java.swing.plaf.windows.WindowsIconFactory$MenuArrowIcon [UI] +Menu.arrowIcon [lazy] 11,10 com.sun.java.swing.plaf.windows.WindowsIconFactory$MenuArrowIcon [UI] Menu.background [active] #f0f0f0 javax.swing.plaf.ColorUIResource [UI] Menu.border [lazy] 0,0,0,0 false javax.swing.plaf.basic.BasicBorders$MarginBorder [UI] Menu.borderPainted false @@ -936,3 +936,89 @@ textText #000000 javax.swing.plaf.ColorUIResource [UI] window #ffffff javax.swing.plaf.ColorUIResource [UI] windowBorder #646464 javax.swing.plaf.ColorUIResource [UI] windowText #000000 javax.swing.plaf.ColorUIResource [UI] + + +#-------- Contrast Ratios -------- + +# WCAG 2 Contrast Requirements: minimum 4.5; enhanced 7.0 +# https://webaim.org/articles/contrast/#sc143 + + +#-- activeTitleForeground -- +InternalFrame.activeTitleForeground #000000 #99b4d1 9.8 + +#-- disabledForeground -- +ComboBox.disabledForeground #6d6d6d #f0f0f0 4.5 !!! +Label.disabledForeground #6d6d6d #f0f0f0 4.5 !!! + +#-- focusCellForeground -- +Table.focusCellForeground #000000 #ffffff 21.0 + +#-- foreground -- +Button.foreground #000000 #f0f0f0 18.4 +CheckBox.foreground #000000 #f0f0f0 18.4 +CheckBoxMenuItem.foreground #000000 #f0f0f0 18.4 +ColorChooser.foreground #000000 #f0f0f0 18.4 +ComboBox.foreground #000000 #ffffff 21.0 +EditorPane.foreground #000000 #ffffff 21.0 +FormattedTextField.foreground #000000 #ffffff 21.0 +Label.foreground #000000 #f0f0f0 18.4 +List.foreground #000000 #ffffff 21.0 +Menu.foreground #000000 #f0f0f0 18.4 +MenuBar.foreground #000000 #f0f0f0 18.4 +MenuItem.foreground #000000 #f0f0f0 18.4 +OptionPane.foreground #000000 #f0f0f0 18.4 +Panel.foreground #000000 #f0f0f0 18.4 +PasswordField.foreground #000000 #ffffff 21.0 +PopupMenu.foreground #000000 #f0f0f0 18.4 +RadioButton.foreground #000000 #f0f0f0 18.4 +RadioButtonMenuItem.foreground #000000 #f0f0f0 18.4 +Spinner.foreground #f0f0f0 #f0f0f0 1.0 !!!!!! +TabbedPane.foreground #000000 #f0f0f0 18.4 +Table.foreground #000000 #ffffff 21.0 +TableHeader.foreground #000000 #f0f0f0 18.4 +TextArea.foreground #000000 #ffffff 21.0 +TextField.foreground #000000 #ffffff 21.0 +TextPane.foreground #000000 #ffffff 21.0 +ToggleButton.foreground #000000 #f0f0f0 18.4 +ToolTip.foreground #000000 #ffffe1 20.6 +Tree.foreground #000000 #ffffff 21.0 + +#-- inactiveForeground -- +EditorPane.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! +FormattedTextField.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! +PasswordField.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! +TextArea.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! +TextField.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! +TextPane.inactiveForeground #6d6d6d #f0f0f0 4.5 !!! + +#-- inactiveTitleForeground -- +InternalFrame.inactiveTitleForeground #000000 #bfcddb 13.0 + +#-- selectionBackground -- +ProgressBar.selectionBackground #0078d7 #f0f0f0 3.9 !!!! + +#-- selectionForeground -- +CheckBoxMenuItem.selectionForeground #ffffff #0078d7 4.5 !!! +ComboBox.selectionForeground #ffffff #0078d7 4.5 !!! +EditorPane.selectionForeground #ffffff #0078d7 4.5 !!! +FormattedTextField.selectionForeground #ffffff #0078d7 4.5 !!! +List.selectionForeground #ffffff #0078d7 4.5 !!! +Menu.selectionForeground #ffffff #0078d7 4.5 !!! +MenuItem.selectionForeground #ffffff #0078d7 4.5 !!! +PasswordField.selectionForeground #ffffff #0078d7 4.5 !!! +ProgressBar.selectionForeground #f0f0f0 #0078d7 3.9 !!!! +RadioButtonMenuItem.selectionForeground #ffffff #0078d7 4.5 !!! +Table.selectionForeground #ffffff #0078d7 4.5 !!! +TextArea.selectionForeground #ffffff #0078d7 4.5 !!! +TextField.selectionForeground #ffffff #0078d7 4.5 !!! +TextPane.selectionForeground #ffffff #0078d7 4.5 !!! +Tree.selectionForeground #ffffff #0078d7 4.5 !!! + +#-- textForeground -- +Tree.textForeground #000000 #ffffff 21.0 + +#-- non-text -- +ProgressBar.background #f0f0f0 #f0f0f0 1.0 !!!!!! +ProgressBar.foreground #0078d7 #f0f0f0 3.9 !!!! +Separator.foreground #a0a0a0 #ffffff 2.6 !!!!! diff --git a/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_InputMap_1.8.0_202.txt b/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_InputMap_1.8.0_202.txt index 3fb5d6eb..d7ad9a35 100644 --- a/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_InputMap_1.8.0_202.txt +++ b/flatlaf-testing/dumps/uidefaults/WindowsLookAndFeel_InputMap_1.8.0_202.txt @@ -181,23 +181,6 @@ FormattedTextField.focusInputMap [lazy] 44 javax.swing.plaf.InputMapUIResourc #---- List ---- -List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -263,6 +246,23 @@ List.focusInputMap [lazy] 64 javax.swing.plaf.InputMapUIResource shift RIGHT selectNextColumnExtendSelection shift SPACE extendTo shift UP selectPreviousRowExtendSelection +List.focusInputMap.RightToLeft [lazy] 16 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- PasswordField ---- @@ -303,15 +303,6 @@ PasswordField.focusInputMap [lazy] 31 javax.swing.plaf.InputMapUIResource #---- PopupMenu ---- -PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; - [0] LEFT - [1] selectChild - [2] KP_LEFT - [3] selectChild - [4] RIGHT - [5] selectParent - [6] KP_RIGHT - [7] selectParent PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [0] ESCAPE [1] cancel @@ -337,6 +328,15 @@ PopupMenu.selectedWindowInputMapBindings length=24 [Ljava.lang.Object; [21] return [22] SPACE [23] return +PopupMenu.selectedWindowInputMapBindings.RightToLeft length=8 [Ljava.lang.Object; + [0] LEFT + [1] selectChild + [2] KP_LEFT + [3] selectChild + [4] RIGHT + [5] selectParent + [6] KP_RIGHT + [7] selectParent #---- RadioButton ---- @@ -355,11 +355,6 @@ RootPane.ancestorInputMap [lazy] 2 javax.swing.plaf.InputMapUIResource [ #---- ScrollBar ---- -ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement ScrollBar.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl PAGE_DOWN positiveBlockIncrement ctrl PAGE_UP negativeBlockIncrement @@ -375,13 +370,15 @@ ScrollBar.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP negativeBlockIncrement RIGHT positiveUnitIncrement UP negativeUnitIncrement +ScrollBar.ancestorInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- ScrollPane ---- -ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] - ctrl PAGE_DOWN scrollLeft - ctrl PAGE_UP scrollRight ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource [UI] ctrl END scrollEnd ctrl HOME scrollHome @@ -397,15 +394,13 @@ ScrollPane.ancestorInputMap [lazy] 14 javax.swing.plaf.InputMapUIResource PAGE_UP scrollUp RIGHT unitScrollRight UP unitScrollUp +ScrollPane.ancestorInputMap.RightToLeft [lazy] 2 javax.swing.plaf.InputMapUIResource [UI] + ctrl PAGE_DOWN scrollLeft + ctrl PAGE_UP scrollRight #---- Slider ---- -Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT positiveUnitIncrement - KP_RIGHT negativeUnitIncrement - LEFT positiveUnitIncrement - RIGHT negativeUnitIncrement Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource [UI] DOWN negativeUnitIncrement END maxScroll @@ -419,6 +414,11 @@ Slider.focusInputMap [lazy] 12 javax.swing.plaf.InputMapUIResource PAGE_UP positiveBlockIncrement RIGHT positiveUnitIncrement UP positiveUnitIncrement +Slider.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT positiveUnitIncrement + KP_RIGHT negativeUnitIncrement + LEFT positiveUnitIncrement + RIGHT negativeUnitIncrement #---- Spinner ---- @@ -473,27 +473,6 @@ TabbedPane.focusInputMap [lazy] 10 javax.swing.plaf.InputMapUIResource #---- Table ---- -Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] - ctrl KP_LEFT selectNextColumnChangeLead - ctrl KP_RIGHT selectPreviousColumnChangeLead - ctrl LEFT selectNextColumnChangeLead - ctrl PAGE_DOWN scrollLeftChangeSelection - ctrl PAGE_UP scrollRightChangeSelection - ctrl RIGHT selectPreviousColumnChangeLead - KP_LEFT selectNextColumn - KP_RIGHT selectPreviousColumn - LEFT selectNextColumn - RIGHT selectPreviousColumn - shift ctrl KP_LEFT selectNextColumnExtendSelection - shift ctrl KP_RIGHT selectPreviousColumnExtendSelection - shift ctrl LEFT selectNextColumnExtendSelection - shift ctrl PAGE_DOWN scrollLeftExtendSelection - shift ctrl PAGE_UP scrollRightExtendSelection - shift ctrl RIGHT selectPreviousColumnExtendSelection - shift KP_LEFT selectNextColumnExtendSelection - shift KP_RIGHT selectPreviousColumnExtendSelection - shift LEFT selectNextColumnExtendSelection - shift RIGHT selectPreviousColumnExtendSelection Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -566,6 +545,27 @@ Table.ancestorInputMap [lazy] 71 javax.swing.plaf.InputMapUIResource shift SPACE extendTo shift TAB selectPreviousColumnCell shift UP selectPreviousRowExtendSelection +Table.ancestorInputMap.RightToLeft [lazy] 20 javax.swing.plaf.InputMapUIResource [UI] + ctrl KP_LEFT selectNextColumnChangeLead + ctrl KP_RIGHT selectPreviousColumnChangeLead + ctrl LEFT selectNextColumnChangeLead + ctrl PAGE_DOWN scrollLeftChangeSelection + ctrl PAGE_UP scrollRightChangeSelection + ctrl RIGHT selectPreviousColumnChangeLead + KP_LEFT selectNextColumn + KP_RIGHT selectPreviousColumn + LEFT selectNextColumn + RIGHT selectPreviousColumn + shift ctrl KP_LEFT selectNextColumnExtendSelection + shift ctrl KP_RIGHT selectPreviousColumnExtendSelection + shift ctrl LEFT selectNextColumnExtendSelection + shift ctrl PAGE_DOWN scrollLeftExtendSelection + shift ctrl PAGE_UP scrollRightExtendSelection + shift ctrl RIGHT selectPreviousColumnExtendSelection + shift KP_LEFT selectNextColumnExtendSelection + shift KP_RIGHT selectPreviousColumnExtendSelection + shift LEFT selectNextColumnExtendSelection + shift RIGHT selectPreviousColumnExtendSelection #---- TableHeader ---- @@ -761,11 +761,6 @@ ToolBar.ancestorInputMap [lazy] 8 javax.swing.plaf.InputMapUIResource [ Tree.ancestorInputMap [lazy] 1 javax.swing.plaf.InputMapUIResource [UI] ESCAPE cancel -Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] - KP_LEFT selectChild - KP_RIGHT selectParent - LEFT selectChild - RIGHT selectParent Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource [UI] ctrl A selectAll ctrl BACK_SLASH clearSelection @@ -826,3 +821,8 @@ Tree.focusInputMap [lazy] 59 javax.swing.plaf.InputMapUIResource shift PAGE_UP scrollUpExtendSelection shift SPACE extendTo shift UP selectPreviousExtendSelection +Tree.focusInputMap.RightToLeft [lazy] 4 javax.swing.plaf.InputMapUIResource [UI] + KP_LEFT selectChild + KP_RIGHT selectParent + LEFT selectChild + RIGHT selectParent diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index a5cf5878..e723e7f1 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -167,6 +167,8 @@ public class UIDefaultsDump } private static void dump( String lookAndFeelClassName, File dir, boolean jide ) { + System.out.println( "---- "+lookAndFeelClassName+" -------------------------------" ); + try { UIManager.setLookAndFeel( lookAndFeelClassName ); if( jide ) @@ -415,8 +417,8 @@ public class UIDefaultsDump dumpHeader( out ); defaults.entrySet().stream() - .sorted( (key1, key2) -> { - return String.valueOf( key1 ).compareTo( String.valueOf( key2 ) ); + .sorted( (e1, e2) -> { + return String.valueOf( e1.getKey() ).compareTo( String.valueOf( e2.getKey() ) ); } ) .forEach( entry -> { Object key = entry.getKey(); From 143f96360bcf1bdda7b18d515b69fce14e335b06 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 27 Feb 2025 11:58:09 +0100 Subject: [PATCH 11/15] IntelliJ Themes: removed `Gruvbox Dark Medium` and `Gruvbox Dark Soft` themes --- CHANGELOG.md | 1 + .../flatlaf/IntelliJTheme$ThemeLaf.properties | 16 -- .../flatlaf/demo/intellijthemes/themes.json | 20 -- flatlaf-intellij-themes/README.md | 2 - .../intellijthemes/FlatAllIJThemes.java | 2 - .../FlatGruvboxDarkMediumIJTheme.java | 54 ----- .../FlatGruvboxDarkSoftIJTheme.java | 54 ----- .../themes/gruvbox_dark_medium.theme.json | 193 ----------------- .../themes/gruvbox_dark_soft.theme.json | 194 ------------------ 9 files changed, 1 insertion(+), 535 deletions(-) delete mode 100644 flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkMediumIJTheme.java delete mode 100644 flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkSoftIJTheme.java delete mode 100644 flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_medium.theme.json delete mode 100644 flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_soft.theme.json diff --git a/CHANGELOG.md b/CHANGELOG.md index c3e13d66..8cc606f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -59,6 +59,7 @@ FlatLaf Change Log - Renamed classes in package `com.formdev.flatlaf.intellijthemes.materialthemeuilite` from `Flat` to `FlatMT`. + - Removed `Gruvbox Dark Medium` and `Gruvbox Dark Soft` themes. ## 3.5.4 diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties index 1a82b358..6ece7ce2 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties @@ -213,22 +213,6 @@ ToggleButton.endBackground = $ToggleButton.background {Gruvbox_Dark_Hard}ComboBox.buttonBackground = @ijTextBackgroundL3 {Gruvbox_Dark_Hard}TextField.background = @ijTextBackgroundL3 -{Gruvbox_Dark_Medium}Component.accentColor = lazy(TabbedPane.underlineColor) -{Gruvbox_Dark_Medium}ToggleButton.selectedBackground = $ToggleButton.selectedBackground -{Gruvbox_Dark_Medium}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -{Gruvbox_Dark_Medium}ComboBox.background = @ijTextBackgroundL3 -{Gruvbox_Dark_Medium}ComboBox.buttonBackground = @ijTextBackgroundL3 -{Gruvbox_Dark_Medium}TextField.background = @ijTextBackgroundL3 - -{Gruvbox_Dark_Soft}Component.accentColor = lazy(TabbedPane.underlineColor) -{Gruvbox_Dark_Soft}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -{Gruvbox_Dark_Soft}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -{Gruvbox_Dark_Soft}ToggleButton.selectedBackground = $ToggleButton.selectedBackground -{Gruvbox_Dark_Soft}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -{Gruvbox_Dark_Soft}ComboBox.background = @ijTextBackgroundL3 -{Gruvbox_Dark_Soft}ComboBox.buttonBackground = @ijTextBackgroundL3 -{Gruvbox_Dark_Soft}TextField.background = @ijTextBackgroundL3 - {Hiberbee_Dark}*.disabledForeground = #7F7E7D {Hiberbee_Dark}*.disabledText = #7F7E7D {Hiberbee_Dark}*.inactiveForeground = #7F7E7D diff --git a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json index d424c25d..d7aa34dd 100644 --- a/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json +++ b/flatlaf-demo/src/main/resources/com/formdev/flatlaf/demo/intellijthemes/themes.json @@ -155,26 +155,6 @@ "sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme", "sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_hard.theme.json" }, - "gruvbox_dark_medium.theme.json": { - "name": "Gruvbox Dark Medium", - "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme", - "license": "MIT", - "licenseFile": "gruvbox_theme.LICENSE.txt", - "pluginUrl": "https://plugins.jetbrains.com/plugin/12310-gruvbox-theme", - "sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme", - "sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_medium.theme.json" - }, - "gruvbox_dark_soft.theme.json": { - "name": "Gruvbox Dark Soft", - "dark": true, - "lafClassName": "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme", - "license": "MIT", - "licenseFile": "gruvbox_theme.LICENSE.txt", - "pluginUrl": "https://plugins.jetbrains.com/plugin/12310-gruvbox-theme", - "sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme", - "sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_soft.theme.json" - }, "HiberbeeDark.theme.json": { "name": "Hiberbee Dark", "dark": true, diff --git a/flatlaf-intellij-themes/README.md b/flatlaf-intellij-themes/README.md index c6b62740..dcf3b0fd 100644 --- a/flatlaf-intellij-themes/README.md +++ b/flatlaf-intellij-themes/README.md @@ -58,8 +58,6 @@ Name | Class [Gradianto Nature Green](https://github.com/thvardhan/Gradianto) | `com.formdev.flatlaf.intellijthemes.FlatGradiantoNatureGreenIJTheme` [Gray](https://github.com/OlyaB/GreyTheme) | `com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme` [Gruvbox Dark Hard](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme` -[Gruvbox Dark Medium](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme` -[Gruvbox Dark Soft](https://github.com/Vincent-P/gruvbox-intellij-theme) | `com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme` [Hiberbee Dark](https://github.com/Hiberbee/themes) | `com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme` [High Contrast](https://github.com/JetBrains/intellij-community) | `com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme` [Light Flat](https://github.com/nerzhulart/LightFlatTheme) | `com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme` diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java index a02eac5c..98faf375 100644 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java +++ b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatAllIJThemes.java @@ -45,8 +45,6 @@ public class FlatAllIJThemes new FlatIJLookAndFeelInfo( "Gradianto Nature Green", "com.formdev.flatlaf.intellijthemes.FlatGradiantoNatureGreenIJTheme", true ), new FlatIJLookAndFeelInfo( "Gray", "com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme", false ), new FlatIJLookAndFeelInfo( "Gruvbox Dark Hard", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme", true ), - new FlatIJLookAndFeelInfo( "Gruvbox Dark Medium", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme", true ), - new FlatIJLookAndFeelInfo( "Gruvbox Dark Soft", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme", true ), new FlatIJLookAndFeelInfo( "Hiberbee Dark", "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme", true ), new FlatIJLookAndFeelInfo( "High Contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme", true ), new FlatIJLookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme", false ), diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkMediumIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkMediumIJTheme.java deleted file mode 100644 index 19be856d..00000000 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkMediumIJTheme.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2020 FormDev Software GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.formdev.flatlaf.intellijthemes; - -// -// DO NOT MODIFY -// Generated with com.formdev.flatlaf.demo.intellijthemes.IJThemesClassGenerator -// - -import com.formdev.flatlaf.IntelliJTheme; - -/** - * @author Karl Tauber - */ -public class FlatGruvboxDarkMediumIJTheme - extends IntelliJTheme.ThemeLaf -{ - public static final String NAME = "Gruvbox Dark Medium"; - - public static boolean setup() { - try { - return setup( new FlatGruvboxDarkMediumIJTheme() ); - } catch( RuntimeException ex ) { - return false; - } - } - - public static void installLafInfo() { - installLafInfo( NAME, FlatGruvboxDarkMediumIJTheme.class ); - } - - public FlatGruvboxDarkMediumIJTheme() { - super( Utils.loadTheme( "gruvbox_dark_medium.theme.json" ) ); - } - - @Override - public String getName() { - return NAME; - } -} diff --git a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkSoftIJTheme.java b/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkSoftIJTheme.java deleted file mode 100644 index a85e6b69..00000000 --- a/flatlaf-intellij-themes/src/main/java/com/formdev/flatlaf/intellijthemes/FlatGruvboxDarkSoftIJTheme.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright 2020 FormDev Software GmbH - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.formdev.flatlaf.intellijthemes; - -// -// DO NOT MODIFY -// Generated with com.formdev.flatlaf.demo.intellijthemes.IJThemesClassGenerator -// - -import com.formdev.flatlaf.IntelliJTheme; - -/** - * @author Karl Tauber - */ -public class FlatGruvboxDarkSoftIJTheme - extends IntelliJTheme.ThemeLaf -{ - public static final String NAME = "Gruvbox Dark Soft"; - - public static boolean setup() { - try { - return setup( new FlatGruvboxDarkSoftIJTheme() ); - } catch( RuntimeException ex ) { - return false; - } - } - - public static void installLafInfo() { - installLafInfo( NAME, FlatGruvboxDarkSoftIJTheme.class ); - } - - public FlatGruvboxDarkSoftIJTheme() { - super( Utils.loadTheme( "gruvbox_dark_soft.theme.json" ) ); - } - - @Override - public String getName() { - return NAME; - } -} diff --git a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_medium.theme.json b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_medium.theme.json deleted file mode 100644 index 80b3ca02..00000000 --- a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_medium.theme.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "name": "Gruvbox Dark Medium", - "dark": true, - "author": "Vincent Parizet", - "editorScheme": "/gruvbox_dark_medium.xml", - "colors": { - "bg0": "#282828", - "bg0_h": "#1d2021", - "bg0_s": "#32302f", - "bg1": "#3c3836", - "bg2": "#504945", - "bg3": "#665c54", - "bg4": "#7c6f64", - "bg": "#282828", - - "fg0": "#fbf1c7", - "fg1": "#ebdbb2", - "fg2": "#d5c4a1", - "fg3": "#bdae93", - "fg4": "#a89984", - "fg": "#ebdbb2", - - "red0": "#cc241d", - "red1": "#fb4934", - "green0": "#98971a", - "green1": "#b8bb26", - "yellow0": "#d79921", - "yellow1": "#fabd2f", - "blue0": "#458588", - "blue1": "#83a598", - "purple0": "#b16286", - "purple1": "#d3869b", - "aqua0": "#689d6a", - "aqua1": "#8ec07c", - "gray0": "#a89984", - "gray1": "#928374", - "orange0": "#d65d0e", - "orange1": "#fe8019" - }, - "ui": { - "*": { - "background": "bg", - "foreground": "fg", - - "infoForeground": "fg", - - "lightSelectionBackground": "bg1", - "selectionBackground": "#4F4945", - "selectionForeground": "fg0", - - "selectionBackgroundInactive": "bg0_s", - "selectionInactiveBackground": "bg0_s", - - "selectedBackground": "bg0_h", - "selectedForeground": "fg0", - "selectedInactiveBackground": "bg0_s", - "selectedBackgroundInactive": "bg0_s", - - "hoverBackground": "#28282866", - - "borderColor": "bg2", - "disabledBorderColor": "bg0_h", - - "separatorColor": "bg2" - }, - "ActionButton": { - "hoverBackground": "bg2" - }, - "Button": { - "startBackground": "bg", - "endBackground": "bg", - "startBorderColor": "bg2", - "endBorderColor": "bg2", - - "default": { - "foreground": "fg0", - "startBackground": "#32302F", - "endBackground": "#32302F", - "startBorderColor": "#4F4945", - "endBorderColor": "#4F4945", - "focusedBorderColor": "bg" - } - }, - "ComboBox": { - "nonEditableBackground": "bg", - "ArrowButton": { - "iconColor": "fg0", - "disabledIconColor": "fg0", - "nonEditableBackground": "bg" - } - }, - "EditorTabs": { - "selectedBackground": "bg0_s", - "underlinedTabBackground": "bg2", - "underlineColor": "blue1", - "inactiveMaskColor": "#28282866" - }, - "ToolWindow": { - "Header": { - "background": "bg0_s", - "inactiveBackground": "bg" - }, - - "HeaderTab": { - "selectedInactiveBackground": "bg0_h", - "hoverInactiveBackground": "bg0_h" - } - }, - "Table": { - "stripeColor": "bg0_s", - "lightSelectionForeground": "fg0", - "lightSelectionInactiveForeground":"fg4", - "lightSelectionBackground": "bg2", - "lightSelectionInactiveBackground":"bg" - }, - "FileColor": { - "Yellow": "#fabd2f22", - "Green": "#b8bb2622", - "Blue": "#83a59822", - "Violet": "#d3869b22", - "Orange": "#fe801922", - "Rose": "#cc241d22" - }, - "Link": { - "activeForeground": "blue1", - "hoverForeground": "blue1", - "pressedForeground": "blue1", - "visitedForeground": "blue1" - }, - "ScrollBar" : { - "hoverThumbBorderColor" : "bg1", - "background" : "bg0", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumb": "bg2", - "thumbBorderColor": "bg2", - "thumbColor": "bg2", - "Transparent": { - "thumbColor": "bg2", - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2" - }, - "Mac" : { - "Transparent": { - "thumbColor": "bg2", - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2" - }, - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2", - "thumbColor": "bg2" - } - } - }, - "icons": { - "ColorPalette": { - "Actions.Grey": "#928374", - "Actions.Red": "#fb4934", - "Actions.Yellow": "#fabd2f", - "Actions.Green": "#98971a", - "Actions.Blue": "#458588", - "Actions.GreyInline.Dark": "#fbf1c7", - - "Objects.Grey": "#928374FF", - "Objects.RedStatus": "#fb4934FF", - "Objects.Red": "#fb4934FF", - "Objects.Pink": "#d3869bFF", - "Objects.Yellow": "#fabd2fFF", - "Objects.Green": "#98971aFF", - "Objects.Blue": "#458588FF", - "Objects.Purple": "#b16286FF", - "Objects.BlackText": "#000000FF", - "Objects.YellowDark": "#d79921FF", - "Objects.GreenAndroid": "#b8bb26FF", - - "Checkbox.Background.Default.Dark": "#282828", - "Checkbox.Border.Default.Dark": "#fbf1c7", - "Checkbox.Foreground.Selected.Dark": "#fbf1c7", - "Checkbox.Focus.Wide.Dark": "#458588", - "Checkbox.Focus.Thin.Default.Dark": "#458588", - "Checkbox.Focus.Thin.Selected.Dark": "#458588", - "Checkbox.Background.Disabled.Dark": "#282828", - "Checkbox.Border.Disabled.Dark": "#a89984", - "Checkbox.Foreground.Disabled.Dark": "#a89984" - } - } -} diff --git a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_soft.theme.json b/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_soft.theme.json deleted file mode 100644 index 4cebc316..00000000 --- a/flatlaf-intellij-themes/src/main/resources/com/formdev/flatlaf/intellijthemes/themes/gruvbox_dark_soft.theme.json +++ /dev/null @@ -1,194 +0,0 @@ -{ - "name": "Gruvbox Dark Soft", - "dark": true, - "author": "Vincent Parizet", - "editorScheme": "/gruvbox_dark_soft.xml", - "colors": { - "bg0": "#282828", - "bg0_h": "#1d2021", - "bg0_s": "#32302f", - "bg0_ss": "#4F4945", - "bg1": "#3c3836", - "bg2": "#504945", - "bg3": "#665c54", - "bg4": "#7c6f64", - "bg": "#32302f", - - "fg0": "#fbf1c7", - "fg1": "#ebdbb2", - "fg2": "#d5c4a1", - "fg3": "#bdae93", - "fg4": "#a89984", - "fg": "#ebdbb2", - - "red0": "#cc241d", - "red1": "#fb4934", - "green0": "#98971a", - "green1": "#b8bb26", - "yellow0": "#d79921", - "yellow1": "#fabd2f", - "blue0": "#458588", - "blue1": "#83a598", - "purple0": "#b16286", - "purple1": "#d3869b", - "aqua0": "#689d6a", - "aqua1": "#8ec07c", - "gray0": "#a89984", - "gray1": "#928374", - "orange0": "#d65d0e", - "orange1": "#fe8019" - }, - "ui": { - "*": { - "background": "bg", - "foreground": "fg", - - "infoForeground": "fg", - - "lightSelectionBackground": "bg1", - "selectionBackground": "bg0_ss", - "selectionForeground": "fg0", - - "selectionBackgroundInactive": "bg0_ss", - "selectionInactiveBackground": "bg0_ss", - - "selectedBackground": "bg0_h", - "selectedForeground": "fg0", - "selectedInactiveBackground": "bg0_s", - "selectedBackgroundInactive": "bg0_s", - - "hoverBackground": "#28282866", - - "borderColor": "bg2", - "disabledBorderColor": "bg0_h", - - "separatorColor": "bg2" - }, - "ActionButton": { - "hoverBackground": "bg2" - }, - "Button": { - "startBackground": "bg", - "endBackground": "bg", - "startBorderColor": "bg2", - "endBorderColor": "bg2", - - "default": { - "foreground": "fg0", - "startBackground": "#32302F", - "endBackground": "#32302F", - "startBorderColor": "#4F4945", - "endBorderColor": "#4F4945", - "focusedBorderColor": "bg" - } - }, - "ComboBox": { - "nonEditableBackground": "bg", - "ArrowButton": { - "iconColor": "fg0", - "disabledIconColor": "fg0", - "nonEditableBackground": "bg" - } - }, - "EditorTabs": { - "selectedBackground": "bg0_s", - "underlinedTabBackground": "bg2", - "underlineColor": "blue1", - "inactiveMaskColor": "#28282866" - }, - "ToolWindow": { - "Header": { - "background": "bg0_s", - "inactiveBackground": "bg" - }, - - "HeaderTab": { - "selectedInactiveBackground": "bg0_h", - "hoverInactiveBackground": "bg0_h" - } - }, - "Table": { - "stripeColor": "bg0_s", - "lightSelectionForeground": "fg0", - "lightSelectionInactiveForeground":"fg4", - "lightSelectionBackground": "bg2", - "lightSelectionInactiveBackground":"bg" - }, - "FileColor": { - "Yellow": "#fabd2f22", - "Green": "#b8bb2622", - "Blue": "#83a59822", - "Violet": "#d3869b22", - "Orange": "#fe801922", - "Rose": "#cc241d22" - }, - "Link": { - "activeForeground": "blue1", - "hoverForeground": "blue1", - "pressedForeground": "blue1", - "visitedForeground": "blue1" - }, - "ScrollBar" : { - "hoverThumbBorderColor" : "bg1", - "background" : "bg0", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumb": "bg2", - "thumbBorderColor": "bg2", - "thumbColor": "bg2", - "Transparent": { - "thumbColor": "bg2", - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2" - }, - "Mac" : { - "Transparent": { - "thumbColor": "bg2", - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2" - }, - "hoverThumbBorderColor" : "bg1", - "hoverThumbColor": "bg1", - "hoverTrackColor": "bg0", - "thumbBorderColor": "bg2", - "thumbColor": "bg2" - } - } - }, - "icons": { - "ColorPalette": { - "Actions.Grey": "#928374", - "Actions.Red": "#fb4934", - "Actions.Yellow": "#fabd2f", - "Actions.Green": "#98971a", - "Actions.Blue": "#458588", - "Actions.GreyInline.Dark": "#fbf1c7", - - "Objects.Grey": "#928374FF", - "Objects.RedStatus": "#fb4934FF", - "Objects.Red": "#fb4934FF", - "Objects.Pink": "#d3869bFF", - "Objects.Yellow": "#fabd2fFF", - "Objects.Green": "#98971aFF", - "Objects.Blue": "#458588FF", - "Objects.Purple": "#b16286FF", - "Objects.BlackText": "#000000FF", - "Objects.YellowDark": "#d79921FF", - "Objects.GreenAndroid": "#b8bb26FF", - - "Checkbox.Background.Default.Dark": "#282828", - "Checkbox.Border.Default.Dark": "#fbf1c7", - "Checkbox.Foreground.Selected.Dark": "#fbf1c7", - "Checkbox.Focus.Wide.Dark": "#458588", - "Checkbox.Focus.Thin.Default.Dark": "#458588", - "Checkbox.Focus.Thin.Selected.Dark": "#458588", - "Checkbox.Background.Disabled.Dark": "#282828", - "Checkbox.Border.Disabled.Dark": "#a89984", - "Checkbox.Foreground.Disabled.Dark": "#a89984" - } - } -} From 9b1ae5c74a727ccdf9f1d02ee8e1814b5cd8ef2a Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 6 Mar 2025 13:14:04 +0100 Subject: [PATCH 12/15] IntelliJ Themes: support customizing through properties files (issue #824) re-written how .theme.json values are applied: - old: .theme.json values were applied as last step to a UIDefaults object (after processing all FlatLaf properties files) - new: .theme.json values are applied to the properties map while loading all FlatLaf properties files --- CHANGELOG.md | 4 +- .../java/com/formdev/flatlaf/FlatLaf.java | 14 +- .../com/formdev/flatlaf/IntelliJTheme.java | 510 +++++++------- .../com/formdev/flatlaf/UIDefaultsLoader.java | 24 +- .../formdev/flatlaf/FlatDarculaLaf.properties | 1 - .../flatlaf/IntelliJTheme$ThemeLaf.properties | 643 ++++++++++-------- .../com/formdev/flatlaf/demo/DemoPrefs.java | 2 + .../demo/intellijthemes/IJThemesDump.java | 118 ++++ .../demo/intellijthemes/IJThemesPanel.java | 20 +- .../dumps/uidefaults/FlatDarculaLaf_1.8.0.txt | 4 +- .../testing/uidefaults/UIDefaultsDump.java | 84 ++- 11 files changed, 870 insertions(+), 554 deletions(-) create mode 100644 flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesDump.java diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cc606f1..49500fdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,7 +24,9 @@ FlatLaf Change Log - Extras: `FlatSVGIcon` color filters now can access painting component to implement component state based color mappings. (issue #906) - Linux: Added `libflatlaf-linux-arm64.so` for Linux on ARM64. (issue #899) -- IntelliJ Themes: Updated to latest versions. +- IntelliJ Themes: + - Updated to latest versions and fixed various issues. + - Support customizing through properties files. (issue #824) #### Fixed bugs diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java index dec465d1..803783fe 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/FlatLaf.java @@ -521,10 +521,10 @@ public abstract class FlatLaf // load defaults from properties List> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading(); - if( lafClassesForDefaultsLoading != null ) - UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), isDark(), defaults ); - else - UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), isDark(), defaults ); + if( lafClassesForDefaultsLoading == null ) + lafClassesForDefaultsLoading = UIDefaultsLoader.getLafClassesForDefaultsLoading( getClass() ); + UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, + this::applyAdditionalProperties, getAdditionalDefaults(), isDark(), defaults ); // setup default font after loading defaults from properties // to allow defining "defaultFont" in properties @@ -541,9 +541,6 @@ public abstract class FlatLaf // initialize text antialiasing putAATextInfo( defaults ); - // apply additional defaults (e.g. from IntelliJ themes) - applyAdditionalDefaults( defaults ); - // allow addons modifying UI defaults for( FlatDefaultsAddon addon : addons ) addon.afterDefaultsLoading( this, defaults ); @@ -564,7 +561,8 @@ public abstract class FlatLaf return defaults; } - void applyAdditionalDefaults( UIDefaults defaults ) { + // apply additional properties (e.g. from IntelliJ themes) + void applyAdditionalProperties( Properties properties ) { } protected List> getLafClassesForDefaultsLoading() { diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java index 5be0c5c0..d352d728 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/IntelliJTheme.java @@ -16,7 +16,6 @@ package com.formdev.flatlaf; -import java.awt.Color; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -25,20 +24,16 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.Set; -import java.util.Map.Entry; -import javax.swing.UIDefaults; -import javax.swing.plaf.ColorUIResource; import com.formdev.flatlaf.json.Json; import com.formdev.flatlaf.json.ParseException; -import com.formdev.flatlaf.util.ColorFunctions; import com.formdev.flatlaf.util.LoggingFacade; import com.formdev.flatlaf.util.StringUtils; import com.formdev.flatlaf.util.SystemInfo; @@ -63,13 +58,11 @@ public class IntelliJTheme public final boolean dark; public final String author; - private final boolean isMaterialUILite; + private Map jsonColors; + private Map jsonUI; + private Map jsonIcons; - private Map colors; - private Map ui; - private Map icons; - - private Map namedColors = Collections.emptyMap(); + private Map namedColors = Collections.emptyMap(); /** * Loads a IntelliJ .theme.json file from the given input stream, @@ -84,7 +77,7 @@ public class IntelliJTheme try { return FlatLaf.setup( createLaf( in ) ); } catch( Exception ex ) { - LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to load IntelliJ theme", ex ); + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to load IntelliJ theme", ex ); return false; } } @@ -138,94 +131,90 @@ public class IntelliJTheme dark = Boolean.parseBoolean( (String) json.get( "dark" ) ); author = (String) json.get( "author" ); - isMaterialUILite = author.equals( "Mallowigi" ); - - colors = (Map) json.get( "colors" ); - ui = (Map) json.get( "ui" ); - icons = (Map) json.get( "icons" ); + jsonColors = (Map) json.get( "colors" ); + jsonUI = (Map) json.get( "ui" ); + jsonIcons = (Map) json.get( "icons" ); } - private void applyProperties( UIDefaults defaults ) { - if( ui == null ) + private void applyProperties( Properties properties ) { + if( jsonUI == null ) return; - defaults.put( "Component.isIntelliJTheme", true ); + put( properties, "Component.isIntelliJTheme", "true" ); // enable button shadows - defaults.put( "Button.paintShadow", true ); - defaults.put( "Button.shadowWidth", dark ? 2 : 1 ); + put( properties, "Button.paintShadow", "true" ); + put( properties, "Button.shadowWidth", dark ? "2" : "1" ); - Map themeSpecificDefaults = removeThemeSpecificDefaults( defaults ); + Map themeSpecificProps = removeThemeSpecificProps( properties ); + Set jsonUIKeys = new HashSet<>(); - loadNamedColors( defaults ); + // Json node "colors" + loadNamedColors( properties, jsonUIKeys ); - // convert Json "ui" structure to UI defaults - ArrayList defaultsKeysCache = new ArrayList<>(); - Set uiKeys = new HashSet<>(); - for( Map.Entry e : ui.entrySet() ) - apply( e.getKey(), e.getValue(), defaults, defaultsKeysCache, uiKeys ); + // convert Json "ui" structure to UI properties + for( Map.Entry e : jsonUI.entrySet() ) + apply( e.getKey(), e.getValue(), properties, jsonUIKeys ); - applyColorPalette( defaults ); - applyCheckBoxColors( defaults ); + // set FlatLaf variables + copyIfSetInJson( properties, jsonUIKeys, "@background", "Panel.background", "*.background" ); + copyIfSetInJson( properties, jsonUIKeys, "@foreground", "CheckBox.foreground", "*.foreground" ); + copyIfSetInJson( properties, jsonUIKeys, "@accentBaseColor", + "ColorPalette.accent", // Material UI Lite, Hiberbee + "ColorPalette.accentColor", // Dracula, One Dark + "ProgressBar.foreground", + "*.selectionBackground" ); + copyIfSetInJson( properties, jsonUIKeys, "@accentUnderlineColor", "*.underlineColor", "TabbedPane.underlineColor" ); + copyIfSetInJson( properties, jsonUIKeys, "@selectionBackground", "*.selectionBackground" ); + copyIfSetInJson( properties, jsonUIKeys, "@selectionForeground", "*.selectionForeground" ); + copyIfSetInJson( properties, jsonUIKeys, "@selectionInactiveBackground", "*.selectionInactiveBackground" ); + copyIfSetInJson( properties, jsonUIKeys, "@selectionInactiveForeground", "*.selectionInactiveForeground" ); + + // Json node "icons/ColorPalette" + applyIconsColorPalette( properties ); + + // apply "CheckBox.icon." colors + applyCheckBoxColors( properties ); // copy values for( Map.Entry e : uiKeyCopying.entrySet() ) { - Object value = defaults.get( e.getValue() ); + Object value = properties.get( e.getValue() ); if( value != null ) - defaults.put( e.getKey(), value ); + put( properties, e.getKey(), value ); } // IDEA does not paint button background if disabled, but FlatLaf does - Object panelBackground = defaults.get( "Panel.background" ); - defaults.put( "Button.disabledBackground", panelBackground ); - defaults.put( "ToggleButton.disabledBackground", panelBackground ); + put( properties, "Button.disabledBackground", "@disabledBackground" ); + put( properties, "ToggleButton.disabledBackground", "@disabledBackground" ); - // fix Button borders - copyIfNotSet( defaults, "Button.focusedBorderColor", "Component.focusedBorderColor", uiKeys ); - defaults.put( "Button.hoverBorderColor", defaults.get( "Button.focusedBorderColor" ) ); - defaults.put( "HelpButton.hoverBorderColor", defaults.get( "Button.focusedBorderColor" ) ); - - // IDEA uses an SVG icon for the help button, but paints the background with Button.startBackground and Button.endBackground - Object helpButtonBackground = defaults.get( "Button.startBackground" ); - Object helpButtonBorderColor = defaults.get( "Button.startBorderColor" ); - if( helpButtonBackground == null ) - helpButtonBackground = defaults.get( "Button.background" ); - if( helpButtonBorderColor == null ) - helpButtonBorderColor = defaults.get( "Button.borderColor" ); - defaults.put( "HelpButton.background", helpButtonBackground ); - defaults.put( "HelpButton.borderColor", helpButtonBorderColor ); - defaults.put( "HelpButton.disabledBackground", panelBackground ); - defaults.put( "HelpButton.disabledBorderColor", defaults.get( "Button.disabledBorderColor" ) ); - defaults.put( "HelpButton.focusedBorderColor", defaults.get( "Button.focusedBorderColor" ) ); - defaults.put( "HelpButton.focusedBackground", defaults.get( "Button.focusedBackground" ) ); + // fix Button + fixStartEnd( properties, jsonUIKeys, "Button.startBackground", "Button.endBackground", "Button.background" ); + fixStartEnd( properties, jsonUIKeys, "Button.startBorderColor", "Button.endBorderColor", "Button.borderColor" ); + fixStartEnd( properties, jsonUIKeys, "Button.default.startBackground", "Button.default.endBackground", "Button.default.background" ); + fixStartEnd( properties, jsonUIKeys, "Button.default.startBorderColor", "Button.default.endBorderColor", "Button.default.borderColor" ); // IDEA uses TextField.background for editable ComboBox and Spinner - Object textFieldBackground = get( defaults, themeSpecificDefaults, "TextField.background" ); - defaults.put( "ComboBox.editableBackground", textFieldBackground ); - defaults.put( "Spinner.background", textFieldBackground ); - - // Spinner arrow button always has same colors as ComboBox arrow button - defaults.put( "Spinner.buttonBackground", defaults.get( "ComboBox.buttonEditableBackground" ) ); - defaults.put( "Spinner.buttonArrowColor", defaults.get( "ComboBox.buttonArrowColor" ) ); - defaults.put( "Spinner.buttonDisabledArrowColor", defaults.get( "ComboBox.buttonDisabledArrowColor" ) ); + Object textFieldBackground = get( properties, themeSpecificProps, "TextField.background" ); + put( properties, "ComboBox.editableBackground", textFieldBackground ); + put( properties, "Spinner.background", textFieldBackground ); // some themes specify colors for TextField.background, but forget to specify it for other components // (probably because those components are not used in IntelliJ IDEA) - putAll( defaults, textFieldBackground, + putAll( properties, textFieldBackground, "EditorPane.background", "FormattedTextField.background", "PasswordField.background", "TextArea.background", "TextPane.background" ); - putAll( defaults, get( defaults, themeSpecificDefaults, "TextField.selectionBackground" ), + putAll( properties, get( properties, themeSpecificProps, "TextField.selectionBackground" ), "EditorPane.selectionBackground", "FormattedTextField.selectionBackground", "PasswordField.selectionBackground", "TextArea.selectionBackground", "TextPane.selectionBackground" ); - putAll( defaults, get( defaults, themeSpecificDefaults, "TextField.selectionForeground" ), + putAll( properties, get( properties, themeSpecificProps, "TextField.selectionForeground" ), "EditorPane.selectionForeground", "FormattedTextField.selectionForeground", "PasswordField.selectionForeground", @@ -235,7 +224,7 @@ public class IntelliJTheme // fix disabled and not-editable backgrounds for text components, combobox and spinner // (IntelliJ IDEA does not use those colors; instead it used background color of parent) - putAll( defaults, panelBackground, + putAll( properties, "@disabledBackground", "ComboBox.disabledBackground", "EditorPane.disabledBackground", "EditorPane.inactiveBackground", "FormattedTextField.disabledBackground", "FormattedTextField.inactiveBackground", @@ -246,132 +235,148 @@ public class IntelliJTheme "TextPane.disabledBackground", "TextPane.inactiveBackground" ); - // fix ToggleButton - if( !uiKeys.contains( "ToggleButton.startBackground" ) && !uiKeys.contains( "*.startBackground" ) ) - defaults.put( "ToggleButton.startBackground", defaults.get( "Button.startBackground" ) ); - if( !uiKeys.contains( "ToggleButton.endBackground" ) && !uiKeys.contains( "*.endBackground" ) ) - defaults.put( "ToggleButton.endBackground", defaults.get( "Button.endBackground" ) ); - if( !uiKeys.contains( "ToggleButton.foreground" ) && uiKeys.contains( "Button.foreground" ) ) - defaults.put( "ToggleButton.foreground", defaults.get( "Button.foreground" ) ); - // fix DesktopPane background (use Panel.background and make it 5% darker/lighter) - Color desktopBackgroundBase = defaults.getColor( "Panel.background" ); - Color desktopBackground = ColorFunctions.applyFunctions( desktopBackgroundBase, - new ColorFunctions.HSLIncreaseDecrease( 2, dark, 5, false, true ) ); - defaults.put( "Desktop.background", new ColorUIResource( desktopBackground ) ); - - // fix List and Table background colors in Material UI Lite themes - if( isMaterialUILite ) { - defaults.put( "List.background", defaults.get( "Tree.background" ) ); - defaults.put( "Table.background", defaults.get( "Tree.background" ) ); - } + put( properties, "Desktop.background", dark ? "lighten($Panel.background,5%)" : "darken($Panel.background,5%)" ); // limit tree row height - int rowHeight = defaults.getInt( "Tree.rowHeight" ); + String rowHeightStr = (String) properties.get( "Tree.rowHeight" ); + int rowHeight = (rowHeightStr != null) ? Integer.parseInt( rowHeightStr ) : 0; if( rowHeight > 22 ) - defaults.put( "Tree.rowHeight", 22 ); + put( properties, "Tree.rowHeight", "22" ); - // get (and remove) theme specific wildcard replacements, which override all other defaults that end with same suffix - HashMap wildcards = new HashMap<>(); - Iterator> it = themeSpecificDefaults.entrySet().iterator(); + // get (and remove) theme specific wildcard replacements, which override all other properties that end with same suffix + HashMap wildcardProps = new HashMap<>(); + Iterator> it = themeSpecificProps.entrySet().iterator(); while( it.hasNext() ) { - Entry e = it.next(); - String key = (String) e.getKey(); + Map.Entry e = it.next(); + String key = e.getKey(); if( key.startsWith( "*." ) ) { - wildcards.put( key.substring( "*.".length() ), e.getValue() ); + wildcardProps.put( key, e.getValue() ); it.remove(); } } - // override UI defaults with theme specific wildcard replacements - if( !wildcards.isEmpty() ) { - for( Object key : defaults.keySet().toArray() ) { - int dot; - if( !(key instanceof String) || - (dot = ((String)key).lastIndexOf( '.' )) < 0 ) - continue; - - String wildcardKey = ((String)key).substring( dot + 1 ); - Object wildcardValue = wildcards.get( wildcardKey ); - if( wildcardValue != null ) - defaults.put( key, wildcardValue ); - } + // override properties with theme specific wildcard replacements + if( !wildcardProps.isEmpty() ) { + for( Map.Entry e : wildcardProps.entrySet() ) + applyWildcard( properties, e.getKey(), e.getValue() ); } - // apply theme specific UI defaults at the end to allow overwriting - for( Map.Entry e : themeSpecificDefaults.entrySet() ) { - Object key = e.getKey(); - Object value = e.getValue(); + // apply theme specific properties at the end to allow overwriting + for( Map.Entry e : themeSpecificProps.entrySet() ) { + String key = e.getKey(); + String value = e.getValue(); // append styles to existing styles - if( key instanceof String && ((String)key).startsWith( "[style]" ) ) { - Object oldValue = defaults.get( key ); + if( key.startsWith( "[style]" ) ) { + String oldValue = (String) properties.get( key ); if( oldValue != null ) value = oldValue + "; " + value; } - defaults.put( key, value ); + put( properties, key, value ); } // let Java release memory - colors = null; - ui = null; - icons = null; + jsonColors = null; + jsonUI = null; + jsonIcons = null; } - private Object get( UIDefaults defaults, Map themeSpecificDefaults, String key ) { - return themeSpecificDefaults.getOrDefault( key, defaults.get( key ) ); + private String get( Properties properties, Map themeSpecificProps, String key ) { + return themeSpecificProps.getOrDefault( key, (String) properties.get( key ) ); } - private void putAll( UIDefaults defaults, Object value, String... keys ) { + private void put( Properties properties, Object key, Object value ) { + if( value != null ) + properties.put( key, value ); + else + properties.remove( key ); + } + + private void putAll( Properties properties, Object value, String... keys ) { for( String key : keys ) - defaults.put( key, value ); + put( properties, key, value ); } - private Map removeThemeSpecificDefaults( UIDefaults defaults ) { - // search for theme specific UI defaults keys + private void copyIfSetInJson( Properties properties, Set jsonUIKeys, String destKey, String... srcKeys ) { + for( String srcKey : srcKeys ) { + if( jsonUIKeys.contains( srcKey ) ) { + Object value = properties.get( srcKey ); + if( value != null ) { + put( properties, destKey, value ); + break; + } + } + } + } + + private void fixStartEnd( Properties properties, Set jsonUIKeys, String startKey, String endKey, String key ) { + if( jsonUIKeys.contains( startKey ) && jsonUIKeys.contains( endKey ) ) + put( properties, key, "$" + startKey ); + } + + private Map removeThemeSpecificProps( Properties properties ) { + // search for theme specific properties keys ArrayList themeSpecificKeys = new ArrayList<>(); - for( Object key : defaults.keySet() ) { - if( key instanceof String && ((String)key).startsWith( "{" ) ) + for( Object key : properties.keySet() ) { + if( ((String)key).startsWith( "{" ) ) themeSpecificKeys.add( (String) key ); } - // remove theme specific UI defaults and remember only those for current theme - Map themeSpecificDefaults = new HashMap<>(); + // special prefixes (priority from highest to lowest) String currentThemePrefix = '{' + name.replace( ' ', '_' ) + '}'; String currentThemeAndAuthorPrefix = '{' + name.replace( ' ', '_' ) + "---" + author.replace( ' ', '_' ) + '}'; String currentAuthorPrefix = "{author-" + author.replace( ' ', '_' ) + '}'; + String lightOrDarkPrefix = dark ? "{*-dark}" : "{*-light}"; String allThemesPrefix = "{*}"; - String[] prefixes = { currentThemePrefix, currentThemeAndAuthorPrefix, currentAuthorPrefix, allThemesPrefix }; + String[] prefixes = { currentThemePrefix, currentThemeAndAuthorPrefix, currentAuthorPrefix, lightOrDarkPrefix, allThemesPrefix }; + + // collect values for special prefixes in its own maps + @SuppressWarnings( "unchecked" ) + Map[] maps = new Map[prefixes.length]; + for( int i = 0; i < maps.length; i++ ) + maps[i] = new HashMap<>(); + + // remove theme specific properties and remember only those for current theme for( String key : themeSpecificKeys ) { - Object value = defaults.remove( key ); - for( String prefix : prefixes ) { + String value = (String) properties.remove( key ); + for( int i = 0; i < prefixes.length; i++ ) { + String prefix = prefixes[i]; if( key.startsWith( prefix ) ) { - themeSpecificDefaults.put( key.substring( prefix.length() ), value ); + maps[i].put( key.substring( prefix.length() ), value ); break; } } } - return themeSpecificDefaults; + // copy values into single map (from lowest to highest priority) + Map themeSpecificProps = new HashMap<>(); + for( int i = maps.length - 1; i >= 0; i-- ) + themeSpecificProps.putAll( maps[i] ); + return themeSpecificProps; } /** * http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes_customize.html#defining-named-colors */ - private void loadNamedColors( UIDefaults defaults ) { - if( colors == null ) + private void loadNamedColors( Properties properties, Set jsonUIKeys ) { + if( jsonColors == null ) return; namedColors = new HashMap<>(); - for( Map.Entry e : colors.entrySet() ) { + for( Map.Entry e : jsonColors.entrySet() ) { String value = e.getValue(); - ColorUIResource color = parseColor( value ); - if( color != null ) { + if( canParseColor( value ) ) { String key = e.getKey(); - namedColors.put( key, color ); - defaults.put( "ColorPalette." + key, color ); + namedColors.put( key, value ); + + String uiKey = "ColorPalette." + key; + put( properties, uiKey, value ); + + // this is only necessary for copyIfSetInJson() (used for accent color) + jsonUIKeys.add( uiKey ); } } } @@ -380,7 +385,7 @@ public class IntelliJTheme * http://www.jetbrains.org/intellij/sdk/docs/reference_guide/ui_themes/themes_customize.html#custom-ui-control-colors */ @SuppressWarnings( "unchecked" ) - private void apply( String key, Object value, UIDefaults defaults, ArrayList defaultsKeysCache, Set uiKeys ) { + private void apply( String key, Object value, Properties properties, Set jsonUIKeys ) { if( value instanceof Map ) { Map map = (Map)value; if( map.containsKey( "os.default" ) || map.containsKey( "os.windows" ) || map.containsKey( "os.mac" ) || map.containsKey( "os.linux" ) ) { @@ -388,12 +393,12 @@ public class IntelliJTheme : SystemInfo.isMacOS ? "os.mac" : SystemInfo.isLinux ? "os.linux" : null; if( osKey != null && map.containsKey( osKey ) ) - apply( key, map.get( osKey ), defaults, defaultsKeysCache, uiKeys ); + apply( key, map.get( osKey ), properties, jsonUIKeys ); else if( map.containsKey( "os.default" ) ) - apply( key, map.get( "os.default" ), defaults, defaultsKeysCache, uiKeys ); + apply( key, map.get( "os.default" ), properties, jsonUIKeys ); } else { for( Map.Entry e : map.entrySet() ) - apply( key + '.' + e.getKey(), e.getValue(), defaults, defaultsKeysCache, uiKeys ); + apply( key + '.' + e.getKey(), e.getValue(), properties, jsonUIKeys ); } } else { if( "".equals( value ) ) @@ -418,15 +423,15 @@ public class IntelliJTheme if( dot > 0 && uiKeyExcludes.contains( key.substring( 0, dot + 1 ) ) ) return; - if( uiKeyDoNotOverride.contains( key ) && uiKeys.contains( key ) ) + if( uiKeyDoNotOverride.contains( key ) && jsonUIKeys.contains( key ) ) return; - uiKeys.add( key ); + jsonUIKeys.add( key ); String valueStr = value.toString(); // map named colors - Object uiValue = namedColors.get( valueStr ); + String uiValue = namedColors.get( valueStr ); // parse value if( uiValue == null ) { @@ -445,47 +450,64 @@ public class IntelliJTheme // parse value try { - uiValue = UIDefaultsLoader.parseValue( key, valueStr, null ); + UIDefaultsLoader.parseValue( key, valueStr, null ); + uiValue = valueStr; } catch( RuntimeException ex ) { - UIDefaultsLoader.logParseError( key, valueStr, ex, false ); + UIDefaultsLoader.logParseError( key, valueStr, ex, true ); return; // ignore invalid value } } - if( key.startsWith( "*." ) ) { - // wildcard - String tail = key.substring( 1 ); + // wildcards + if( applyWildcard( properties, key, uiValue ) ) + return; - // because we can not iterate over the UI defaults keys while - // modifying UI defaults in the same loop, we have to copy the keys - if( defaultsKeysCache.size() != defaults.size() ) { - defaultsKeysCache.clear(); - Enumeration e = defaults.keys(); - while( e.hasMoreElements() ) - defaultsKeysCache.add( e.nextElement() ); - } - - // replace all values in UI defaults that match the wildcard key - for( Object k : defaultsKeysCache ) { - if( k.equals( "Desktop.background" ) || - k.equals( "DesktopIcon.background" ) || - k.equals( "TabbedPane.focusColor" ) ) - continue; - - if( k instanceof String ) { - // support replacing of mapped keys - // (e.g. set ComboBox.buttonEditableBackground to *.background - // because it is mapped from ComboBox.ArrowButton.background) - String km = uiKeyInverseMapping.getOrDefault( k, (String) k ); - if( km.endsWith( tail ) && !((String)k).startsWith( "CheckBox.icon." ) ) - defaults.put( k, uiValue ); - } - } - } else - defaults.put( key, uiValue ); + put( properties, key, uiValue ); } } + private boolean applyWildcard( Properties properties, String key, String value ) { + if( !key.startsWith( "*." ) ) + return false; + + String tail = key.substring( 1 ); + + // because we can not iterate over the properties keys while + // modifying properties in the same loop, we have to copy the keys + String[] keys = properties.keySet().toArray( new String[properties.size()] ); + + // replace all values in properties that match the wildcard key + for( String k : keys ) { + if( k.startsWith( "*" ) || + k.startsWith( "@" ) || + k.startsWith( "HelpButton." ) || + k.startsWith( "JX" ) || + k.startsWith( "Jide" ) || + k.startsWith( "ProgressBar.selection" ) || + k.startsWith( "TitlePane." ) || + k.startsWith( "ToggleButton.tab." ) || + k.equals( "Desktop.background" ) || + k.equals( "DesktopIcon.background" ) || + k.equals( "TabbedPane.focusColor" ) || + k.endsWith( ".hoverBackground" ) || + k.endsWith( ".pressedBackground" ) ) + continue; + + // support replacing of mapped keys + // (e.g. set ComboBox.buttonEditableBackground to *.background + // because it is mapped from ComboBox.ArrowButton.background) + String km = uiKeyInverseMapping.getOrDefault( k, k ); + if( km.endsWith( tail ) && !k.startsWith( "CheckBox.icon." ) ) + put( properties, k, value ); + } + + // Note: also add wildcards to properties and let UIDefaultsLoader + // process it on BasicLookAndFeel UI defaults + put( properties, key, value ); + + return true; + } + private String fixColorIfValid( String newColorStr, String colorStr ) { try { // check whether it is valid @@ -497,11 +519,11 @@ public class IntelliJTheme } } - private void applyColorPalette( UIDefaults defaults ) { - if( icons == null ) + private void applyIconsColorPalette( Properties properties ) { + if( jsonIcons == null ) return; - Object palette = icons.get( "ColorPalette" ); + Object palette = jsonIcons.get( "ColorPalette" ); if( !(palette instanceof Map) ) return; @@ -510,44 +532,48 @@ public class IntelliJTheme for( Map.Entry e : colorPalette.entrySet() ) { String key = e.getKey(); Object value = e.getValue(); - if( key.startsWith( "Checkbox." ) || !(value instanceof String) ) + if( key.startsWith( "Checkbox." ) || key.startsWith( "#" ) || !(value instanceof String) ) continue; if( dark ) key = StringUtils.removeTrailing( key, ".Dark" ); - ColorUIResource color = toColor( (String) value ); + String color = toColor( (String) value ); if( color != null ) - defaults.put( key, color ); + put( properties, key, color ); } } - private ColorUIResource toColor( String value ) { + private String toColor( String value ) { + if( value.startsWith( "##" ) ) + value = fixColorIfValid( value.substring( 1 ), value ); + // map named colors - ColorUIResource color = namedColors.get( value ); + String color = namedColors.get( value ); // parse color - return (color != null) ? color : parseColor( value ); + return (color != null) ? color : (canParseColor( value ) ? value : null); } - private ColorUIResource parseColor( String value ) { + private boolean canParseColor( String value ) { try { - return UIDefaultsLoader.parseColor( value ); + return UIDefaultsLoader.parseColor( value ) != null; } catch( IllegalArgumentException ex ) { - return null; + LoggingFacade.INSTANCE.logSevere( "FlatLaf: Failed to parse color: '" + value + '\'', ex ); + return false; } } /** * Because IDEA uses SVGs for check boxes and radio buttons, the colors for * these two components are specified in "icons > ColorPalette". - * FlatLaf uses vector icons and expects colors for the two components in UI defaults. + * FlatLaf uses vector icons and expects colors for the two components in properties. */ - private void applyCheckBoxColors( UIDefaults defaults ) { - if( icons == null ) + private void applyCheckBoxColors( Properties properties ) { + if( jsonIcons == null ) return; - Object palette = icons.get( "ColorPalette" ); + Object palette = jsonIcons.get( "ColorPalette" ); if( !(palette instanceof Map) ) return; @@ -569,9 +595,9 @@ public class IntelliJTheme if( !dark && newKey.startsWith( checkBoxIconPrefix ) ) newKey = "CheckBox.icon[filled].".concat( newKey.substring( checkBoxIconPrefix.length() ) ); - ColorUIResource color = toColor( (String) value ); + String color = toColor( (String) value ); if( color != null ) { - defaults.put( newKey, color ); + put( properties, newKey, color ); String key2 = checkboxDuplicateColors.get( key + ".Dark"); if( key2 != null ) { @@ -592,7 +618,7 @@ public class IntelliJTheme String newKey2 = checkboxKeyMapping.get( key2 ); if( newKey2 != null ) - defaults.put( newKey2, color ); + put( properties, newKey2, color ); } } @@ -603,13 +629,13 @@ public class IntelliJTheme // update hover, pressed and focused colors if( checkboxModified ) { // for non-filled checkbox/radiobutton used in dark themes - defaults.remove( "CheckBox.icon.focusWidth" ); - defaults.put( "CheckBox.icon.hoverBorderColor", defaults.get( "CheckBox.icon.focusedBorderColor" ) ); + properties.remove( "CheckBox.icon.focusWidth" ); + put( properties, "CheckBox.icon.hoverBorderColor", properties.get( "CheckBox.icon.focusedBorderColor" ) ); // for filled checkbox/radiobutton used in light themes - defaults.remove( "CheckBox.icon[filled].focusWidth" ); - defaults.put( "CheckBox.icon[filled].hoverBorderColor", defaults.get( "CheckBox.icon[filled].focusedBorderColor" ) ); - defaults.put( "CheckBox.icon[filled].focusedSelectedBackground", defaults.get( "CheckBox.icon[filled].selectedBackground" ) ); + properties.remove( "CheckBox.icon[filled].focusWidth" ); + put( properties, "CheckBox.icon[filled].hoverBorderColor", properties.get( "CheckBox.icon[filled].focusedBorderColor" ) ); + put( properties, "CheckBox.icon[filled].focusedSelectedBackground", properties.get( "CheckBox.icon[filled].selectedBackground" ) ); if( dark ) { // IDEA Darcula checkBoxFocused.svg, checkBoxSelectedFocused.svg, @@ -623,21 +649,14 @@ public class IntelliJTheme "CheckBox.icon[filled].focusedSelectedBorderColor", }; for( String key : focusedBorderColorKeys ) { - Color color = defaults.getColor( key ); - if( color != null ) { - defaults.put( key, new ColorUIResource( new Color( - (color.getRGB() & 0xffffff) | 0xa6000000, true ) ) ); - } + Object color = properties.get( key ); + if( color != null ) + put( properties, key, "fade(" + color + ", 65%)" ); } } } } - private void copyIfNotSet( UIDefaults defaults, String destKey, String srcKey, Set uiKeys ) { - if( !uiKeys.contains( destKey ) ) - defaults.put( destKey, defaults.get( srcKey ) ); - } - private static final Set uiKeyExcludes; private static final Set uiKeyDoNotOverride; /** Rename UI default keys (key --> value). */ @@ -653,26 +672,26 @@ public class IntelliJTheme uiKeyExcludes = new HashSet<>( Arrays.asList( "ActionButton.", "ActionToolbar.", "ActionsList.", "AppInspector.", "AssignedMnemonic.", "Autocomplete.", "AvailableMnemonic.", - "Badge.", "BigSpinner.", "Bookmark.", "BookmarkIcon.", "BookmarkMnemonicAssigned.", "BookmarkMnemonicAvailable.", + "Badge.", "Banner.", "BigSpinner.", "Bookmark.", "BookmarkIcon.", "BookmarkMnemonicAssigned.", "BookmarkMnemonicAvailable.", "BookmarkMnemonicCurrent.", "BookmarkMnemonicIcon.", "Borders.", "Breakpoint.", - "Canvas.", "Code.", "CodeWithMe.", "CombinedDiff.", "ComboBoxButton.", "CompilationCharts.", - "CompletionPopup.", "ComplexPopup.", "Content.", "ContextHelp.", "CurrentMnemonic.", "Counter.", + "Canvas.", "CellEditor.", "Code.", "CodeWithMe.", "ColumnControlButton.", "CombinedDiff.", "ComboBoxButton.", + "CompilationCharts.", "CompletionPopup.", "ComplexPopup.", "Content.", "ContextHelp.", "CurrentMnemonic.", "Counter.", "Debugger.", "DebuggerPopup.", "DebuggerTabs.", "DefaultTabs.", "Dialog.", "DialogWrapper.", "DisclosureButton.", "DragAndDrop.", "Editor.", "EditorGroupsTabs.", "EditorTabs.", - "FileColor.", "FlameGraph.", "Focus.", + "FileColor.", "FindPopup.", "FlameGraph.", "Focus.", "Git.", "Github.", "GotItTooltip.", "Group.", "Gutter.", "GutterTooltip.", "HeaderColor.", "HelpTooltip.", "Hg.", - "IconBadge.", "InformationHint.", "InplaceRefactoringPopup.", + "IconBadge.", "InformationHint.", "InlineBanner.", "InplaceRefactoringPopup.", "Lesson.", "LineProfiler.", "Link.", "LiveIndicator.", - "MainMenu.", "MainToolbar.", "MemoryIndicator.", "MlModelBinding.", "MnemonicIcon.", + "MainMenu.", "MainToolbar.", "MainWindow.", "MemoryIndicator.", "MlModelBinding.", "MnemonicIcon.", "NavBar.", "NewClass.", "NewPSD.", "Notification.", "Notifications.", "NotificationsToolwindow.", "OnePixelDivider.", "OptionButton.", "Outline.", - "ParameterInfo.", "Plugins.", "Profiler.", "ProgressIcon.", "PsiViewer.", - "ReviewList.", "RunWidget.", + "ParameterInfo.", "PresentationAssistant.", "Plugins.", "Profiler.", "ProgressIcon.", "PsiViewer.", + "Resizable.", "Review.", "ReviewList.", "RunToolbar.", "RunWidget.", "ScreenView.", "SearchEverywhere.", "SearchFieldWithExtension.", "SearchMatch.", "SearchOption.", "SearchResults.", "SegmentedButton.", "Settings.", "SidePanel.", "Space.", "SpeedSearch.", "StateWidget.", - "StatusBar.", + "StatusBar.", "StripeToolbar.", "Tag.", "TipOfTheDay.", "ToolbarComboWidget.", "ToolWindow.", "TrialWidget.", "UIDesigner.", "UnattendedHostStatus.", "ValidationTooltip.", "VersionControl.", @@ -689,6 +708,9 @@ public class IntelliJTheme "TabbedPane.selectedForeground" ) ); + // Button + uiKeyMapping.put( "Button.minimumSize", "" ); // ignore (used in Material Theme UI Lite) + // ComboBox uiKeyMapping.put( "ComboBox.background", "" ); // ignore uiKeyMapping.put( "ComboBox.buttonBackground", "" ); // ignore @@ -697,8 +719,6 @@ public class IntelliJTheme uiKeyMapping.put( "ComboBox.ArrowButton.disabledIconColor", "ComboBox.buttonDisabledArrowColor" ); uiKeyMapping.put( "ComboBox.ArrowButton.iconColor", "ComboBox.buttonArrowColor" ); uiKeyMapping.put( "ComboBox.ArrowButton.nonEditableBackground", "ComboBox.buttonBackground" ); - uiKeyCopying.put( "ComboBox.buttonSeparatorColor", "Component.borderColor" ); - uiKeyCopying.put( "ComboBox.buttonDisabledSeparatorColor", "Component.disabledBorderColor" ); // Component uiKeyMapping.put( "Component.inactiveErrorFocusColor", "Component.error.borderColor" ); @@ -706,16 +726,16 @@ public class IntelliJTheme uiKeyMapping.put( "Component.inactiveWarningFocusColor", "Component.warning.borderColor" ); uiKeyMapping.put( "Component.warningFocusColor", "Component.warning.focusedBorderColor" ); + // Label + uiKeyMapping.put( "Label.disabledForegroundColor", "" ); // ignore (used in Material Theme UI Lite) + // Link uiKeyMapping.put( "Link.activeForeground", "Component.linkColor" ); // Menu uiKeyMapping.put( "Menu.border", "Menu.margin" ); uiKeyMapping.put( "MenuItem.border", "MenuItem.margin" ); - uiKeyCopying.put( "CheckBoxMenuItem.margin", "MenuItem.margin" ); - uiKeyCopying.put( "RadioButtonMenuItem.margin", "MenuItem.margin" ); uiKeyMapping.put( "PopupMenu.border", "PopupMenu.borderInsets" ); - uiKeyCopying.put( "MenuItem.underlineSelectionColor", "TabbedPane.underlineColor" ); // IDEA uses List.selectionBackground also for menu selection uiKeyCopying.put( "Menu.selectionBackground", "List.selectionBackground" ); @@ -723,13 +743,11 @@ public class IntelliJTheme uiKeyCopying.put( "CheckBoxMenuItem.selectionBackground", "List.selectionBackground" ); uiKeyCopying.put( "RadioButtonMenuItem.selectionBackground", "List.selectionBackground" ); - // ProgressBar + // ProgressBar: IDEA uses ProgressBar.trackColor and ProgressBar.progressColor uiKeyMapping.put( "ProgressBar.background", "" ); // ignore uiKeyMapping.put( "ProgressBar.foreground", "" ); // ignore uiKeyMapping.put( "ProgressBar.trackColor", "ProgressBar.background" ); uiKeyMapping.put( "ProgressBar.progressColor", "ProgressBar.foreground" ); - uiKeyCopying.put( "ProgressBar.selectionForeground", "ProgressBar.background" ); - uiKeyCopying.put( "ProgressBar.selectionBackground", "ProgressBar.foreground" ); // ScrollBar uiKeyMapping.put( "ScrollBar.trackColor", "ScrollBar.track" ); @@ -739,34 +757,30 @@ public class IntelliJTheme uiKeyMapping.put( "Separator.separatorColor", "Separator.foreground" ); // Slider + uiKeyMapping.put( "Slider.buttonColor", "Slider.thumbColor" ); + uiKeyMapping.put( "Slider.buttonBorderColor", "" ); // ignore + uiKeyMapping.put( "Slider.thumb", "" ); // ignore (used in Material Theme UI Lite) + uiKeyMapping.put( "Slider.track", "" ); // ignore (used in Material Theme UI Lite) + uiKeyMapping.put( "Slider.trackDisabled", "" ); // ignore (used in Material Theme UI Lite) uiKeyMapping.put( "Slider.trackWidth", "" ); // ignore (used in Material Theme UI Lite) - uiKeyCopying.put( "Slider.trackValueColor", "ProgressBar.foreground" ); - uiKeyCopying.put( "Slider.thumbColor", "ProgressBar.foreground" ); - uiKeyCopying.put( "Slider.trackColor", "ProgressBar.background" ); - - // Spinner - uiKeyCopying.put( "Spinner.buttonSeparatorColor", "Component.borderColor" ); - uiKeyCopying.put( "Spinner.buttonDisabledSeparatorColor", "Component.disabledBorderColor" ); // TabbedPane uiKeyMapping.put( "DefaultTabs.underlinedTabBackground", "TabbedPane.selectedBackground" ); uiKeyMapping.put( "DefaultTabs.underlinedTabForeground", "TabbedPane.selectedForeground" ); uiKeyMapping.put( "DefaultTabs.inactiveUnderlineColor", "TabbedPane.inactiveUnderlineColor" ); + uiKeyMapping.put( "TabbedPane.tabAreaInsets", "" ); // ignore (used in Material Theme UI Lite) + + // TableHeader + uiKeyMapping.put( "TableHeader.cellBorder", "" ); // ignore (used in Material Theme UI Lite) + uiKeyMapping.put( "TableHeader.height", "" ); // ignore (used in Material Theme UI Lite) // TitlePane - uiKeyCopying.put( "TitlePane.inactiveBackground", "TitlePane.background" ); uiKeyMapping.put( "TitlePane.infoForeground", "TitlePane.foreground" ); uiKeyMapping.put( "TitlePane.inactiveInfoForeground", "TitlePane.inactiveForeground" ); for( Map.Entry e : uiKeyMapping.entrySet() ) uiKeyInverseMapping.put( e.getValue(), e.getKey() ); - uiKeyCopying.put( "ToggleButton.tab.underlineColor", "TabbedPane.underlineColor" ); - uiKeyCopying.put( "ToggleButton.tab.disabledUnderlineColor", "TabbedPane.disabledUnderlineColor" ); - uiKeyCopying.put( "ToggleButton.tab.selectedBackground", "TabbedPane.selectedBackground" ); - uiKeyCopying.put( "ToggleButton.tab.hoverBackground", "TabbedPane.hoverColor" ); - uiKeyCopying.put( "ToggleButton.tab.focusBackground", "TabbedPane.focusColor" ); - checkboxKeyMapping.put( "Checkbox.Background.Default", "CheckBox.icon.background" ); checkboxKeyMapping.put( "Checkbox.Background.Disabled", "CheckBox.icon.disabledBackground" ); checkboxKeyMapping.put( "Checkbox.Border.Default", "CheckBox.icon.borderColor" ); @@ -819,17 +833,15 @@ public class IntelliJTheme } @Override - void applyAdditionalDefaults( UIDefaults defaults ) { - theme.applyProperties( defaults ); + void applyAdditionalProperties( Properties properties ) { + theme.applyProperties( properties ); } @Override protected ArrayList> getLafClassesForDefaultsLoading() { - ArrayList> lafClasses = new ArrayList<>(); - lafClasses.add( FlatLaf.class ); - lafClasses.add( theme.dark ? FlatDarkLaf.class : FlatLightLaf.class ); - lafClasses.add( theme.dark ? FlatDarculaLaf.class : FlatIntelliJLaf.class ); - lafClasses.add( ThemeLaf.class ); + ArrayList> lafClasses = UIDefaultsLoader.getLafClassesForDefaultsLoading( getClass() ); + lafClasses.add( 1, theme.dark ? FlatDarkLaf.class : FlatLightLaf.class ); + lafClasses.add( 2, theme.dark ? FlatDarculaLaf.class : FlatIntelliJLaf.class ); return lafClasses; } } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java index 4c3f42ea..6ab832cc 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/UIDefaultsLoader.java @@ -41,6 +41,7 @@ import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; +import java.util.function.Consumer; import java.util.function.Function; import javax.swing.Icon; import javax.swing.UIDefaults; @@ -85,15 +86,14 @@ class UIDefaultsLoader private static final String WILDCARD_PREFIX = "*."; static final String KEY_VARIABLES = "FlatLaf.internal.variables"; + static final String KEY_PROPERTIES = "FlatLaf.internal.properties"; private static int parseColorDepth; private static Map systemColorCache; private static final SoftCache fontCache = new SoftCache<>(); - static void loadDefaultsFromProperties( Class lookAndFeelClass, List addons, - Properties additionalDefaults, boolean dark, UIDefaults defaults ) - { + static ArrayList> getLafClassesForDefaultsLoading( Class lookAndFeelClass ) { // determine classes in class hierarchy in reverse order ArrayList> lafClasses = new ArrayList<>(); for( Class lafClass = lookAndFeelClass; @@ -102,12 +102,11 @@ class UIDefaultsLoader { lafClasses.add( 0, lafClass ); } - - loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, dark, defaults ); + return lafClasses; } static void loadDefaultsFromProperties( List> lafClasses, List addons, - Properties additionalDefaults, boolean dark, UIDefaults defaults ) + Consumer intellijThemesHook, Properties additionalDefaults, boolean dark, UIDefaults defaults ) { try { // temporary cache system colors while loading defaults, @@ -142,6 +141,10 @@ class UIDefaultsLoader addonClassLoaders.add( addonClassLoader ); } + // apply IntelliJ themes properties + if( intellijThemesHook != null ) + intellijThemesHook.accept( properties ); + // load custom properties files (usually provided by applications) List customDefaultsSources = FlatLaf.getCustomDefaultsSources(); int size = (customDefaultsSources != null) ? customDefaultsSources.size() : 0; @@ -287,6 +290,15 @@ class UIDefaultsLoader // remember variables in defaults to allow using them in styles defaults.put( KEY_VARIABLES, variables ); + // remember properties (for testing) + if( FlatSystemProperties.getBoolean( KEY_PROPERTIES, false ) ) { + Properties properties2 = new Properties(); + properties2.putAll( properties ); + for( Map.Entry e : wildcards.entrySet() ) + properties2.put( WILDCARD_PREFIX + e.getKey(), e.getValue() ); + defaults.put( KEY_PROPERTIES, properties2 ); + } + // clear/disable system color cache systemColorCache = null; } catch( IOException ex ) { diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarculaLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarculaLaf.properties index 07d6a181..331fe64c 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarculaLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatDarculaLaf.properties @@ -61,7 +61,6 @@ Component.arrowType = triangle #---- ProgressBar ---- ProgressBar.foreground = darken(@foreground,10%) -ProgressBar.selectionForeground = @background #---- RadioButton ---- diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties index 6ece7ce2..d10d034f 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/IntelliJTheme$ThemeLaf.properties @@ -21,27 +21,41 @@ # - https://www.formdev.com/flatlaf/properties-files/ # - https://www.formdev.com/flatlaf/how-to-customize/ # +# Properties in this file are applied in following order: +# 1. properties without '{...}' and without '[...]' prefix +# 2. properties specified in .theme.json file +# 3. properties starting with '{*}' +# 4. properties starting with '{*-light}' or '{*-dark}' +# 5. properties starting with '{author-}', +# where '' is replaced with "author" value from .theme.json file +# 6. properties starting with '{---}', +# where '' and '' are replaced with "name" and "author" values from .theme.json file +# 7. properties starting with '{}', +# where '' is replaced with "name" value from .theme.json file +# 8. properties with '[...]' prefix +# + #---- system colors ---- # fix (most) system colors because they are usually not set in .json files -desktop = lazy(TextField.background) -activeCaptionText = lazy(TextField.foreground) -inactiveCaptionText = lazy(TextField.foreground) -window = lazy(Panel.background) -windowBorder = lazy(TextField.foreground) -windowText = lazy(TextField.foreground) -menu = lazy(Menu.background) -menuText = lazy(Menu.foreground) -text = lazy(TextField.background) -textText = lazy(TextField.foreground) -textHighlight = lazy(TextField.selectionBackground) -textHighlightText = lazy(TextField.selectionForeground) -textInactiveText = lazy(TextField.inactiveForeground) -control = lazy(Panel.background) -controlText = lazy(TextField.foreground) -info = lazy(ToolTip.background) -infoText = lazy(ToolTip.foreground) +desktop = $TextField.background +activeCaptionText = $TextField.foreground +inactiveCaptionText = $TextField.foreground +window = $Panel.background +windowBorder = $TextField.foreground +windowText = $TextField.foreground +menu = $Menu.background +menuText = $Menu.foreground +text = $TextField.background +textText = $TextField.foreground +textHighlight = $TextField.selectionBackground +textHighlightText = $TextField.selectionForeground +textInactiveText = $TextField.inactiveForeground +control = $Panel.background +controlText = $TextField.foreground +info = $ToolTip.background +infoText = $ToolTip.foreground #---- variables ---- @@ -49,26 +63,13 @@ infoText = lazy(ToolTip.foreground) # make sure that accent color (set via FlatLaf.setSystemColorGetter()) is ignored @accentColor = null +# use same accent color for checkmark, slider, tab underline, etc. +@accentBase2Color = @accentBaseColor + # use fixed color because it is used in borders @cellFocusColor = #222 -#---- Button ---- - -Button.startBackground = $Button.background -Button.endBackground = $Button.background -Button.startBorderColor = $Button.borderColor -Button.endBorderColor = $Button.borderColor - -Button.default.startBackground = $Button.default.background -Button.default.endBackground = $Button.default.background -Button.default.startBorderColor = $Button.default.borderColor -Button.default.endBorderColor = $Button.default.borderColor - -Button.hoverBorderColor = null -Button.default.hoverBorderColor = null - - #---- CheckBoxMenuItem ---- # colors from intellij/checkmark.svg and darcula/checkmark.svg @@ -76,19 +77,19 @@ Button.default.hoverBorderColor = null [dark]CheckBoxMenuItem.icon.checkmarkColor=#fff9 -#---- Component ---- - -Component.accentColor = lazy(ProgressBar.foreground) - - -#---- HelpButton ---- - -HelpButton.hoverBorderColor = null - - #---- Slider ---- -Slider.focusedColor = fade($Component.focusColor,40%,derived) +# this "reverses" definition in FlatLightLaf/FlatDarkLaf.properties +Slider.trackValueColor = $Slider.thumbColor +Slider.thumbColor = @accentSliderColor + + +#---- Spinner ---- + +# Spinner arrow button always has same colors as ComboBox arrow button +Spinner.buttonBackground = $ComboBox.buttonEditableBackground +Spinner.buttonArrowColor = $ComboBox.buttonArrowColor +Spinner.buttonDisabledArrowColor = $ComboBox.buttonDisabledArrowColor #---- TabbedPane ---- @@ -100,10 +101,9 @@ Slider.focusedColor = fade($Component.focusColor,40%,derived) #---- ToggleButton ---- -ToggleButton.startBackground = $ToggleButton.background -ToggleButton.endBackground = $ToggleButton.background -[dark]ToggleButton.selectedBackground = lighten($ToggleButton.background,15%,derived) -[dark]ToggleButton.disabledSelectedBackground = lighten($ToggleButton.background,5%,derived) +{*}ToggleButton.background = $Button.background +{*-dark}ToggleButton.selectedBackground = lighten($ToggleButton.background,15%,derived) +{*-dark}ToggleButton.disabledSelectedBackground = lighten($ToggleButton.background,5%,derived) #---- theme specific ---- @@ -112,343 +112,434 @@ ToggleButton.endBackground = $ToggleButton.background @ijMenuCheckBackgroundL20 = lighten(@selectionBackground,20%,derived noAutoInverse) @ijMenuCheckBackgroundD10 = darken(@selectionBackground,10%,derived noAutoInverse) -@ijTextBackgroundL3 = lighten(Panel.background,3%,lazy) -@ijTextBackgroundL4 = lighten(Panel.background,4%,lazy) +@ijSeparatorLight = shade(@background,15%) +@ijSeparatorDark = tint(@background,25%) -{Arc_Theme}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme}PopupMenu.foreground = lazy(MenuItem.foreground) -{Arc_Theme}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme}ProgressBar.selectionBackground = #000 -{Arc_Theme}ProgressBar.selectionForeground = #fff -{Arc_Theme}List.selectionInactiveForeground = #fff -{Arc_Theme}Table.selectionInactiveForeground = #fff -{Arc_Theme}Tree.selectionInactiveForeground = #fff +@ijTextBackgroundL3 = lighten($Panel.background,3%) +@ijTextBackgroundL4 = lighten($Panel.background,4%) -{Arc_Theme_-_Orange}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_-_Orange}PopupMenu.foreground = lazy(MenuItem.foreground) -{Arc_Theme_-_Orange}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_-_Orange}ProgressBar.selectionBackground = #000 -{Arc_Theme_-_Orange}ProgressBar.selectionForeground = #fff -{Arc_Theme_-_Orange}List.selectionInactiveForeground = #fff -{Arc_Theme_-_Orange}Table.selectionInactiveForeground = #fff -{Arc_Theme_-_Orange}Tree.selectionInactiveForeground = #fff +{Arc_Theme}@selectionInactiveForeground = @selectionForeground +{Arc_Theme}CheckBoxMenuItem.foreground = $MenuItem.foreground +{Arc_Theme}PopupMenu.foreground = $MenuItem.foreground +{Arc_Theme}RadioButtonMenuItem.foreground = $MenuItem.foreground -{Arc_Theme_Dark}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark}PopupMenu.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark}ProgressBar.selectionBackground = #ddd -{Arc_Theme_Dark}ProgressBar.selectionForeground = #ddd -{Arc_Theme_Dark}ToolBar.separatorColor = lazy(Separator.foreground) +{Arc_Theme_-_Orange}@selectionInactiveForeground = @selectionForeground +{Arc_Theme_-_Orange}CheckBoxMenuItem.foreground = $MenuItem.foreground +{Arc_Theme_-_Orange}PopupMenu.foreground = $MenuItem.foreground +{Arc_Theme_-_Orange}RadioButtonMenuItem.foreground = $MenuItem.foreground -{Arc_Theme_Dark_-_Orange}CheckBoxMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark_-_Orange}PopupMenu.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark_-_Orange}RadioButtonMenuItem.foreground = lazy(MenuItem.foreground) -{Arc_Theme_Dark_-_Orange}ProgressBar.selectionBackground = #ddd +{Arc_Theme_Dark}CheckBoxMenuItem.foreground = $MenuItem.foreground +{Arc_Theme_Dark}PopupMenu.foreground = $MenuItem.foreground +{Arc_Theme_Dark}RadioButtonMenuItem.foreground = $MenuItem.foreground +{Arc_Theme_Dark}ToolBar.background = @background + +{Arc_Theme_Dark_-_Orange}CheckBoxMenuItem.foreground = $MenuItem.foreground +{Arc_Theme_Dark_-_Orange}PopupMenu.foreground = $MenuItem.foreground {Arc_Theme_Dark_-_Orange}ProgressBar.selectionForeground = #fff -{Arc_Theme_Dark_-_Orange}ToolBar.separatorColor = lazy(Separator.foreground) +{Arc_Theme_Dark_-_Orange}RadioButtonMenuItem.foreground = $MenuItem.foreground +{Arc_Theme_Dark_-_Orange}ToolBar.background = @background -{Carbon}Table.selectionBackground = lazy(List.selectionBackground) -{Carbon}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Carbon}Separator.foreground = @ijSeparatorDark +{Carbon}ToolBar.separatorColor = $Separator.foreground +{Carbon}Table.selectionBackground = $List.selectionBackground {Carbon}TextField.background = @ijTextBackgroundL4 -{Cobalt_2}Component.accentColor = lazy(Component.focusColor) -{Cobalt_2}CheckBox.icon.background = #002946 -{Cobalt_2}CheckBox.icon.checkmarkColor = #002946 +{Cobalt_2}@accentBaseColor = $ColorPalette.hue3 +{Cobalt_2}CheckBox.icon.background = @background {Cobalt_2}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 {Cobalt_2}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 {Cobalt_2}ComboBox.background = @ijTextBackgroundL3 -{Cobalt_2}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Cobalt_2}Slider.thumbColor = $ProgressBar.foreground +{Cobalt_2}Slider.disabledTrackColor = $Separator.foreground {Cobalt_2}TextField.background = @ijTextBackgroundL3 -{Cobalt_2}Table.background = lazy(List.background) -{Cobalt_2}Tree.background = lazy(List.background) +{Cobalt_2}Table.background = $List.background +{Cobalt_2}Tree.background = $List.background +{Cyan_light}@disabledForeground = tint(@foreground,30%) +{Cyan_light}*.disabledText = @disabledForeground +{Cyan_light}*.disabledForeground = @disabledForeground +{Cyan_light}*.inactiveForeground = @disabledForeground +{Cyan_light}Button.background = @buttonBackground {Cyan_light}MenuItem.checkBackground = @ijMenuCheckBackgroundL20 {Cyan_light}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 -{Dark_Flat_Theme}*.inactiveForeground = #808080 -{Dark_Flat_Theme}Component.accentColor = lazy(List.selectionBackground) +{Dark_Flat_Theme}@accentBaseColor = $TabbedPane.underlineColor +{Dark_Flat_Theme}@disabledForeground = #808080 +{Dark_Flat_Theme}*.disabledText = @disabledForeground +{Dark_Flat_Theme}*.disabledForeground = @disabledForeground +{Dark_Flat_Theme}*.inactiveForeground = @disabledForeground {Dark_Flat_Theme}TableHeader.background = #3B3B3B -{Dark_Flat_Theme}TextPane.foreground = lazy(TextField.foreground) -{Dark_Flat_Theme}CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -{Dark_Flat_Theme}List.selectionForeground = lazy(Tree.selectionForeground) -{Dark_Flat_Theme}RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -{Dark_Flat_Theme}Separator.foreground = lazy(ToolBar.separatorColor) +{Dark_Flat_Theme}CheckBoxMenuItem.selectionForeground = $MenuItem.selectionForeground +{Dark_Flat_Theme}ComboBox.background = $TextField.background +{Dark_Flat_Theme}ComboBox.buttonBackground = $ComboBox.background +{Dark_Flat_Theme}List.selectionForeground = $Tree.selectionForeground +{Dark_Flat_Theme}ProgressBar.selectionForeground = @foreground +{Dark_Flat_Theme}RadioButtonMenuItem.selectionForeground = $MenuItem.selectionForeground +{Dark_Flat_Theme}Separator.foreground = @ijSeparatorDark +{Dark_Flat_Theme}Slider.trackColor = $ProgressBar.background +{Dark_Flat_Theme}Slider.thumbColor = fade($ProgressBar.foreground,100%) +{Dark_Flat_Theme}TextPane.foreground = $TextField.foreground +{Dark_Flat_Theme}ToggleButton.foreground = $Button.foreground -{Dark_purple}Slider.focusedColor = fade($Component.focusColor,70%,derived) - -{Dracula---Zihan_Ma}Component.accentColor = lazy(Component.focusColor) -{Dracula---Zihan_Ma}ComboBox.selectionBackground = lazy(List.selectionBackground) +{Dracula---Zihan_Ma}CheckBox.icon.background = @background +{Dracula---Zihan_Ma}ComboBox.selectionBackground = $List.selectionBackground {Dracula---Zihan_Ma}ProgressBar.selectionBackground = #fff {Dracula---Zihan_Ma}ProgressBar.selectionForeground = #fff +{Dracula---Zihan_Ma}Slider.trackColor = $?ColorPalette.selectionBackground +{Dracula---Zihan_Ma}ToggleButton.foreground = $Button.foreground -{Gradianto_Dark_Fuchsia}*.selectionBackground = #8452a7 -{Gradianto_Dark_Fuchsia}*.selectionInactiveBackground = #562C6A {Gradianto_Dark_Fuchsia}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 {Gradianto_Dark_Fuchsia}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 {Gradianto_Dark_Fuchsia}TextField.background = @ijTextBackgroundL4 -{Gradianto_Dark_Fuchsia}Tree.background = lazy(List.background) -{Gradianto_Dark_Fuchsia}Separator.foreground = lazy(ScrollBar.track) -{Gradianto_Dark_Fuchsia}ToolBar.separatorColor = lazy(ScrollBar.track) -{Gradianto_Dark_Fuchsia}ProgressBar.background = lazy(ScrollBar.track) -{Gradianto_Dark_Fuchsia}Slider.trackColor = lazy(ScrollBar.track) +{Gradianto_Dark_Fuchsia}Tree.background = $List.background +{Gradianto_Dark_Fuchsia}Tree.selectionInactiveBackground = $List.selectionInactiveBackground +{Gradianto_Dark_Fuchsia}Separator.foreground = @ijSeparatorDark +{Gradianto_Dark_Fuchsia}ToolBar.separatorColor = $Separator.foreground +{Gradianto_Dark_Fuchsia}ProgressBar.background = $ScrollBar.track +{Gradianto_Dark_Fuchsia}Slider.trackColor = $ScrollBar.track +{Gradianto_Deep_Ocean}Separator.foreground = @ijSeparatorDark +{Gradianto_Deep_Ocean}ToolBar.separatorColor = $Separator.foreground {Gradianto_Deep_Ocean}TextField.background = @ijTextBackgroundL3 -{Gradianto_Deep_Ocean}Tree.background = lazy(List.background) +{Gradianto_Deep_Ocean}Tree.background = $List.background {Gradianto_Midnight_Blue}ScrollBar.thumb = #533B6B -{Gradianto_Midnight_Blue}Table.selectionForeground = lazy(List.selectionForeground) +{Gradianto_Midnight_Blue}Separator.foreground = @ijSeparatorDark +{Gradianto_Midnight_Blue}ToolBar.separatorColor = $Separator.foreground +{Gradianto_Midnight_Blue}Table.selectionForeground = $List.selectionForeground {Gradianto_Midnight_Blue}TextField.background = @ijTextBackgroundL4 -{Gradianto_Midnight_Blue}Tree.background = lazy(List.background) +{Gradianto_Midnight_Blue}Tree.background = $List.background -{Gradianto_Nature_Green}Table.selectionForeground = lazy(List.selectionForeground) +{Gradianto_Nature_Green}Separator.foreground = @ijSeparatorDark +{Gradianto_Nature_Green}ToolBar.separatorColor = $Separator.foreground +{Gradianto_Nature_Green}Table.selectionForeground = $List.selectionForeground {Gradianto_Nature_Green}TextField.background = @ijTextBackgroundL4 -{Gray}Separator.foreground = lazy(Slider.trackColor) -{Gray}ToolBar.separatorColor = lazy(Slider.trackColor) +{Gray}@disabledForeground = tint(@foreground,40%) +{Gray}*.disabledText = @disabledForeground +{Gray}*.disabledForeground = @disabledForeground +{Gray}*.inactiveForeground = @disabledForeground +{Gray}Button.background = @buttonBackground +{Gray}Separator.foreground = @ijSeparatorLight +{Gray}ToolBar.separatorColor = $Separator.foreground -{Gruvbox_Dark_Hard}Component.accentColor = lazy(TabbedPane.underlineColor) -{Gruvbox_Dark_Hard}ToggleButton.selectedBackground = $ToggleButton.selectedBackground -{Gruvbox_Dark_Hard}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground +{Gruvbox_Dark_Hard}@accentBaseColor = #4B6EAF {Gruvbox_Dark_Hard}ComboBox.background = @ijTextBackgroundL3 -{Gruvbox_Dark_Hard}ComboBox.buttonBackground = @ijTextBackgroundL3 +{Gruvbox_Dark_Hard}ComboBox.buttonBackground = $ComboBox.background {Gruvbox_Dark_Hard}TextField.background = @ijTextBackgroundL3 -{Hiberbee_Dark}*.disabledForeground = #7F7E7D -{Hiberbee_Dark}*.disabledText = #7F7E7D -{Hiberbee_Dark}*.inactiveForeground = #7F7E7D -{Hiberbee_Dark}ProgressBar.background = lazy(Separator.foreground) -{Hiberbee_Dark}Slider.trackColor = lazy(Separator.foreground) -{Hiberbee_Dark}TabbedPane.focusColor = #5A5A5A -{Hiberbee_Dark}TabbedPane.selectedBackground = #434241 -{Hiberbee_Dark}TabbedPane.selectedForeground = #70D7FF -{Hiberbee_Dark}ToggleButton.selectedBackground = $ToggleButton.selectedBackground -{Hiberbee_Dark}ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground -{Hiberbee_Dark}Table.selectionInactiveBackground = lazy(List.selectionInactiveBackground) -{Hiberbee_Dark}Tree.selectionBackground = lazy(List.selectionBackground) -{Hiberbee_Dark}Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) +{Hiberbee_Dark}@disabledForeground = $ColorPalette.light3 +{Hiberbee_Dark}*.disabledText = @disabledForeground +{Hiberbee_Dark}*.disabledForeground = @disabledForeground +{Hiberbee_Dark}*.inactiveForeground = @disabledForeground +{Hiberbee_Dark}List.selectionInactiveBackground = $Table.selectionInactiveBackground +{Hiberbee_Dark}ProgressBar.background = $Separator.foreground +{Hiberbee_Dark}RadioButtonMenuItem.selectionForeground = $MenuItem.selectionForeground +{Hiberbee_Dark}Slider.trackColor = $ColorPalette.light1 +{Hiberbee_Dark}Slider.trackColor = $ColorPalette.dark10 +{Hiberbee_Dark}Slider.thumbColor = @accentBaseColor +{Hiberbee_Dark}ToggleButton.foreground = $Button.foreground +{Hiberbee_Dark}ToolBar.background = @background -{High_Contrast}Component.accentColor = lazy(Component.focusColor) -{High_Contrast}Button.hoverBorderColor = #1AEBFF -{High_Contrast}HelpButton.hoverBorderColor = #1AEBFF -{High_Contrast}ToggleButton.selectedBackground = #fff -{High_Contrast}ToggleButton.selectedForeground = #000 -{High_Contrast}ToggleButton.disabledSelectedBackground = #444 -{High_Contrast}ToggleButton.toolbar.selectedBackground = #3333FF +{High_Contrast}@accentBaseColor = $TabbedPane.underlineColor +{High_Contrast}Slider.thumbBorderColor = $Slider.thumbColor +{High_Contrast}Slider.focusedThumbBorderColor = @background +{High_Contrast}Slider.focusedColor = $Component.focusColor +{High_Contrast}Slider.focusWidth = 2 +{High_Contrast}ToggleButton.selectedBackground = @selectionBackground +{High_Contrast}ToggleButton.selectedForeground = @selectionForeground +{High_Contrast}ToggleButton.disabledSelectedBackground = shade(@selectionBackground,50%) +{High_Contrast}ToggleButton.toolbar.selectedBackground = @selectionBackground {High_Contrast}[style]Button.inTextField = \ toolbar.hoverBackground: #444; \ toolbar.pressedBackground: #666; \ - toolbar.selectedBackground: #fff -{High_Contrast}[style]ToggleButton.inTextField = ${High_Contrast}[style]Button.inTextField + toolbar.selectedBackground: @selectionBackground -{Light_Flat}*.disabledForeground = #8C8C8C -{Light_Flat}*.inactiveForeground = #8C8C8C +{Light_Flat}@accentBaseColor = $TabbedPane.underlineColor +{Light_Flat}@accentFocusColor = lighten(@accentBaseColor,15%) +{Light_Flat}@disabledForeground = #808080 +{Light_Flat}*.disabledText = @disabledForeground +{Light_Flat}*.disabledForeground = @disabledForeground +{Light_Flat}*.inactiveForeground = @disabledForeground {Light_Flat}CheckBox.icon[filled].background = #fff {Light_Flat}CheckBox.icon[filled].checkmarkColor = #fff -{Light_Flat}Component.accentColor = lazy(TabbedPane.underlineColor) -{Light_Flat}ComboBox.background = lazy(ComboBox.editableBackground) -{Light_Flat}ComboBox.buttonBackground = lazy(ComboBox.editableBackground) -{Light_Flat}Separator.foreground = lazy(ToolBar.separatorColor) +{Light_Flat}ComboBox.background = $ComboBox.editableBackground +{Light_Flat}ComboBox.buttonBackground = $ComboBox.background +{Light_Flat}ProgressBar.selectionForeground = @foreground +{Light_Flat}Separator.foreground = @ijSeparatorLight {Light_Flat}TableHeader.background = #E5E5E9 -{Light_Flat}TextPane.foreground = lazy(TextField.foreground) -{Light_Flat}CheckBoxMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) -{Light_Flat}RadioButtonMenuItem.selectionForeground = lazy(MenuItem.selectionForeground) +{Light_Flat}TextPane.foreground = $TextField.foreground +{Light_Flat}ToggleButton.foreground = $Button.foreground +{Light_Flat}CheckBoxMenuItem.selectionForeground = $MenuItem.selectionForeground +{Light_Flat}RadioButtonMenuItem.selectionForeground = $MenuItem.selectionForeground -{Monocai}Button.default.foreground = #2D2A2F +{Monocai}@accentUnderlineColor = @accentBaseColor +{Monocai}*.acceleratorForeground = @menuAcceleratorForeground +{Monocai}*.acceleratorSelectionForeground = @menuAcceleratorSelectionForeground +{Monocai}Button.default.foreground = @background {Monocai}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 -{Monocai}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -@Monocai.acceleratorForeground = lazy(MenuItem.disabledForeground) -@Monocai.acceleratorSelectionForeground = lighten(MenuItem.disabledForeground,10%,lazy) -{Monocai}CheckBoxMenuItem.acceleratorForeground = @Monocai.acceleratorForeground -{Monocai}CheckBoxMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -{Monocai}Menu.acceleratorForeground = @Monocai.acceleratorForeground -{Monocai}Menu.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -{Monocai}MenuItem.acceleratorForeground = @Monocai.acceleratorForeground -{Monocai}MenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground -{Monocai}RadioButtonMenuItem.acceleratorForeground = @Monocai.acceleratorForeground -{Monocai}RadioButtonMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground +{Monocai}TabbedPane.underlineColor = @accentUnderlineColor {Monocai}TextField.background = @ijTextBackgroundL4 -@Monocai.selectionBackground = lazy(TextField.selectionBackground) +@Monocai.selectionBackground = $TextField.selectionBackground {Monocai}ComboBox.selectionBackground = @Monocai.selectionBackground {Monocai}List.selectionBackground = @Monocai.selectionBackground {Monocai}Table.selectionBackground = @Monocai.selectionBackground {Monocai}Tree.selectionBackground = @Monocai.selectionBackground -@Monocai.selectionInactiveBackground = lazy(MenuItem.selectionBackground) +@Monocai.selectionInactiveBackground = $MenuItem.selectionBackground {Monocai}List.selectionInactiveBackground = @Monocai.selectionInactiveBackground {Monocai}Table.selectionInactiveBackground = @Monocai.selectionInactiveBackground {Monocai}Tree.selectionInactiveBackground = @Monocai.selectionInactiveBackground -{Monokai_Pro---Subtheme}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -{Monokai_Pro---Subtheme}Tree.selectionBackground = lazy(List.selectionBackground) -{Monokai_Pro---Subtheme}Separator.foreground = lazy(Slider.trackColor) -{Monokai_Pro---Subtheme}ToolBar.separatorColor = lazy(Slider.trackColor) +{Monokai_Pro---Subtheme}@disabledForeground = shade(@foreground,40%) +{Monokai_Pro---Subtheme}*.disabledText = @disabledForeground +{Monokai_Pro---Subtheme}*.disabledForeground = @disabledForeground +{Monokai_Pro---Subtheme}*.inactiveForeground = @disabledForeground +{Monokai_Pro---Subtheme}ProgressBar.selectionBackground = #fff +{Monokai_Pro---Subtheme}Table.selectionInactiveForeground = $List.selectionInactiveForeground +{Monokai_Pro---Subtheme}Tree.selectionBackground = $List.selectionBackground +{Monokai_Pro---Subtheme}ToggleButton.foreground = $Button.foreground +{Monokai_Pro---Subtheme}Separator.foreground = @ijSeparatorDark +{Monokai_Pro---Subtheme}ToolBar.separatorColor = $Separator.foreground +{Monokai_Pro---Subtheme}ToolBar.background = @background -{Nord}*.inactiveForeground = #616E88 +{Nord}@disabledForeground = #616E88 +{Nord}*.disabledText = @disabledForeground +{Nord}*.disabledForeground = @disabledForeground +{Nord}*.inactiveForeground = @disabledForeground {Nord}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 {Nord}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -{Nord}List.selectionBackground = lazy(Tree.selectionBackground) -{Nord}List.selectionForeground = lazy(Tree.selectionForeground) -{Nord}Table.selectionBackground = lazy(Tree.selectionBackground) -{Nord}Table.selectionForeground = lazy(Tree.selectionForeground) -{Nord}TextField.selectionBackground = lazy(Tree.selectionBackground) -{Nord}TextField.selectionForeground = lazy(Tree.selectionForeground) -{Nord}Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) +{Nord}RadioButtonMenuItem.selectionBackground = $MenuItem.selectionBackground +{Nord}ProgressBar.selectionBackground = @foreground +{Nord}ProgressBar.selectionForeground = @background +{Nord}List.selectionBackground = $Tree.selectionBackground +{Nord}List.selectionForeground = $Tree.selectionForeground +{Nord}Table.selectionBackground = $Tree.selectionBackground +{Nord}Table.selectionForeground = $Tree.selectionForeground +{Nord}TextField.selectionBackground = $Tree.selectionBackground +{Nord}TextField.selectionForeground = $Tree.selectionForeground +{Nord}Tree.selectionInactiveForeground = $List.selectionInactiveForeground {NotReallyMDTheme}*.selectionInactiveBackground = #21384E -{NotReallyMDTheme}ToolBar.separatorColor = lazy(Separator.foreground) +{NotReallyMDTheme}ToolBar.separatorColor = $Separator.foreground -{One_Dark}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) {One_Dark}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 {One_Dark}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -{One_Dark}ProgressBar.background = lazy(Separator.foreground) -{One_Dark}Slider.trackColor = lazy(Separator.foreground) -{One_Dark}Slider.focusedColor = fade(#568af2,40%) -{One_Dark}Table.background = lazy(Tree.background) -{One_Dark}Table.selectionBackground = lazy(Tree.selectionBackground) -{One_Dark}TextField.selectionBackground = lazy(List.selectionBackground) -{One_Dark}Tree.selectionForeground = lazy(List.selectionForeground) +{One_Dark}ProgressBar.background = $Separator.foreground +{One_Dark}ProgressBar.selectionForeground = #fff +{One_Dark}Table.background = $Tree.background +{One_Dark}Table.selectionBackground = $Tree.selectionBackground +{One_Dark}TextField.selectionBackground = $List.selectionBackground +{One_Dark}Tree.selectionForeground = $List.selectionForeground -{Solarized_Dark---4lex4}*.inactiveForeground = #657B83 -{Solarized_Dark---4lex4}Component.accentColor = lazy(TabbedPane.underlineColor) -{Solarized_Dark---4lex4}ComboBox.background = lazy(ComboBox.editableBackground) -{Solarized_Dark---4lex4}ComboBox.buttonBackground = lazy(ComboBox.editableBackground) -{Solarized_Dark---4lex4}Slider.focusedColor = fade($Component.focusColor,80%,derived) -{Solarized_Dark---4lex4}ToolBar.separatorColor = lazy(Separator.foreground) +{Solarized_Dark---4lex4}@accentBaseColor = $TabbedPane.underlineColor +{Solarized_Dark---4lex4}*.acceleratorForeground = @menuAcceleratorForeground +{Solarized_Dark---4lex4}ComboBox.background = $ComboBox.editableBackground +{Solarized_Dark---4lex4}ComboBox.buttonBackground = $ComboBox.editableBackground +{Solarized_Dark---4lex4}Slider.disabledTrackColor = $ColorPalette.colorSeparator -{Solarized_Light---4lex4}*.inactiveForeground = #839496 -{Solarized_Light---4lex4}Button.default.hoverBackground = darken($Button.default.background,3%,derived) -{Solarized_Light---4lex4}Component.accentColor = lazy(TabbedPane.underlineColor) +{Solarized_Light---4lex4}@accentBaseColor = $TabbedPane.underlineColor +{Solarized_Light---4lex4}Slider.thumbColor = $ProgressBar.foreground +{Solarized_Light---4lex4}Slider.disabledTrackColor = $ColorPalette.colorSeparator {Spacegray}ComboBox.background = @ijTextBackgroundL4 -{Spacegray}ComboBox.buttonBackground = @ijTextBackgroundL4 +{Spacegray}ComboBox.buttonBackground = $ComboBox.background {Spacegray}TextField.background = @ijTextBackgroundL4 -{Spacegray}TextField.selectionBackground = lazy(Tree.selectionBackground) -{Spacegray}TextField.selectionForeground = lazy(Tree.selectionForeground) -{vuesion-theme}*.disabledForeground = #8C8C8C -{vuesion-theme}*.disabledText = #8C8C8C -{vuesion-theme}*.inactiveForeground = #8C8C8C -{vuesion-theme}Component.accentColor = lazy(Button.default.endBackground) +{vuesion-theme}@accentBaseColor = $TabbedPane.underlineColor +{vuesion-theme}@disabledForeground = #8C8C8C +{vuesion-theme}*.disabledText = @disabledForeground +{vuesion-theme}*.disabledForeground = @disabledForeground +{vuesion-theme}*.inactiveForeground = @disabledForeground {vuesion-theme}MenuItem.checkBackground = @ijMenuCheckBackgroundL10 {vuesion-theme}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10 -{vuesion-theme}Slider.trackValueColor = #ececee -{vuesion-theme}Slider.trackColor = #303a45 +{vuesion-theme}ProgressBar.background = #303a45 +{vuesion-theme}ProgressBar.foreground = #ececee {vuesion-theme}Slider.thumbColor = #ececee -{vuesion-theme}Slider.focusedColor = fade(#ececee,20%) +{vuesion-theme}Slider.focusedColor = fade($Slider.thumbColor,20%) {vuesion-theme}ComboBox.background = @ijTextBackgroundL4 -{vuesion-theme}ComboBox.buttonBackground = @ijTextBackgroundL4 +{vuesion-theme}ComboBox.buttonBackground = $ComboBox.background {vuesion-theme}TextField.background = @ijTextBackgroundL4 {vuesion-theme}TextField.selectionBackground = lighten(#303A45,15%) +{Xcode-Dark}@accentBaseColor = $List.selectionBackground {Xcode-Dark}TextField.background = @ijTextBackgroundL4 # Material Theme UI Lite -[light]{author-Mallowigi}MenuItem.checkBackground = @ijMenuCheckBackgroundD10 -[light]{author-Mallowigi}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundD10 -[dark]{author-Mallowigi}MenuItem.checkBackground = @ijMenuCheckBackgroundL20 -[dark]{author-Mallowigi}MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 +{author-Mallowigi}[light]controlHighlight = lighten($controlShadow,8%) +{author-Mallowigi}[light]controlLtHighlight = lighten($controlShadow,15%) +{author-Mallowigi}[light]controlDkShadow = darken($controlShadow,15%) +{author-Mallowigi}[dark]controlHighlight = darken($controlShadow,10%) +{author-Mallowigi}[dark]controlLtHighlight = darken($controlShadow,15%) +{author-Mallowigi}[dark]controlDkShadow = lighten($controlShadow,10%) -{author-Mallowigi}Tree.selectionInactiveBackground = lazy(List.selectionInactiveBackground) +{author-Mallowigi}Button.hoverBorderColor = $Button.focusedBorderColor +{author-Mallowigi}HelpButton.hoverBorderColor = $Button.focusedBorderColor -{Arc_Dark}ComboBox.selectionBackground = lazy(List.selectionBackground) -{Arc_Dark}Table.selectionBackground = lazy(List.selectionBackground) +{author-Mallowigi}[light]ToggleButton.selectedForeground = #000 +{author-Mallowigi}[dark]ToggleButton.selectedForeground = #fff -{Atom_One_Dark}Separator.foreground = lazy(Slider.trackColor) -{Atom_One_Dark}ToolBar.separatorColor = lazy(Slider.trackColor) +{author-Mallowigi}[light]MenuItem.checkBackground = @ijMenuCheckBackgroundD10 +{author-Mallowigi}[light]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundD10 +{author-Mallowigi}[dark]MenuItem.checkBackground = @ijMenuCheckBackgroundL20 +{author-Mallowigi}[dark]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20 -{Atom_One_Light}List.selectionBackground = lazy(Table.selectionBackground) -{Atom_One_Light}Tree.selectionBackground = lazy(Table.selectionBackground) -{Atom_One_Light}TabbedPane.contentAreaColor = lazy(Separator.foreground) +{author-Mallowigi}[light]Separator.foreground = @ijSeparatorLight +{author-Mallowigi}[dark]Separator.foreground = @ijSeparatorDark +{author-Mallowigi}ProgressBar.selectionBackground = @foreground +{author-Mallowigi}TabbedPane.selectedBackground = mix(@background,$ColorPalette.table,60%) +{author-Mallowigi}ToolBar.separatorColor = $Separator.foreground +{author-Mallowigi}Button.foreground = @foreground +{author-Mallowigi}Tree.foreground = @foreground + + +{Arc_Dark}ComboBox.selectionBackground = $List.selectionBackground +{Arc_Dark}ProgressBar.selectionBackground = #fff +{Arc_Dark}ProgressBar.selectionForeground = #fff +{Arc_Dark}Table.selectionBackground = $List.selectionBackground +{Arc_Dark}Tree.selectionInactiveBackground = $List.selectionInactiveBackground + +{Atom_One_Dark}ProgressBar.selectionBackground = #fff +{Atom_One_Dark}ProgressBar.selectionForeground = #fff +{Atom_One_Dark}List.selectionBackground = $Table.selectionBackground +{Atom_One_Dark}Tree.selectionBackground = $Table.selectionBackground +{Atom_One_Dark}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Atom_One_Dark}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground + +{Atom_One_Light}@disabledForeground = shade($ColorPalette.dis,20%) +{Atom_One_Light}*.disabledText = @disabledForeground +{Atom_One_Light}*.disabledForeground = @disabledForeground +{Atom_One_Light}*.inactiveForeground = @disabledForeground +{Atom_One_Light}TabbedPane.contentAreaColor = $Separator.foreground -{Dracula---Mallowigi}*.selectionBackground = #44475A -{Dracula---Mallowigi}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) {Dracula---Mallowigi}ProgressBar.selectionBackground = #fff {Dracula---Mallowigi}ProgressBar.selectionForeground = #fff -{Dracula---Mallowigi}RadioButtonMenuItem.selectionForeground = lazy(CheckBoxMenuItem.selectionForeground) -{Dracula---Mallowigi}Table.selectionForeground = lazy(List.selectionForeground) -{Dracula---Mallowigi}Separator.foreground = lazy(Slider.trackColor) -{Dracula---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) +{Dracula---Mallowigi}List.selectionBackground = $Table.selectionBackground +{Dracula---Mallowigi}Tree.selectionBackground = $Table.selectionBackground +{Dracula---Mallowigi}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Dracula---Mallowigi}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground {GitHub}ProgressBar.selectionBackground = #222 {GitHub}ProgressBar.selectionForeground = #222 {GitHub}TextField.background = @ijTextBackgroundL3 -{GitHub}List.selectionBackground = lazy(Table.selectionBackground) -{GitHub}Tree.selectionBackground = lazy(Table.selectionBackground) +{GitHub}List.selectionBackground = $Table.selectionBackground +{GitHub}Tree.selectionBackground = $Table.selectionBackground +{GitHub}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{GitHub}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground -{GitHub_Dark}ComboBox.selectionBackground = lazy(Tree.selectionBackground) -{GitHub_Dark}Table.selectionBackground = lazy(Tree.selectionBackground) -{GitHub_Dark}Separator.foreground = lazy(Slider.trackColor) -{GitHub_Dark}ToolBar.separatorColor = lazy(Slider.trackColor) +{GitHub_Dark}ComboBox.selectionBackground = $Tree.selectionBackground +{GitHub_Dark}ProgressBar.selectionForeground = #fff +{GitHub_Dark}Slider.trackColor = lighten(#2b3036,5%) +{GitHub_Dark}Table.selectionBackground = $Tree.selectionBackground +{GitHub_Dark}Tree.selectionInactiveBackground = $Table.selectionInactiveBackground -{Light_Owl}CheckBoxMenuItem.selectionForeground = lazy(CheckBoxMenuItem.foreground) -{Light_Owl}ComboBox.selectionForeground = lazy(ComboBox.foreground) -{Light_Owl}List.selectionInactiveForeground = lazy(List.foreground) -{Light_Owl}Menu.selectionForeground = lazy(Menu.foreground) -{Light_Owl}MenuBar.selectionForeground = lazy(MenuBar.foreground) -{Light_Owl}MenuItem.selectionForeground = lazy(MenuItem.foreground) -{Light_Owl}ProgressBar.selectionBackground = #111 -{Light_Owl}ProgressBar.selectionForeground = #fff -{Light_Owl}Spinner.selectionForeground = lazy(Spinner.foreground) -{Light_Owl}Table.selectionForeground = lazy(Table.foreground) -{Light_Owl}TextField.selectionForeground = lazy(TextField.foreground) +{Light_Owl}@disabledForeground = shade($ColorPalette.dis,10%) +{Light_Owl}*.disabledText = @disabledForeground +{Light_Owl}*.disabledForeground = @disabledForeground +{Light_Owl}*.inactiveForeground = @disabledForeground +{Light_Owl}CheckBoxMenuItem.selectionForeground = $CheckBoxMenuItem.foreground +{Light_Owl}ComboBox.selectionForeground = $ComboBox.foreground +{Light_Owl}List.selectionInactiveForeground = $Table.selectionInactiveForeground +{Light_Owl}Menu.selectionForeground = $Menu.foreground +{Light_Owl}MenuBar.selectionForeground = $MenuBar.foreground +{Light_Owl}MenuItem.selectionForeground = $MenuItem.foreground +{Light_Owl}Table.selectionForeground = $List.selectionForeground +{Light_Owl}TextField.selectionForeground = $TextField.foreground {Light_Owl}TextField.background = @ijTextBackgroundL3 -{Light_Owl}List.selectionBackground = lazy(Table.selectionBackground) -{Light_Owl}Tree.selectionBackground = lazy(Table.selectionBackground) +{Light_Owl}List.selectionBackground = $Table.selectionBackground +{Light_Owl}Tree.selectionBackground = $Table.selectionBackground +{Light_Owl}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Light_Owl}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground -{Material_Darker}*.selectionBackground = lighten(#2D2D2D,15%) -{Material_Darker}Separator.foreground = lazy(Slider.trackColor) -{Material_Darker}ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Darker}@disabledForeground = tint($ColorPalette.dis,30%) +{Material_Darker}*.disabledText = @disabledForeground +{Material_Darker}*.disabledForeground = @disabledForeground +{Material_Darker}*.inactiveForeground = @disabledForeground +{Material_Darker}*.selectionBackground = lighten($ColorPalette.tree,15%) +{Material_Darker}ProgressBar.selectionForeground = #fff +{Material_Darker}Tree.selectionInactiveBackground = $List.selectionInactiveBackground -{Material_Deep_Ocean}*.selectionBackground = lighten(#222533,15%) -{Material_Deep_Ocean}Separator.foreground = lazy(Slider.trackColor) -{Material_Deep_Ocean}ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Deep_Ocean}@disabledForeground = tint($ColorPalette.dis,10%) +{Material_Deep_Ocean}*.disabledText = @disabledForeground +{Material_Deep_Ocean}*.disabledForeground = @disabledForeground +{Material_Deep_Ocean}*.inactiveForeground = @disabledForeground +{Material_Deep_Ocean}*.selectionBackground = lighten($ColorPalette.tree,15%) +{Material_Deep_Ocean}ProgressBar.selectionBackground = #fff +{Material_Deep_Ocean}Slider.trackColor = lighten(#1A1C25,5%) +{Material_Deep_Ocean}Tree.selectionInactiveBackground = $List.selectionInactiveBackground -{Material_Lighter}List.selectionInactiveForeground = lazy(Tree.selectionInactiveForeground) +{Material_Lighter}@disabledForeground = shade($ColorPalette.dis,30%) +{Material_Lighter}*.disabledText = @disabledForeground +{Material_Lighter}*.disabledForeground = @disabledForeground +{Material_Lighter}*.inactiveForeground = @disabledForeground +{Material_Lighter}ComboBox.selectionBackground = $List.selectionBackground +{Material_Lighter}List.selectionForeground = $Table.selectionForeground +{Material_Lighter}List.selectionInactiveForeground = $Table.selectionInactiveForeground {Material_Lighter}ProgressBar.selectionBackground = #222 -{Material_Lighter}ProgressBar.selectionForeground = #fff -{Material_Lighter}ComboBox.selectionBackground = lazy(List.selectionBackground) -{Material_Lighter}Table.selectionBackground = lazy(List.selectionBackground) -{Material_Lighter}List.selectionForeground = lazy(Table.selectionForeground) -{Material_Lighter}RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) -{Material_Lighter}Tree.selectionForeground = lazy(Table.selectionForeground) +{Material_Lighter}RadioButtonMenuItem.selectionForeground = $Table.selectionForeground +{Material_Lighter}Table.selectionBackground = $List.selectionBackground +{Material_Lighter}Tree.selectionForeground = $Table.selectionForeground +{Material_Lighter}Tree.selectionInactiveBackground = $List.selectionInactiveBackground +{Material_Oceanic}@disabledForeground = tint($ColorPalette.dis,30%) +{Material_Oceanic}*.disabledText = @disabledForeground +{Material_Oceanic}*.disabledForeground = @disabledForeground +{Material_Oceanic}*.inactiveForeground = @disabledForeground {Material_Oceanic}ProgressBar.selectionBackground = #ddd {Material_Oceanic}ProgressBar.selectionForeground = #ddd -{Material_Oceanic}Separator.foreground = lazy(Slider.trackColor) -{Material_Oceanic}ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Oceanic}List.selectionBackground = $Table.selectionBackground +{Material_Oceanic}Tree.selectionBackground = $Table.selectionBackground +{Material_Oceanic}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Material_Oceanic}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Material_Palenight}@disabledForeground = tint($ColorPalette.dis,20%) +{Material_Palenight}*.disabledText = @disabledForeground +{Material_Palenight}*.disabledForeground = @disabledForeground +{Material_Palenight}*.inactiveForeground = @disabledForeground {Material_Palenight}ProgressBar.selectionBackground = #ddd {Material_Palenight}ProgressBar.selectionForeground = #ddd -{Material_Palenight}List.selectionBackground = lazy(Table.selectionBackground) -{Material_Palenight}Tree.selectionBackground = lazy(Table.selectionBackground) -{Material_Palenight}Separator.foreground = lazy(Slider.trackColor) -{Material_Palenight}ToolBar.separatorColor = lazy(Slider.trackColor) +{Material_Palenight}List.selectionBackground = $Table.selectionBackground +{Material_Palenight}Tree.selectionBackground = $Table.selectionBackground +{Material_Palenight}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Material_Palenight}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground -{Monokai_Pro---Mallowigi}List.selectionForeground = lazy(Table.selectionForeground) -{Monokai_Pro---Mallowigi}RadioButtonMenuItem.selectionForeground = lazy(Table.selectionForeground) -{Monokai_Pro---Mallowigi}Table.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -{Monokai_Pro---Mallowigi}Tree.selectionForeground = lazy(Table.selectionForeground) -{Monokai_Pro---Mallowigi}Tree.selectionInactiveForeground = lazy(List.selectionInactiveForeground) -{Monokai_Pro---Mallowigi}Separator.foreground = lazy(Slider.trackColor) -{Monokai_Pro---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) +{Monokai_Pro---Mallowigi}@disabledForeground = tint($ColorPalette.dis,20%) +{Monokai_Pro---Mallowigi}*.disabledText = @disabledForeground +{Monokai_Pro---Mallowigi}*.disabledForeground = @disabledForeground +{Monokai_Pro---Mallowigi}*.inactiveForeground = @disabledForeground +{Monokai_Pro---Mallowigi}RadioButtonMenuItem.selectionForeground = $MenuItem.selectionForeground +{Monokai_Pro---Mallowigi}List.selectionForeground = $Table.selectionForeground +{Monokai_Pro---Mallowigi}Tree.selectionForeground = $Table.selectionForeground +{Monokai_Pro---Mallowigi}List.selectionInactiveForeground = $Table.selectionInactiveForeground +{Monokai_Pro---Mallowigi}List.selectionBackground = $Table.selectionBackground +{Monokai_Pro---Mallowigi}Tree.selectionBackground = $Table.selectionBackground +{Monokai_Pro---Mallowigi}List.selectionInactiveBackground = $Tree.selectionInactiveBackground +{Monokai_Pro---Mallowigi}Table.selectionInactiveBackground = $Tree.selectionInactiveBackground -{Moonlight}ComboBox.selectionBackground = lazy(List.selectionBackground) -{Moonlight}Table.selectionBackground = lazy(List.selectionBackground) -{Moonlight}Separator.foreground = lazy(Slider.trackColor) -{Moonlight}ToolBar.separatorColor = lazy(Slider.trackColor) - -{Night_Owl}ProgressBar.selectionBackground = #ddd -{Night_Owl}ProgressBar.selectionForeground = #ddd +{Moonlight}ComboBox.selectionBackground = $List.selectionBackground +{Moonlight}ProgressBar.selectionForeground = #000 +{Moonlight}Table.selectionBackground = $List.selectionBackground +{Moonlight}Tree.selectionInactiveBackground = $List.selectionInactiveBackground +{Solarized_Dark---Mallowigi}@disabledForeground = tint($ColorPalette.dis,20%) +{Solarized_Dark---Mallowigi}*.disabledForeground = @disabledForeground +{Solarized_Dark---Mallowigi}*.inactiveForeground = @disabledForeground +{Solarized_Dark---Mallowigi}*.disabledText = @disabledForeground {Solarized_Dark---Mallowigi}ProgressBar.selectionBackground = #ccc {Solarized_Dark---Mallowigi}ProgressBar.selectionForeground = #ccc -{Solarized_Dark---Mallowigi}Separator.foreground = lazy(Slider.trackColor) -{Solarized_Dark---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) +{Solarized_Dark---Mallowigi}Slider.trackColor = lighten(@background,10%) +{Solarized_Dark---Mallowigi}Table.selectionBackground = $List.selectionBackground +{Solarized_Dark---Mallowigi}Tree.selectionInactiveBackground = $List.selectionInactiveBackground +{Solarized_Light---Mallowigi}@disabledForeground = tint(@foreground,30%) +{Solarized_Light---Mallowigi}*.disabledForeground = @disabledForeground +{Solarized_Light---Mallowigi}*.inactiveForeground = @disabledForeground +{Solarized_Light---Mallowigi}*.disabledText = @disabledForeground {Solarized_Light---Mallowigi}ProgressBar.selectionBackground = #222 -{Solarized_Light---Mallowigi}ProgressBar.selectionForeground = #fff -{Solarized_Light---Mallowigi}ComboBox.selectionBackground = lazy(List.selectionBackground) -{Solarized_Light---Mallowigi}Table.selectionBackground = lazy(List.selectionBackground) -{Solarized_Light---Mallowigi}Separator.foreground = lazy(Slider.trackColor) -{Solarized_Light---Mallowigi}ToolBar.separatorColor = lazy(Slider.trackColor) +{Solarized_Light---Mallowigi}ComboBox.selectionBackground = $List.selectionBackground +{Solarized_Light---Mallowigi}Slider.disabledTrackColor = lighten($Slider.trackColor,5%) +{Solarized_Light---Mallowigi}Table.selectionBackground = $List.selectionBackground +{Solarized_Light---Mallowigi}Tree.selectionInactiveBackground = $List.selectionInactiveBackground +{Solarized_Light---Mallowigi}Button.toolbar.selectedBackground = darken($@background,15%) +{Solarized_Light---Mallowigi}ToggleButton.toolbar.selectedBackground = $Button.toolbar.selectedBackground diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java index 3bbd0ccf..22349eed 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/DemoPrefs.java @@ -52,6 +52,8 @@ public class DemoPrefs } public static void setupLaf( String[] args ) { +// com.formdev.flatlaf.demo.intellijthemes.IJThemesDump.install(); + // set look and feel try { if( args.length > 0 ) diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesDump.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesDump.java new file mode 100644 index 00000000..bfe25480 --- /dev/null +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesDump.java @@ -0,0 +1,118 @@ +/* + * Copyright 2025 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.demo.intellijthemes; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.util.Properties; +import java.util.concurrent.atomic.AtomicReference; +import javax.swing.LookAndFeel; +import javax.swing.UIDefaults; +import javax.swing.UIManager; +import com.formdev.flatlaf.FlatLaf; +import com.formdev.flatlaf.IntelliJTheme; +import com.formdev.flatlaf.util.LoggingFacade; + +/** + * @author Karl Tauber + */ +public class IJThemesDump +{ + // same as UIDefaultsLoader.KEY_PROPERTIES + private static final String KEY_PROPERTIES = "FlatLaf.internal.properties"; + + public static void enablePropertiesRecording() { + System.setProperty( KEY_PROPERTIES, "true" ); + } + + public static void install() { + enablePropertiesRecording(); + + UIManager.addPropertyChangeListener( e -> { + if( "lookAndFeel".equals( e.getPropertyName() ) ) { + LookAndFeel lookAndFeel = UIManager.getLookAndFeel(); + if( lookAndFeel instanceof IntelliJTheme.ThemeLaf ) { + IntelliJTheme theme = (lookAndFeel.getClass() == IntelliJTheme.ThemeLaf.class) + ? ((IntelliJTheme.ThemeLaf)lookAndFeel).getTheme() + : null; + String name = (theme != null) ? theme.name : lookAndFeel.getClass().getSimpleName(); + File dir = new File( "dumps/properties" ); + dumpProperties( dir, name, UIManager.getLookAndFeelDefaults() ); + } + } + } ); + } + + public static void dumpProperties( File dir, String name, UIDefaults defaults ) { + String content = dumpPropertiesToString( defaults ); + if( content == null ) + return; + + // write to file + File file = new File( dir, name + ".properties" ); + file.getParentFile().mkdirs(); + try( Writer fileWriter = new OutputStreamWriter( + new FileOutputStream( file ), StandardCharsets.UTF_8 ) ) + { + fileWriter.write( content ); + } catch( IOException ex ) { + LoggingFacade.INSTANCE.logSevere( null, ex ); + } + } + + public static String dumpPropertiesToString( UIDefaults defaults ) { + Properties properties = (Properties) defaults.get( KEY_PROPERTIES ); + if( properties == null ) + return null; + + // dump to string + StringWriter stringWriter = new StringWriter( 100000 ); + PrintWriter out = new PrintWriter( stringWriter ); + out.printf( "@baseTheme = %s%n", FlatLaf.isLafDark() ? "dark" : "light" ); + AtomicReference lastPrefix = new AtomicReference<>(); + properties.entrySet().stream() + .sorted( (e1, e2) -> ((String)e1.getKey()).compareTo( (String) e2.getKey() ) ) + .forEach( e -> { + String key = (String) e.getKey(); + String value = (String) e.getValue(); + String prefix = keyPrefix( key ); + if( !prefix.equals( lastPrefix.get() ) ) { + lastPrefix.set( prefix ); + out.printf( "%n%n#---- %s ----%n%n", prefix ); + } + + out.printf( "%-50s = %s%n", key, value.replace( ";", "; \\\n\t" ) ); + } ); + + return stringWriter.toString().replace( "\r", "" ); + } + + private static String keyPrefix( String key ) { + int dotIndex = key.indexOf( '.' ); + return (dotIndex > 0) + ? key.substring( 0, dotIndex ) + : key.endsWith( "UI" ) + ? key.substring( 0, key.length() - 2 ) + : ""; + } +} diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java index 5c8d716c..0524ce9a 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/intellijthemes/IJThemesPanel.java @@ -276,20 +276,21 @@ public class IJThemesPanel return; EventQueue.invokeLater( () -> { - setTheme( themeInfo ); + setTheme( themeInfo, false ); } ); } - private void setTheme( IJThemeInfo themeInfo ) { + private void setTheme( IJThemeInfo themeInfo, boolean reload ) { if( themeInfo == null ) return; // change look and feel if( themeInfo.lafClassName != null ) { - if( themeInfo.lafClassName.equals( UIManager.getLookAndFeel().getClass().getName() ) ) + if( !reload && themeInfo.lafClassName.equals( UIManager.getLookAndFeel().getClass().getName() ) ) return; - FlatAnimatedLafChange.showSnapshot(); + if( !reload ) + FlatAnimatedLafChange.showSnapshot(); try { UIManager.setLookAndFeel( themeInfo.lafClassName ); @@ -298,7 +299,8 @@ public class IJThemesPanel showInformationDialog( "Failed to create '" + themeInfo.lafClassName + "'.", ex ); } } else if( themeInfo.themeFile != null ) { - FlatAnimatedLafChange.showSnapshot(); + if( !reload ) + FlatAnimatedLafChange.showSnapshot(); try { if( themeInfo.themeFile.getName().endsWith( ".properties" ) ) @@ -320,7 +322,9 @@ public class IJThemesPanel // update all components FlatLaf.updateUI(); - FlatAnimatedLafChange.hideSnapshotWithAnimation(); + + if( !reload ) + FlatAnimatedLafChange.hideSnapshotWithAnimation(); } private void browsePlugin() { @@ -386,8 +390,8 @@ public class IJThemesPanel // use invokeLater() because KEY_LAF_THEME_FILE is updated after this event EventQueue.invokeLater( () -> { selectedCurrentLookAndFeel(); + lastLafChangeTime = System.currentTimeMillis(); } ); - lastLafChangeTime = System.currentTimeMillis(); } } @@ -435,7 +439,7 @@ public class IJThemesPanel } if( reload ) - setTheme( themesList.getSelectedValue() ); + setTheme( themesList.getSelectedValue(), true ); } } } diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt index 66b6a9df..d2a2bca5 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarculaLaf_1.8.0.txt @@ -76,7 +76,7 @@ + ProgressBar.foreground #c4c4c4 HSL 0 0 77 javax.swing.plaf.ColorUIResource [UI] - ProgressBar.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] -+ ProgressBar.selectionForeground #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] ++ ProgressBar.selectionForeground #1e2021 HSL 200 5 12 javax.swing.plaf.ColorUIResource [UI] #---- RadioButton ---- @@ -121,4 +121,4 @@ + contrast ratio: ProgressBar.foreground #c4c4c4 #3c3f41 6.1 ! - contrast ratio: ProgressBar.selectionForeground #eeeeee #4c87c8 3.2 !!!! -+ contrast ratio: ProgressBar.selectionForeground #3c3f41 #c4c4c4 6.1 ! ++ contrast ratio: ProgressBar.selectionForeground #1e2021 #c4c4c4 9.4 diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java index e723e7f1..61fcba20 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/uidefaults/UIDefaultsDump.java @@ -60,6 +60,7 @@ import javax.swing.plaf.UIResource; import javax.swing.plaf.basic.BasicLookAndFeel; import javax.swing.table.JTableHeader; import com.formdev.flatlaf.*; +import com.formdev.flatlaf.demo.intellijthemes.IJThemesDump; import com.formdev.flatlaf.intellijthemes.FlatAllIJThemes; import com.formdev.flatlaf.testing.FlatTestLaf; import com.formdev.flatlaf.themes.*; @@ -155,6 +156,8 @@ public class UIDefaultsDump private static void dumpIntelliJThemes( File dir ) { dir = new File( dir, "intellijthemes" ); + IJThemesDump.enablePropertiesRecording(); + for( LookAndFeelInfo info : FlatAllIJThemes.INFOS ) { String lafClassName = info.getClassName(); String relativeLafClassName = StringUtils.removeLeading( lafClassName, "com.formdev.flatlaf.intellijthemes." ); @@ -192,6 +195,15 @@ public class UIDefaultsDump dump( dir, "_InputMap", lookAndFeel, defaults, key -> key.contains( "InputMap" ), false ); dumpActionMaps( dir, "_ActionMap", lookAndFeel, defaults ); } + + if( lookAndFeel instanceof IntelliJTheme.ThemeLaf ) { + File cdir = new File( dir.getPath().replace( "intellijthemes", "intellijthemes-colors" ) ); + dumpColorsToProperties( cdir, lookAndFeel, defaults ); + + // dump as .properties + File pdir = new File( dir.getPath().replace( "intellijthemes", "intellijthemes-properties" ) ); + IJThemesDump.dumpProperties( pdir, lookAndFeel.getClass().getSimpleName(), defaults ); + } } private static void dump( File dir, String nameSuffix, @@ -231,8 +243,8 @@ public class UIDefaultsDump if( origFile != null ) { try { Map defaults1 = parse( new InputStreamReader( - new FileInputStream( origFile ), StandardCharsets.UTF_8 ) ); - Map defaults2 = parse( new StringReader( stringWriter.toString() ) ); + new FileInputStream( origFile ), StandardCharsets.UTF_8 ), false ); + Map defaults2 = parse( new StringReader( stringWriter.toString() ), false ); content = diff( defaults1, defaults2 ); } catch( Exception ex ) { @@ -280,6 +292,45 @@ public class UIDefaultsDump } } + private static void dumpColorsToProperties( File dir, LookAndFeel lookAndFeel, UIDefaults defaults ) { + // dump to string + StringWriter stringWriter = new StringWriter( 100000 ); + new UIDefaultsDump( lookAndFeel, defaults ).dumpColorsAsProperties( new PrintWriter( stringWriter ) ); + + String name = lookAndFeel instanceof MyBasicLookAndFeel + ? BasicLookAndFeel.class.getSimpleName() + : lookAndFeel.getClass().getSimpleName(); + File file = new File( dir, name + ".properties" ); + + // build and append differences + if( file.exists() ) { + try { + Map defaults1 = parse( new InputStreamReader( + new FileInputStream( file ), StandardCharsets.UTF_8 ), true ); + Map defaults2 = parse( new StringReader( stringWriter.toString() ), true ); + + String diff = diff( defaults1, defaults2 ); + if( !diff.isEmpty() ) { + stringWriter.write( "\n\n\n\n#==== Differences ==============================================================\n\n" ); + stringWriter.write( diff ); + } + } catch( Exception ex ) { + ex.printStackTrace(); + return; + } + } + + // write to file + file.getParentFile().mkdirs(); + try( Writer fileWriter = new OutputStreamWriter( + new FileOutputStream( file ), StandardCharsets.UTF_8 ) ) + { + fileWriter.write( stringWriter.toString().replace( "\r", "" ) ); + } catch( IOException ex ) { + ex.printStackTrace(); + } + } + private static String diff( Map defaults1, Map defaults2 ) { TreeSet keys = new TreeSet<>(); keys.addAll( defaults1.keySet() ); @@ -355,7 +406,7 @@ public class UIDefaultsDump buf.append( '\n' ); } - private static Map parse( Reader in ) throws IOException { + private static Map parse( Reader in, boolean ignoreDiffs ) throws IOException { Map defaults = new LinkedHashMap<>(); try( BufferedReader reader = new BufferedReader( in ) ) { String lastKey = null; @@ -371,6 +422,9 @@ public class UIDefaultsDump continue; } + if( ignoreDiffs && (trimmedLine.startsWith( "- " ) || trimmedLine.startsWith( "+ " )) ) + continue; + if( Character.isWhitespace( line.charAt( 0 ) ) ) { String value = defaults.get( lastKey ); value += '\n' + line; @@ -443,6 +497,30 @@ public class UIDefaultsDump dumpContrastRatios( out ); } + private void dumpColorsAsProperties( PrintWriter out ) { + defaults.keySet().stream() + .sorted( (key1, key2) -> { + return String.valueOf( key1 ).compareTo( String.valueOf( key2 ) ); + } ) + .forEach( key -> { + Color color = defaults.getColor( key ); + if( color == null ) + return; + + String strKey = String.valueOf( key ); + String prefix = keyPrefix( strKey ); + if( !prefix.equals( lastPrefix ) ) { + lastPrefix = prefix; + out.printf( "%n%n#---- %s ----%n%n", prefix ); + } + + out.printf( "%-50s = #%06x", strKey, color.getRGB() & 0xffffff ); + if( color.getAlpha() != 255 ) + out.printf( "%02x", (color.getRGB() >> 24) & 0xff ); + out.println(); + } ); + } + private void dumpActionMaps( PrintWriter out ) { dumpHeader( out ); From d612b9f4b8cbb925f385a4308121985d6b37e218 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 6 Mar 2025 17:47:55 +0100 Subject: [PATCH 13/15] Linux: use X11 window manager events to resize window, if FlatLaf window decorations are enabled (issue #866) also made drag border slightly wider (from 5 to 6 pixels) and changed drag corner width from 16 to 32 to match native windows --- CHANGELOG.md | 3 +++ .../flatlaf/ui/FlatNativeLinuxLibrary.java | 13 ++++++++-- .../formdev/flatlaf/ui/FlatWindowResizer.java | 26 ++++++++++++++++--- .../com/formdev/flatlaf/FlatLaf.properties | 4 +-- .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 4 +-- .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 4 +-- .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 4 +-- .../uidefaults/FlatMacLightLaf_1.8.0.txt | 4 +-- .../dumps/uidefaults/FlatTestLaf_1.8.0.txt | 4 +-- 9 files changed, 48 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 49500fdb..eab0cae0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,9 @@ FlatLaf Change Log - Extras: `FlatSVGIcon` color filters now can access painting component to implement component state based color mappings. (issue #906) - Linux: Added `libflatlaf-linux-arm64.so` for Linux on ARM64. (issue #899) +- Linux: Use X11 window manager events to resize window, if FlatLaf window + decorations are enabled. This gives FlatLaf windows a more "native" feeling. + (issue #866) - IntelliJ Themes: - Updated to latest versions and fixed various issues. - Support customizing through properties files. (issue #824) diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLinuxLibrary.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLinuxLibrary.java index 952d0ece..6dc170e1 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLinuxLibrary.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLinuxLibrary.java @@ -49,8 +49,17 @@ class FlatNativeLinuxLibrary } // direction for _NET_WM_MOVERESIZE message - // see https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html - static final int MOVE = 8; + // see https://specifications.freedesktop.org/wm-spec/latest/ar01s04.html + static final int + SIZE_TOPLEFT = 0, + SIZE_TOP = 1, + SIZE_TOPRIGHT = 2, + SIZE_RIGHT = 3, + SIZE_BOTTOMRIGHT = 4, + SIZE_BOTTOM = 5, + SIZE_BOTTOMLEFT = 6, + SIZE_LEFT = 7, + MOVE = 8; private static Boolean isXWindowSystem; diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java index 06f75a2e..c63ac409 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatWindowResizer.java @@ -188,7 +188,7 @@ public abstract class FlatWindowResizer protected abstract Dimension getWindowMinimumSize(); protected abstract Dimension getWindowMaximumSize(); - protected void beginResizing( int resizeDir ) {} + protected void beginResizing( int resizeDir, MouseEvent e ) {} protected void endResizing() {} //---- interface PropertyChangeListener ---- @@ -370,7 +370,25 @@ public abstract class FlatWindowResizer } @Override - protected void beginResizing( int resizeDir ) { + protected void beginResizing( int resizeDir, MouseEvent e ) { + // on Linux, resize window using window manager + if( SystemInfo.isLinux && window != null && FlatNativeLinuxLibrary.isWMUtilsSupported( window ) ) { + int direction = -1; + switch( resizeDir ) { + case N_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_TOP; break; + case S_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_BOTTOM; break; + case W_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_LEFT; break; + case E_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_RIGHT; break; + case NW_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_TOPLEFT; break; + case NE_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_TOPRIGHT; break; + case SW_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_BOTTOMLEFT; break; + case SE_RESIZE_CURSOR: direction = FlatNativeLinuxLibrary.SIZE_BOTTOMRIGHT; break; + } + + if( direction >= 0 && FlatNativeLinuxLibrary.moveOrResizeWindow( window, e, direction ) ) + return; + } + centerComp.setBounds( 0, 0, resizeComp.getWidth(), resizeComp.getHeight() ); centerComp.setCursor( getPredefinedCursor( resizeDir ) ); centerComp.setVisible( true ); @@ -462,7 +480,7 @@ public abstract class FlatWindowResizer } @Override - protected void beginResizing( int resizeDir ) { + protected void beginResizing( int resizeDir, MouseEvent e ) { int direction = 0; switch( resizeDir ) { case N_RESIZE_CURSOR: direction = NORTH; break; @@ -581,7 +599,7 @@ debug*/ dragRightOffset = windowBounds.x + windowBounds.width - xOnScreen; dragBottomOffset = windowBounds.y + windowBounds.height - yOnScreen; - beginResizing( resizeDir ); + beginResizing( resizeDir, e ); } @Override diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties index c39995ff..db0f7d8b 100644 --- a/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties +++ b/flatlaf-core/src/main/resources/com/formdev/flatlaf/FlatLaf.properties @@ -564,8 +564,8 @@ RadioButtonMenuItem.background = @menuBackground #---- RootPane ---- RootPane.border = com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder -RootPane.borderDragThickness = 5 -RootPane.cornerDragWidth = 16 +RootPane.borderDragThickness = 6 +RootPane.cornerDragWidth = 32 RootPane.honorFrameMinimumSizeOnResize = false RootPane.honorDialogMinimumSizeOnResize = true diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index a1c64d4f..6dfdc9a5 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -852,8 +852,8 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.activeBorderColor #4d5154 HSL 206 4 32 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) RootPane.background #3c3f41 HSL 204 4 25 javax.swing.plaf.ColorUIResource [UI] RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] -RootPane.borderDragThickness 5 -RootPane.cornerDragWidth 16 +RootPane.borderDragThickness 6 +RootPane.cornerDragWidth 32 RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index b3e564d4..7c962f5c 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -857,8 +857,8 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.activeBorderColor #737373 HSL 0 0 45 com.formdev.flatlaf.util.DerivedColor [UI] darken(50% autoInverse) RootPane.background #f2f2f2 HSL 0 0 95 javax.swing.plaf.ColorUIResource [UI] RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] -RootPane.borderDragThickness 5 -RootPane.cornerDragWidth 16 +RootPane.borderDragThickness 6 +RootPane.cornerDragWidth 32 RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index 0392e80f..e3b2d2e2 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -861,8 +861,8 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.activeBorderColor #303030 HSL 0 0 19 com.formdev.flatlaf.util.DerivedColor [UI] lighten(7% autoInverse) RootPane.background #1e1e1e HSL 0 0 12 javax.swing.plaf.ColorUIResource [UI] RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] -RootPane.borderDragThickness 5 -RootPane.cornerDragWidth 16 +RootPane.borderDragThickness 6 +RootPane.cornerDragWidth 32 RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 4dc02870..64ecd8e1 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -865,8 +865,8 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.activeBorderColor #777777 HSL 0 0 47 com.formdev.flatlaf.util.DerivedColor [UI] darken(50% autoInverse) RootPane.background #f6f6f6 HSL 0 0 96 javax.swing.plaf.ColorUIResource [UI] RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] -RootPane.borderDragThickness 5 -RootPane.cornerDragWidth 16 +RootPane.borderDragThickness 6 +RootPane.cornerDragWidth 32 RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index 8ffb24da..a597cd12 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -889,8 +889,8 @@ Resizable.resizeBorder [lazy] 4,4,4,4 false com.formdev.flatlaf.ui.F RootPane.background #ccffcc HSL 120 100 90 javax.swing.plaf.ColorUIResource [UI] RootPane.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatRootPaneUI$FlatWindowBorder [UI] -RootPane.borderDragThickness 5 -RootPane.cornerDragWidth 16 +RootPane.borderDragThickness 6 +RootPane.cornerDragWidth 32 RootPane.defaultButtonWindowKeyBindings length=8 [Ljava.lang.Object; [0] ENTER [1] press From 5dc88a621086b4dcd3dc395896c9fb30f72e294f Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 6 Mar 2025 18:47:48 +0100 Subject: [PATCH 14/15] SwingX: moved `FlatMonthDownIcon` and `FlatMonthUpIcon` from `ui` to `icons` package --- .../flatlaf/swingx/{ui => icons}/FlatMonthDownIcon.java | 2 +- .../formdev/flatlaf/swingx/{ui => icons}/FlatMonthUpIcon.java | 2 +- .../resources/com/formdev/flatlaf/swingx/FlatLaf.properties | 4 ++-- flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 4 ++-- flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt | 4 ++-- flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 4 ++-- flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt | 4 ++-- flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt | 4 ++-- 8 files changed, 14 insertions(+), 14 deletions(-) rename flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/{ui => icons}/FlatMonthDownIcon.java (98%) rename flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/{ui => icons}/FlatMonthUpIcon.java (95%) diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthDownIcon.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthDownIcon.java similarity index 98% rename from flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthDownIcon.java rename to flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthDownIcon.java index a84c469b..49cc31aa 100644 --- a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthDownIcon.java +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthDownIcon.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.formdev.flatlaf.swingx.ui; +package com.formdev.flatlaf.swingx.icons; import java.awt.BasicStroke; import java.awt.Color; diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthUpIcon.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthUpIcon.java similarity index 95% rename from flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthUpIcon.java rename to flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthUpIcon.java index 887d71e3..bb60247c 100644 --- a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatMonthUpIcon.java +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatMonthUpIcon.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.formdev.flatlaf.swingx.ui; +package com.formdev.flatlaf.swingx.icons; import javax.swing.SwingConstants; diff --git a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties index 862964cb..1ea97f34 100644 --- a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties +++ b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties @@ -43,8 +43,8 @@ JXHeader.descriptionFont = +0 #---- MonthView ---- -JXMonthView.monthDownFileName = {icon}com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon -JXMonthView.monthUpFileName = {icon}com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon +JXMonthView.monthDownFileName = {icon}com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon +JXMonthView.monthUpFileName = {icon}com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon JXMonthView.todayColor = @foreground JXMonthView.font = +0 diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index 6dfdc9a5..9a59f3b3 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -447,10 +447,10 @@ JXMonthView.disabledArrowColor #a6a6a6 HSL 0 0 65 javax.swing.plaf.Colo JXMonthView.flaggedDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] JXMonthView.leadingDayForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] +JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] +JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #4b6eaf HSL 219 40 49 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.trailingDayForeground #a6a6a6 HSL 0 0 65 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index 7c962f5c..8aaca77d 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -452,10 +452,10 @@ JXMonthView.disabledArrowColor #808080 HSL 0 0 50 javax.swing.plaf.Colo JXMonthView.flaggedDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] JXMonthView.leadingDayForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] +JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] +JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #bfdaf2 HSL 208 66 85 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #000000 HSL 0 0 0 javax.swing.plaf.ColorUIResource [UI] JXMonthView.trailingDayForeground #808080 HSL 0 0 50 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index e3b2d2e2..2f2465b4 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -453,10 +453,10 @@ JXMonthView.disabledArrowColor #9a9a9a HSL 0 0 60 javax.swing.plaf.Colo JXMonthView.flaggedDayForeground #e05555 HSL 0 69 61 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] JXMonthView.leadingDayForeground #9a9a9a HSL 0 0 60 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] +JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #4c5052 HSL 200 4 31 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] +JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #0054cc HSL 215 100 40 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #dddddd HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.trailingDayForeground #9a9a9a HSL 0 0 60 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 64ecd8e1..822c7bff 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -457,10 +457,10 @@ JXMonthView.disabledArrowColor #7b7b7b HSL 0 0 48 javax.swing.plaf.Colo JXMonthView.flaggedDayForeground #e02222 HSL 0 75 51 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] JXMonthView.leadingDayForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] +JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #dfdfdf HSL 0 0 87 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] +JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #b3d2ff HSL 216 100 85 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #262626 HSL 0 0 15 javax.swing.plaf.ColorUIResource [UI] JXMonthView.trailingDayForeground #7b7b7b HSL 0 0 48 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index a597cd12..02081b47 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -475,10 +475,10 @@ JXMonthView.disabledArrowColor #ababab HSL 0 0 67 javax.swing.plaf.Colo JXMonthView.flaggedDayForeground #00ffff HSL 180 100 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.font [active] $defaultFont [UI] JXMonthView.leadingDayForeground #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthDownIcon [UI] +JXMonthView.monthDownFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthDownIcon [UI] JXMonthView.monthStringBackground #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.monthStringForeground #0000ff HSL 240 100 50 javax.swing.plaf.ColorUIResource [UI] -JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.ui.FlatMonthUpIcon [UI] +JXMonthView.monthUpFileName [lazy] 20,20 com.formdev.flatlaf.swingx.icons.FlatMonthUpIcon [UI] JXMonthView.selectedBackground #aaffaa HSL 120 100 83 javax.swing.plaf.ColorUIResource [UI] JXMonthView.todayColor #ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] JXMonthView.trailingDayForeground #c0c0c0 HSL 0 0 75 javax.swing.plaf.ColorUIResource [UI] From babc8aa55d7d20b77f871f5046308a4ea03da217 Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Fri, 7 Mar 2025 11:59:21 +0100 Subject: [PATCH 15/15] SwingX: support `JXTipOfTheDay` component (issue #980) --- CHANGELOG.md | 1 + flatlaf-swingx/README.md | 1 + .../swingx/icons/FlatTipOfTheDayIcon.java | 81 ++++++++++++++ .../flatlaf/swingx/ui/FlatTipOfTheDayUI.java | 105 ++++++++++++++++++ .../flatlaf/swingx/FlatDarkLaf.properties | 6 + .../formdev/flatlaf/swingx/FlatLaf.properties | 10 ++ .../flatlaf/swingx/FlatLightLaf.properties | 6 + .../dumps/uidefaults/FlatDarkLaf_1.8.0.txt | 16 +++ .../dumps/uidefaults/FlatLightLaf_1.8.0.txt | 16 +++ .../dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt | 16 +++ .../uidefaults/FlatMacLightLaf_1.8.0.txt | 16 +++ .../dumps/uidefaults/FlatTestLaf_1.8.0.txt | 14 +++ .../testing/swingx/FlatSwingXTest.java | 27 +++++ .../flatlaf/testing/swingx/FlatSwingXTest.jfd | 27 ++++- .../flatlaf/themeeditor/FlatLafUIKeys.txt | 8 ++ 15 files changed, 347 insertions(+), 3 deletions(-) create mode 100644 flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatTipOfTheDayIcon.java create mode 100644 flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTipOfTheDayUI.java diff --git a/CHANGELOG.md b/CHANGELOG.md index eab0cae0..52587209 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ FlatLaf Change Log - IntelliJ Themes: - Updated to latest versions and fixed various issues. - Support customizing through properties files. (issue #824) +- SwingX: Support `JXTipOfTheDay` component. (issue #980) #### Fixed bugs diff --git a/flatlaf-swingx/README.md b/flatlaf-swingx/README.md index 0951e3c1..073ea926 100644 --- a/flatlaf-swingx/README.md +++ b/flatlaf-swingx/README.md @@ -16,6 +16,7 @@ this addon: - `JXMonthView` - `JXTaskPaneContainer` - `JXTaskPane` +- `JXTipOfTheDay` - `JXTitledPanel` ![Flat Light SwingX Demo](../images/FlatLightSwingXTest.png) diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatTipOfTheDayIcon.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatTipOfTheDayIcon.java new file mode 100644 index 00000000..0ab814e7 --- /dev/null +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/icons/FlatTipOfTheDayIcon.java @@ -0,0 +1,81 @@ +/* + * Copyright 2025 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.swingx.icons; + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics2D; +import java.awt.geom.Rectangle2D; +import javax.swing.UIManager; +import com.formdev.flatlaf.icons.FlatAbstractIcon; +import com.formdev.flatlaf.ui.FlatUIUtils; + +/** + * "light bulb" icon for {@link org.jdesktop.swingx.JXTipOfTheDay}. + * + * @uiDefault TipOfTheDay.icon.bulbColor Color + * @uiDefault TipOfTheDay.icon.socketColor Color + * + * @author Karl Tauber + * @since 3.6 + */ +public class FlatTipOfTheDayIcon + extends FlatAbstractIcon +{ + protected final Color bulbColor = UIManager.getColor( "TipOfTheDay.icon.bulbColor" ); + protected final Color socketColor = UIManager.getColor( "TipOfTheDay.icon.socketColor" ); + + public FlatTipOfTheDayIcon() { + super( 24, 24, null ); + } + + @Override + protected void paintIcon( Component c, Graphics2D g ) { + /* source: https://intellij-icons.jetbrains.design/#AllIcons-expui-codeInsight-intentionBulb + + + + + + + */ + + // scale because SVG coordinates are for 16x16 icon, but this icon is 24x24 + g.scale( 1.5, 1.5 ); + + g.setColor( socketColor ); + g.fill( new Rectangle2D.Double( 5.70142, 12, 4.6, 1 ) ); + + // M6 14H10C10 14.5523 9.55228 15 9 15H7C6.44772 15 6 14.5523 6 14Z + g.fill( FlatUIUtils.createPath( + 6,14, 10,14, + FlatUIUtils.CURVE_TO, 10,14.5523, 9.55228,15, 9,15, + 7,15, + FlatUIUtils.CURVE_TO, 6.44772,15, 6,14.5523, 6,14 ) ); + + g.setColor( bulbColor ); + + // M10.8704 9.14748C12.0417 8.27221 12.8 6.87465 12.8 5.3C12.8 2.64903 10.6509 0.5 7.99995 0.5C5.34898 0.5 3.19995 2.64903 3.19995 5.3C3.19995 6.87464 3.95817 8.27218 5.12943 9.14746L5.49994 11H10.4999L10.8704 9.14748Z + g.fill( FlatUIUtils.createPath( + 10.8704,9.14748, + FlatUIUtils.CURVE_TO, 12.0417,8.27221, 12.8,6.87465, 12.8,5.3, + FlatUIUtils.CURVE_TO, 12.8,2.64903, 10.6509,0.5, 7.99995,0.5, + FlatUIUtils.CURVE_TO, 5.34898,0.5, 3.19995,2.64903, 3.19995,5.3, + FlatUIUtils.CURVE_TO, 3.19995,6.87464, 3.95817,8.27218, 5.12943,9.14746, + 5.49994,11, 10.4999,11, 10.8704,9.14748 ) ); + } +} diff --git a/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTipOfTheDayUI.java b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTipOfTheDayUI.java new file mode 100644 index 00000000..da81bd70 --- /dev/null +++ b/flatlaf-swingx/src/main/java/com/formdev/flatlaf/swingx/ui/FlatTipOfTheDayUI.java @@ -0,0 +1,105 @@ +/* + * Copyright 2025 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.formdev.flatlaf.swingx.ui; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.Insets; +import java.beans.PropertyChangeListener; +import javax.swing.BorderFactory; +import javax.swing.JComponent; +import javax.swing.JScrollPane; +import javax.swing.UIManager; +import javax.swing.plaf.ComponentUI; +import javax.swing.text.JTextComponent; +import org.jdesktop.swingx.JXTipOfTheDay; +import org.jdesktop.swingx.plaf.basic.BasicTipOfTheDayUI; +import com.formdev.flatlaf.ui.FlatEmptyBorder; +import com.formdev.flatlaf.ui.FlatUIUtils; +import com.formdev.flatlaf.util.UIScale; + +/** + * Provides the Flat LaF UI delegate for {@link org.jdesktop.swingx.JXTipOfTheDay}. + * + * @author Karl Tauber + * @since 3.6 + */ +public class FlatTipOfTheDayUI + extends BasicTipOfTheDayUI +{ + public static ComponentUI createUI( JComponent c ) { + return new FlatTipOfTheDayUI( (JXTipOfTheDay) c ); + } + + public FlatTipOfTheDayUI( JXTipOfTheDay tipPane ) { + super( tipPane ); + } + + @Override + protected void installComponents() { + // removing (no longer needed) children when switching from other Laf (e.g. Metal) + // BasicTipOfTheDayUI adds new components in installComponents(), but never + // removes them when switching theme, which results in duplicate children + tipPane.removeAll(); + + super.installComponents(); + + Insets tipAreaInsets = UIManager.getInsets( "TipOfTheDay.tipAreaInsets" ); + if( tipAreaInsets != null ) + tipArea.setBorder( FlatUIUtils.nonUIResource( new FlatEmptyBorder( tipAreaInsets ) ) ); + } + + @Override + protected void uninstallComponents() { + super.uninstallComponents(); + + // BasicTipOfTheDayUI adds new components in installComponents(), but never + // removes them when switching theme, which results in duplicate children + tipPane.removeAll(); + } + + @Override + protected PropertyChangeListener createChangeListener() { + PropertyChangeListener superListener = super.createChangeListener(); + return e -> { + superListener.propertyChange( e ); + + if( "model".equals( e.getPropertyName() ) ) + showCurrentTip(); + }; + } + + @Override + public Dimension getPreferredSize( JComponent c ) { + return UIScale.scale( super.getPreferredSize( c ) ); + } + + @Override + protected void showCurrentTip() { + super.showCurrentTip(); + + if( currentTipComponent instanceof JScrollPane ) { + JScrollPane scrollPane = (JScrollPane) currentTipComponent; + if( scrollPane.getBorder() == null ) + scrollPane.setBorder( BorderFactory.createEmptyBorder() ); + + Component view = scrollPane.getViewport().getView(); + if( view instanceof JTextComponent && ((JTextComponent)view).getBorder() == null ) + ((JTextComponent)view).setBorder( BorderFactory.createEmptyBorder() ); + } + } +} diff --git a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatDarkLaf.properties b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatDarkLaf.properties index c4243b72..f956c44a 100644 --- a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatDarkLaf.properties +++ b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatDarkLaf.properties @@ -77,3 +77,9 @@ TaskPane.titleOver = #888 TaskPane.specialTitleBackground = #afafaf TaskPane.specialTitleForeground = #222 TaskPane.specialTitleOver = #666 + + +#---- TipOfTheDay ---- + +TipOfTheDay.icon.bulbColor = #F2C55C +TipOfTheDay.icon.socketColor = #CED0D6 diff --git a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties index 1ea97f34..f5c784b4 100644 --- a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties +++ b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLaf.properties @@ -22,6 +22,7 @@ HeaderUI = com.formdev.flatlaf.swingx.ui.FlatHeaderUI HyperlinkUI = com.formdev.flatlaf.swingx.ui.FlatHyperlinkUI MonthViewUI = com.formdev.flatlaf.swingx.ui.FlatMonthViewUI swingx/TaskPaneUI = com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +swingx/TipOfTheDayUI = com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI TitledPanelUI = com.formdev.flatlaf.swingx.ui.FlatTitledPanelUI @@ -76,3 +77,12 @@ SearchField.popupPressedIcon = lazy(SearchField.popupIcon) SearchField.clearIcon = com.formdev.flatlaf.icons.FlatClearIcon SearchField.clearRolloverIcon = lazy(SearchField.clearIcon) SearchField.clearPressedIcon = lazy(SearchField.clearIcon) + + +#---- TipOfTheDay ---- + +TipOfTheDay.background = @componentBackground +TipOfTheDay.border = 1,1,1,1,$Component.borderColor +TipOfTheDay.tipAreaInsets = 4,16,4,16 +TipOfTheDay.icon = com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon +TipOfTheDay.font = +0 diff --git a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLightLaf.properties b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLightLaf.properties index b10ab028..d744e64c 100644 --- a/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLightLaf.properties +++ b/flatlaf-swingx/src/main/resources/com/formdev/flatlaf/swingx/FlatLightLaf.properties @@ -77,3 +77,9 @@ TaskPane.titleOver = #666 TaskPane.specialTitleBackground = #afafaf TaskPane.specialTitleForeground = #222 TaskPane.specialTitleOver = #666 + + +#---- TipOfTheDay ---- + +TipOfTheDay.icon.bulbColor = #FFAF0F +TipOfTheDay.icon.socketColor = #6C707E diff --git a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt index 9a59f3b3..7ecb6604 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatDarkLaf_1.8.0.txt @@ -1239,6 +1239,17 @@ TextPane.selectionForeground #eeeeee HSL 0 0 93 javax.swing.plaf.Colo TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI +#---- TipOfTheDay ---- + +TipOfTheDay.background #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#616365 HSL 210 2 39 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TipOfTheDay.font [active] $defaultFont [UI] +TipOfTheDay.icon [lazy] 24,24 com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon [UI] +TipOfTheDay.icon.bulbColor #f2c55c HSL 42 85 65 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.icon.socketColor #ced0d6 HSL 225 9 82 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.tipAreaInsets 4,16,4,16 javax.swing.plaf.InsetsUIResource [UI] + + #---- TitlePane ---- TitlePane.background #303234 HSL 210 4 20 javax.swing.plaf.ColorUIResource [UI] @@ -1620,6 +1631,11 @@ small.font [active] Segoe UI plain 10 javax.swing.plaf.Fo swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +#---- swingx/TipOfTheDay ---- + +swingx/TipOfTheDayUI com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI + + #---- ---- text #46494b HSL 204 3 28 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt index 8aaca77d..b11db57d 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatLightLaf_1.8.0.txt @@ -1244,6 +1244,17 @@ TextPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.Colo TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI +#---- TipOfTheDay ---- + +TipOfTheDay.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#c2c2c2 HSL 0 0 76 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TipOfTheDay.font [active] $defaultFont [UI] +TipOfTheDay.icon [lazy] 24,24 com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon [UI] +TipOfTheDay.icon.bulbColor #ffaf0f HSL 40 100 53 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.icon.socketColor #6c707e HSL 227 8 46 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.tipAreaInsets 4,16,4,16 javax.swing.plaf.InsetsUIResource [UI] + + #---- TitlePane ---- TitlePane.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] @@ -1625,6 +1636,11 @@ small.font [active] Segoe UI plain 10 javax.swing.plaf.Fo swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +#---- swingx/TipOfTheDay ---- + +swingx/TipOfTheDayUI com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI + + #---- ---- text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt index 2f2465b4..be41dff7 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacDarkLaf_1.8.0.txt @@ -1249,6 +1249,17 @@ TextPane.selectionForeground #ffffff HSL 0 0 100 javax.swing.plaf.Colo TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI +#---- TipOfTheDay ---- + +TipOfTheDay.background #282828 HSL 0 0 16 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ffffff19 10% HSLA 0 0 100 10 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TipOfTheDay.font [active] $defaultFont [UI] +TipOfTheDay.icon [lazy] 24,24 com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon [UI] +TipOfTheDay.icon.bulbColor #f2c55c HSL 42 85 65 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.icon.socketColor #ced0d6 HSL 225 9 82 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.tipAreaInsets 4,16,4,16 javax.swing.plaf.InsetsUIResource [UI] + + #---- TitlePane ---- TitlePane.background #323232 HSL 0 0 20 javax.swing.plaf.ColorUIResource [UI] @@ -1630,6 +1641,11 @@ small.font [active] Segoe UI plain 10 javax.swing.plaf.Fo swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +#---- swingx/TipOfTheDay ---- + +swingx/TipOfTheDayUI com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI + + #---- ---- text #282828 HSL 0 0 16 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt index 822c7bff..e99b2145 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatMacLightLaf_1.8.0.txt @@ -1253,6 +1253,17 @@ TextPane.selectionForeground #262626 HSL 0 0 15 javax.swing.plaf.Colo TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI +#---- TipOfTheDay ---- + +TipOfTheDay.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#00000026 15% HSLA 0 0 0 15 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TipOfTheDay.font [active] $defaultFont [UI] +TipOfTheDay.icon [lazy] 24,24 com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon [UI] +TipOfTheDay.icon.bulbColor #ffaf0f HSL 40 100 53 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.icon.socketColor #6c707e HSL 227 8 46 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.tipAreaInsets 4,16,4,16 javax.swing.plaf.InsetsUIResource [UI] + + #---- TitlePane ---- TitlePane.background #ececec HSL 0 0 93 javax.swing.plaf.ColorUIResource [UI] @@ -1634,6 +1645,11 @@ small.font [active] Segoe UI plain 10 javax.swing.plaf.Fo swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +#---- swingx/TipOfTheDay ---- + +swingx/TipOfTheDayUI com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI + + #---- ---- text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt index 02081b47..d08a43b5 100644 --- a/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt +++ b/flatlaf-testing/dumps/uidefaults/FlatTestLaf_1.8.0.txt @@ -1289,6 +1289,15 @@ TextPane.selectionForeground #ffff00 HSL 60 100 50 javax.swing.plaf.Colo TextPaneUI com.formdev.flatlaf.ui.FlatTextPaneUI +#---- TipOfTheDay ---- + +TipOfTheDay.background #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] +TipOfTheDay.border [lazy] 1,1,1,1 false com.formdev.flatlaf.ui.FlatLineBorder [UI] lineColor=#ff0000 HSL 0 100 50 javax.swing.plaf.ColorUIResource [UI] lineThickness=1.000000 +TipOfTheDay.font [active] $defaultFont [UI] +TipOfTheDay.icon [lazy] 24,24 com.formdev.flatlaf.swingx.icons.FlatTipOfTheDayIcon [UI] +TipOfTheDay.tipAreaInsets 4,16,4,16 javax.swing.plaf.InsetsUIResource [UI] + + #---- TitlePane ---- TitlePane.background #00ff00 HSL 120 100 50 javax.swing.plaf.ColorUIResource [UI] @@ -1679,6 +1688,11 @@ small.font [active] Segoe UI plain 10 javax.swing.plaf.Fo swingx/TaskPaneUI com.formdev.flatlaf.swingx.ui.FlatTaskPaneUI +#---- swingx/TipOfTheDay ---- + +swingx/TipOfTheDayUI com.formdev.flatlaf.swingx.ui.FlatTipOfTheDayUI + + #---- ---- text #ffffff HSL 0 0 100 javax.swing.plaf.ColorUIResource [UI] diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java index aef4ce5d..3767beb8 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.java @@ -24,6 +24,9 @@ import javax.swing.table.*; import net.miginfocom.swing.*; import org.jdesktop.swingx.*; import org.jdesktop.swingx.table.DatePickerCellEditor; +import org.jdesktop.swingx.tips.DefaultTip; +import org.jdesktop.swingx.tips.DefaultTipOfTheDayModel; +import org.jdesktop.swingx.tips.TipOfTheDayModel.Tip; import com.formdev.flatlaf.testing.FlatTestFrame; import com.formdev.flatlaf.testing.FlatTestPanel; @@ -69,6 +72,10 @@ public class FlatSwingXTest JProgressBar statusProgressBar = new JProgressBar(); statusProgressBar.setValue( 50 ); statusBar1.add( statusProgressBar, new JXStatusBar.Constraint( JXStatusBar.Constraint.ResizeBehavior.FILL ) ); + + xTipOfTheDay1.setModel( new DefaultTipOfTheDayModel( new Tip[] { + new DefaultTip( "testTip", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." ) + } ) ); } private void busyChanged() { @@ -77,6 +84,11 @@ public class FlatSwingXTest xBusyLabel2.setBusy( busy ); } + private void showTipOfTheDayDialog() { + JXTipOfTheDay tipOfTheDay = new JXTipOfTheDay( xTipOfTheDay1.getModel() ); + tipOfTheDay.showDialog( this ); + } + private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents JLabel label1 = new JLabel(); @@ -138,6 +150,9 @@ public class FlatSwingXTest JXSearchField xSearchField4 = new JXSearchField(); JLabel label12 = new JLabel(); statusBar1 = new JXStatusBar(); + JLabel label13 = new JLabel(); + xTipOfTheDay1 = new JXTipOfTheDay(); + JButton showTipOfTheDayDialogButton = new JButton(); JButton button1 = new JButton(); JButton button2 = new JButton(); @@ -163,6 +178,7 @@ public class FlatSwingXTest "[]" + "[]" + "[]" + + "[top]" + "[37]")); //---- label1 ---- @@ -471,6 +487,16 @@ public class FlatSwingXTest add(label12, "cell 0 11"); add(statusBar1, "cell 1 11 3 1,grow"); + //---- label13 ---- + label13.setText("JXTipOfTheDay:"); + add(label13, "cell 0 12"); + add(xTipOfTheDay1, "cell 1 12 3 1"); + + //---- showTipOfTheDayDialogButton ---- + showTipOfTheDayDialogButton.setText("Show Dialog..."); + showTipOfTheDayDialogButton.addActionListener(e -> showTipOfTheDayDialog()); + add(showTipOfTheDayDialogButton, "cell 1 12 3 1"); + //---- button1 ---- button1.setText("<"); @@ -492,5 +518,6 @@ public class FlatSwingXTest private JCheckBox busyCheckBox; private JTable table; private JXStatusBar statusBar1; + private JXTipOfTheDay xTipOfTheDay1; // JFormDesigner - End of variables declaration //GEN-END:variables } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd index aacfbab7..f8b1ee36 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/swingx/FlatSwingXTest.jfd @@ -1,4 +1,4 @@ -JFDML JFormDesigner: "7.0.5.0.404" Java: "17" encoding: "UTF-8" +JFDML JFormDesigner: "8.3" encoding: "UTF-8" new FormModel { contentType: "form/swing" @@ -9,7 +9,7 @@ new FormModel { add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "ltr,insets dialog,hidemode 3" "$columnConstraints": "[left][][][][fill]" - "$rowConstraints": "[]0[][]0[top][][][][][][][][][37]" + "$rowConstraints": "[]0[][]0[top][][][][][][][][][top][37]" } ) { name: "this" add( new FormComponent( "javax.swing.JLabel" ) { @@ -402,9 +402,30 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 11 3 1,grow" } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label13" + "text": "JXTipOfTheDay:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 12" + } ) + add( new FormComponent( "org.jdesktop.swingx.JXTipOfTheDay" ) { + name: "xTipOfTheDay1" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 12 3 1" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "showTipOfTheDayDialogButton" + "text": "Show Dialog..." + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showTipOfTheDayDialog", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 12 3 1" + } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 0, 0 ) - "size": new java.awt.Dimension( 795, 600 ) + "size": new java.awt.Dimension( 900, 820 ) } ) add( new FormComponent( "javax.swing.JButton" ) { name: "button1" diff --git a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt index a4fbca03..6bdfa4d2 100644 --- a/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt +++ b/flatlaf-theme-editor/src/main/resources/com/formdev/flatlaf/themeeditor/FlatLafUIKeys.txt @@ -1055,6 +1055,13 @@ TextPane.margin TextPane.selectionBackground TextPane.selectionForeground TextPaneUI +TipOfTheDay.background +TipOfTheDay.border +TipOfTheDay.font +TipOfTheDay.icon +TipOfTheDay.icon.bulbColor +TipOfTheDay.icon.socketColor +TipOfTheDay.tipAreaInsets TitlePane.background TitlePane.borderColor TitlePane.buttonHoverBackground @@ -1323,6 +1330,7 @@ scrollbar semibold.font small.font swingx/TaskPaneUI +swingx/TipOfTheDayUI text textHighlight textHighlightText