Compare commits

..

13 Commits
0.31 ... 0.32

Author SHA1 Message Date
Karl Tauber
9026efeb26 release 0.32 2020-04-23 16:04:31 +02:00
Karl Tauber
2ab023beb0 UIDefaultsDump: used FlatAllIJThemes instead of IJThemesManager to get list of IJ themes 2020-04-23 14:02:25 +02:00
Karl Tauber
8e471fd720 IntelliJ Themes: generated Java classes for all themes (used IJThemesClassGenerator) 2020-04-23 13:59:59 +02:00
Karl Tauber
13cbbd8bc1 IntelliJ Themes: moved themes into own sub-project and build a JAR that contains all themes 2020-04-23 11:06:12 +02:00
Karl Tauber
b08ccc9767 UIDefaultsLoader: no longer support/use derived colors without base colors 2020-04-22 11:49:44 +02:00
Karl Tauber
801a7023a4 IntelliJ Themes: fixed toggle button selected backgrounds (issue #86) 2020-04-22 10:30:14 +02:00
Karl Tauber
dd06b554da ToggleButton: compute selected background color based on current component background (issue #32) 2020-04-22 09:48:58 +02:00
Karl Tauber
23f0504b30 IntelliJ Themes: fixed toggle button unselected background in most themes and foreground in Darcula and One Dark themes (issue #86) 2020-04-21 14:39:11 +02:00
Karl Tauber
262d172cde IntelliJ Themes: removed code that is obsolete since supporting gradient button background/border colors in commit de82dac8
make sure that gradient colors are predefined for improved compatibility
this fixes button background in Arc themes and toggle button background in Dark Flat and Light Flat themes
2020-04-21 10:02:11 +02:00
Karl Tauber
be81cb7876 IntelliJ Themes Demo: removed IntelliJ Light Preview theme because Flat light already uses colors from this theme since commit 78d5e03a 2020-04-21 09:41:53 +02:00
Karl Tauber
aaf9bd33cb UIDefaultsDump: support dumping IntelliJ themes (disabled)
can be used to check changes to UI defaults when modifying the IntelliJ theme converter
2020-04-21 09:37:24 +02:00
Karl Tauber
7381e2141f IntelliJ Themes Demo: updated Dracula, Gruvbox and Hiberbee themes (used IJThemesUpdater) 2020-04-21 00:10:18 +02:00
Karl Tauber
3923d941c1 IntelliJ Themes Demo: updated Material UI Lite themes (used IJThemesUpdater)
List.selectionInactiveBackground and Tree.selectionInactiveBackground now have better visible colors; other changes seem to be not used in FlatLaf
2020-04-20 23:28:39 +02:00
157 changed files with 4888 additions and 702 deletions

View File

@@ -1,6 +1,14 @@
FlatLaf Change Log
==================
## 0.32
- ToggleButton: Compute selected background color based on current component
background. (issue #32)
- IntelliJ Themes: Fixed button and toggle button colors. (issue #86)
- Updated IntelliJ Themes in demo to the latest versions.
## 0.31
- Focus indication border (or background) no longer hidden when temporary

View File

@@ -14,8 +14,8 @@
* limitations under the License.
*/
val releaseVersion = "0.31"
val developmentVersion = "0.32-SNAPSHOT"
val releaseVersion = "0.32"
val developmentVersion = "0.33-SNAPSHOT"
version = if( java.lang.Boolean.getBoolean( "release" ) ) releaseVersion else developmentVersion

View File

@@ -282,9 +282,9 @@ public abstract class FlatLaf
// load defaults from properties
List<Class<?>> lafClassesForDefaultsLoading = getLafClassesForDefaultsLoading();
if( lafClassesForDefaultsLoading != null )
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), defaults );
UIDefaultsLoader.loadDefaultsFromProperties( lafClassesForDefaultsLoading, addons, getAdditionalDefaults(), isDark(), defaults );
else
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), defaults );
UIDefaultsLoader.loadDefaultsFromProperties( getClass(), addons, getAdditionalDefaults(), isDark(), defaults );
// use Aqua MenuBarUI if Mac screen menubar is enabled
if( SystemInfo.IS_MAC && Boolean.getBoolean( "apple.laf.useScreenMenuBar" ) )

View File

@@ -132,6 +132,8 @@ public class IntelliJTheme
defaults.put( "Button.paintShadow", true );
defaults.put( "Button.shadowWidth", dark ? 2 : 1 );
Map<Object, Object> themeSpecificDefaults = removeThemeSpecificDefaults( defaults );
loadNamedColors( defaults );
// convert Json "ui" structure to UI defaults
@@ -183,6 +185,37 @@ public class IntelliJTheme
if( !uiKeys.contains( "Spinner.background" ) )
defaults.put( "Spinner.background", textFieldBackground );
}
// 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" ) );
// apply theme specific UI defaults at the end to allow overwriting
defaults.putAll( themeSpecificDefaults );
}
private Map<Object, Object> removeThemeSpecificDefaults( UIDefaults defaults ) {
// search for theme specific UI defaults keys
ArrayList<String> themeSpecificKeys = new ArrayList<>();
for( Object key : defaults.keySet() ) {
if( key instanceof String && ((String)key).startsWith( "[" ) )
themeSpecificKeys.add( (String) key );
}
// remove theme specific UI defaults and remember only those for current theme
Map<Object, Object> themeSpecificDefaults = new HashMap<>();
String currentThemePrefix = '[' + name.replace( ' ', '_' ) + ']';
for( String key : themeSpecificKeys ) {
Object value = defaults.remove( key );
if( key.startsWith( currentThemePrefix ) )
themeSpecificDefaults.put( key.substring( currentThemePrefix.length() ), value );
}
return themeSpecificDefaults;
}
/**
@@ -270,7 +303,7 @@ public class IntelliJTheme
// (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 ) && !noWildcardReplace.contains( k ) && !((String)k).startsWith( "CheckBox.icon." ) )
if( km.endsWith( tail ) && !((String)k).startsWith( "CheckBox.icon." ) )
defaults.put( k, uiValue );
}
}
@@ -412,7 +445,6 @@ public class IntelliJTheme
private static Map<String, String> uiKeyInverseMapping = new HashMap<>();
private static Map<String, String> checkboxKeyMapping = new HashMap<>();
private static Map<String, String> checkboxDuplicateColors = new HashMap<>();
private static Set<String> noWildcardReplace = new HashSet<>();
static {
// ComboBox
@@ -470,16 +502,6 @@ public class IntelliJTheme
Map.Entry<String, String>[] entries = checkboxDuplicateColors.entrySet().toArray( new Map.Entry[checkboxDuplicateColors.size()] );
for( Map.Entry<String, String> e : entries )
checkboxDuplicateColors.put( e.getValue(), e.getKey() );
// because FlatLaf uses Button.background and Button.borderColor,
// but IDEA uses Button.startBackground and Button.startBorderColor,
// our default button background and border colors may be replaced by
// wildcard *.background and *.borderColor colors
noWildcardReplace.add( "Button.background" );
noWildcardReplace.add( "Button.borderColor" );
noWildcardReplace.add( "Button.default.background" );
noWildcardReplace.add( "Button.default.borderColor" );
noWildcardReplace.add( "ToggleButton.background" );
}
//---- class ThemeLaf -----------------------------------------------------

View File

@@ -69,7 +69,7 @@ class UIDefaultsLoader
private static final String GLOBAL_PREFIX = "*.";
static void loadDefaultsFromProperties( Class<?> lookAndFeelClass, List<FlatDefaultsAddon> addons,
Properties additionalDefaults, UIDefaults defaults )
Properties additionalDefaults, boolean dark, UIDefaults defaults )
{
// determine classes in class hierarchy in reverse order
ArrayList<Class<?>> lafClasses = new ArrayList<>();
@@ -80,11 +80,11 @@ class UIDefaultsLoader
lafClasses.add( 0, lafClass );
}
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, defaults );
loadDefaultsFromProperties( lafClasses, addons, additionalDefaults, dark, defaults );
}
static void loadDefaultsFromProperties( List<Class<?>> lafClasses, List<FlatDefaultsAddon> addons,
Properties additionalDefaults, UIDefaults defaults )
Properties additionalDefaults, boolean dark, UIDefaults defaults )
{
try {
// load core properties files
@@ -121,14 +121,28 @@ class UIDefaultsLoader
// collect all platform specific keys (but do not modify properties)
ArrayList<String> platformSpecificKeys = new ArrayList<>();
for( Object key : properties.keySet() ) {
if( ((String)key).startsWith( "[" ) )
platformSpecificKeys.add( (String) key );
for( Object okey : properties.keySet() ) {
String key = (String) okey;
if( key.startsWith( "[" ) &&
(key.startsWith( "[win]" ) ||
key.startsWith( "[mac]" ) ||
key.startsWith( "[linux]" ) ||
key.startsWith( "[light]" ) ||
key.startsWith( "[dark]" )) )
platformSpecificKeys.add( key );
}
// remove platform specific properties and re-add only properties
// for current platform, but with platform prefix removed
if( !platformSpecificKeys.isEmpty() ) {
// handle light/dark specific properties
String lightOrDarkPrefix = dark ? "[dark]" : "[light]";
for( String key : platformSpecificKeys ) {
if( key.startsWith( lightOrDarkPrefix ) )
properties.put( key.substring( lightOrDarkPrefix.length() ), properties.remove( key ) );
}
// handle platform specific properties
String platformPrefix =
SystemInfo.IS_WINDOWS ? "[win]" :
SystemInfo.IS_MAC ? "[mac]" :
@@ -544,35 +558,37 @@ class UIDefaultsLoader
}
/**
* Syntax: lighten([color,]amount[,options]) or darken([color,]amount[,options])
* Syntax: lighten(color,amount[,options]) or darken(color,amount[,options])
* - color: a color (e.g. #f00) or a color function
* - amount: percentage 0-100%
* - options: [relative] [autoInverse] [lazy]
* - options: [relative] [autoInverse] [lazy] [derived]
*/
private static Object parseColorLightenOrDarken( boolean lighten, List<String> params,
Function<String, String> resolver, boolean reportError )
{
boolean isDerived = params.get( 0 ).endsWith( "%" );
String colorStr = isDerived ? null : params.get( 0 );
int nextParam = isDerived ? 0 : 1;
int amount = parsePercentage( params.get( nextParam++ ) );
String colorStr = params.get( 0 );
int amount = parsePercentage( params.get( 1 ) );
boolean relative = false;
boolean autoInverse = false;
boolean lazy = false;
boolean derived = false;
if( params.size() > nextParam ) {
String options = params.get( nextParam++ );
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" );
}
ColorFunctions.ColorFunction function = lighten
? new ColorFunctions.Lighten( amount, relative, autoInverse )
: new ColorFunctions.Darken( amount, relative, autoInverse );
if( isDerived )
return new DerivedColor( function );
if( derived ) {
ColorUIResource color = (ColorUIResource) parseColorOrFunction( resolver.apply( colorStr ), resolver, reportError );
return new DerivedColor( ColorFunctions.applyFunctions( color, function ), function );
}
if( lazy ) {
return (LazyValue) t -> {

View File

@@ -32,8 +32,8 @@ public class DerivedColor
{
private final ColorFunction[] functions;
public DerivedColor( ColorFunction... functions ) {
super( Color.red );
public DerivedColor( Color defaultColor, ColorFunction... functions ) {
super( (defaultColor != null) ? defaultColor : Color.red );
this.functions = functions;
}

View File

@@ -32,10 +32,6 @@
@cellFocusColor=#000000
@icon=#adadad
# Button
@buttonHoverBackground=lighten(3%,autoInverse)
@buttonPressedBackground=lighten(6%,autoInverse)
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
@dropCellBackground=darken(List.selectionBackground,10%,lazy)
@dropCellForeground=lazy(List.selectionForeground)
@@ -73,8 +69,8 @@ controlDkShadow=lighten($controlShadow,10%)
#---- Button ----
Button.background=#4c5052
Button.hoverBackground=@buttonHoverBackground
Button.pressedBackground=@buttonPressedBackground
Button.hoverBackground=lighten($Button.background,3%,derived autoInverse)
Button.pressedBackground=lighten($Button.background,6%,derived autoInverse)
Button.borderColor=#5e6060
Button.disabledBorderColor=#5e6060
@@ -83,16 +79,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
Button.default.background=#365880
Button.default.foreground=#bbbbbb
Button.default.hoverBackground=@buttonHoverBackground
Button.default.pressedBackground=@buttonPressedBackground
Button.default.hoverBackground=lighten($Button.default.background,3%,derived autoInverse)
Button.default.pressedBackground=lighten($Button.default.background,6%,derived autoInverse)
Button.default.borderColor=#4c708c
Button.default.hoverBorderColor=#537699
Button.default.focusedBorderColor=#537699
Button.default.focusColor=#43688c
Button.default.boldText=true
Button.toolbar.hoverBackground=#4c5052
Button.toolbar.pressedBackground=#555a5d
Button.toolbar.hoverBackground=lighten($Button.background,1%,derived autoInverse)
Button.toolbar.pressedBackground=lighten($Button.background,4%,derived autoInverse)
#---- CheckBox ----
@@ -105,8 +101,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
CheckBox.icon.selectedFocusedBorderColor=#466D94
CheckBox.icon.background=#43494A
CheckBox.icon.disabledBackground=@background
CheckBox.icon.hoverBackground=@buttonHoverBackground
CheckBox.icon.pressedBackground=@buttonPressedBackground
CheckBox.icon.hoverBackground=lighten($CheckBox.icon.background,3%,derived autoInverse)
CheckBox.icon.pressedBackground=lighten($CheckBox.icon.background,6%,derived autoInverse)
CheckBox.icon.selectedBackground=#43494A
CheckBox.icon.checkmarkColor=#A7A7A7
CheckBox.icon.disabledCheckmarkColor=#606060
@@ -151,8 +147,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
InternalFrame.activeBorderColor=lighten($Component.borderColor,10%)
InternalFrame.inactiveBorderColor=$Component.borderColor
InternalFrame.buttonHoverBackground=lighten(10%,autoInverse)
InternalFrame.buttonPressedBackground=lighten(20%,autoInverse)
InternalFrame.buttonHoverBackground=lighten($InternalFrame.activeTitleBackground,10%,derived autoInverse)
InternalFrame.buttonPressedBackground=lighten($InternalFrame.activeTitleBackground,20%,derived autoInverse)
InternalFrame.closeHoverBackground=lazy(Actions.Red)
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
InternalFrame.closeHoverForeground=#fff
@@ -218,7 +214,7 @@ Separator.foreground=#515151
Slider.trackColor=#646464
Slider.thumbColor=#A6A6A6
Slider.tickColor=#888888
Slider.hoverColor=darken(15%,autoInverse)
Slider.hoverColor=darken($Slider.thumbColor,15%,derived autoInverse)
Slider.disabledForeground=#4c5052
@@ -253,11 +249,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
#---- ToggleButton ----
ToggleButton.selectedBackground=#64696C
ToggleButton.selectedBackground=lighten($ToggleButton.background,10%,derived autoInverse)
ToggleButton.selectedForeground=@foreground
ToggleButton.disabledSelectedBackground=#525658
ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,3%,derived autoInverse)
ToggleButton.toolbar.selectedBackground=#5c6164
ToggleButton.toolbar.selectedBackground=lighten($ToggleButton.background,7%,derived autoInverse)
#---- ToolTip ----

View File

@@ -32,10 +32,6 @@
@cellFocusColor=#000000
@icon=#afafaf
# Button
@buttonHoverBackground=darken(3%,autoInverse)
@buttonPressedBackground=darken(10%,autoInverse)
# Drop (use lazy colors for IntelliJ platform themes, which usually do not specify these colors)
@dropCellBackground=lighten(List.selectionBackground,10%,lazy)
@dropCellForeground=lazy(List.selectionForeground)
@@ -74,8 +70,8 @@ controlDkShadow=darken($controlShadow,15%)
Button.background=#ffffff
Button.focusedBackground=#e3f1fa
Button.hoverBackground=@buttonHoverBackground
Button.pressedBackground=@buttonPressedBackground
Button.hoverBackground=darken($Button.background,3%,derived autoInverse)
Button.pressedBackground=darken($Button.background,10%,derived autoInverse)
Button.borderColor=$Component.borderColor
Button.disabledBorderColor=$Component.disabledBorderColor
@@ -85,16 +81,16 @@ Button.hoverBorderColor=$Button.focusedBorderColor
Button.default.background=$Button.background
Button.default.foreground=@foreground
Button.default.focusedBackground=$Button.focusedBackground
Button.default.hoverBackground=@buttonHoverBackground
Button.default.pressedBackground=@buttonPressedBackground
Button.default.hoverBackground=$Button.hoverBackground
Button.default.pressedBackground=$Button.pressedBackground
Button.default.borderColor=#4F9EE3
Button.default.hoverBorderColor=$Button.hoverBorderColor
Button.default.focusedBorderColor=$Button.focusedBorderColor
Button.default.focusColor=$Component.focusColor
Button.default.borderWidth=2
Button.toolbar.hoverBackground=#dfdfdf
Button.toolbar.pressedBackground=#d8d8d8
Button.toolbar.hoverBackground=darken($Button.background,12%,derived autoInverse)
Button.toolbar.pressedBackground=darken($Button.background,15%,derived autoInverse)
#---- CheckBox ----
@@ -107,8 +103,8 @@ CheckBox.icon.hoverBorderColor=$CheckBox.icon.focusedBorderColor
CheckBox.icon.background=#FFFFFF
CheckBox.icon.disabledBackground=@background
CheckBox.icon.focusedBackground=$Button.focusedBackground
CheckBox.icon.hoverBackground=@buttonHoverBackground
CheckBox.icon.pressedBackground=@buttonPressedBackground
CheckBox.icon.hoverBackground=$Button.hoverBackground
CheckBox.icon.pressedBackground=$Button.pressedBackground
CheckBox.icon.selectedBackground=#FFFFFF
CheckBox.icon.checkmarkColor=#4F9EE3
CheckBox.icon.disabledCheckmarkColor=#ABABAB
@@ -158,8 +154,8 @@ InternalFrame.inactiveTitleForeground=@disabledText
InternalFrame.activeBorderColor=darken($Component.borderColor,20%)
InternalFrame.inactiveBorderColor=$Component.borderColor
InternalFrame.buttonHoverBackground=darken(10%,autoInverse)
InternalFrame.buttonPressedBackground=darken(20%,autoInverse)
InternalFrame.buttonHoverBackground=darken($InternalFrame.activeTitleBackground,10%,derived autoInverse)
InternalFrame.buttonPressedBackground=darken($InternalFrame.activeTitleBackground,20%,derived autoInverse)
InternalFrame.closeHoverBackground=lazy(Actions.Red)
InternalFrame.closePressedBackground=darken(Actions.Red,10%,lazy)
InternalFrame.closeHoverForeground=#fff
@@ -225,7 +221,7 @@ Separator.foreground=#d1d1d1
Slider.trackColor=#c4c4c4
Slider.thumbColor=#6e6e6e
Slider.tickColor=#888888
Slider.hoverColor=lighten(15%,autoInverse)
Slider.hoverColor=lighten($Slider.thumbColor,15%,derived autoInverse)
Slider.disabledForeground=#c0c0c0
@@ -260,11 +256,11 @@ TableHeader.bottomSeparatorColor=$TableHeader.separatorColor
#---- ToggleButton ----
ToggleButton.selectedBackground=#cfcfcf
ToggleButton.selectedBackground=darken($ToggleButton.background,20%,derived autoInverse)
ToggleButton.selectedForeground=@foreground
ToggleButton.disabledSelectedBackground=#dfdfdf
ToggleButton.disabledSelectedBackground=darken($ToggleButton.background,13%,derived autoInverse)
ToggleButton.toolbar.selectedBackground=#cfcfcf
ToggleButton.toolbar.selectedBackground=$ToggleButton.selectedBackground
#---- ToolTip ----

View File

@@ -16,6 +16,16 @@
#---- 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
@@ -23,3 +33,32 @@ Button.default.hoverBorderColor=null
#---- HelpButton ----
HelpButton.hoverBorderColor=null
#---- ToggleButton ----
ToggleButton.startBackground=$ToggleButton.background
ToggleButton.endBackground=$ToggleButton.background
[dark]ToggleButton.selectedBackground=lighten($ToggleButton.background,15%,derived autoInverse)
[dark]ToggleButton.disabledSelectedBackground=lighten($ToggleButton.background,5%,derived autoInverse)
#---- theme specific ----
[Gruvbox_Dark_Hard]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
[Gruvbox_Dark_Medium]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
[Gruvbox_Dark_Soft]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
[Hiberbee_Dark]ToggleButton.selectedBackground=$ToggleButton.selectedBackground
[Hiberbee_Dark]ToggleButton.toolbar.selectedBackground=$ToggleButton.toolbar.selectedBackground
[High_contrast]ToggleButton.selectedBackground=#fff
[High_contrast]ToggleButton.selectedForeground=#000
[High_contrast]ToggleButton.disabledSelectedBackground=#444
[High_contrast]ToggleButton.toolbar.selectedBackground=#fff

View File

@@ -30,6 +30,7 @@ plugins {
dependencies {
implementation( project( ":flatlaf-core" ) )
implementation( project( ":flatlaf-extras" ) )
implementation( project( ":flatlaf-intellij-themes" ) )
implementation( "com.miglayout:miglayout-swing:5.2" )
implementation( "com.jgoodies:jgoodies-forms:1.9.0" )
}
@@ -38,6 +39,7 @@ tasks {
jar {
dependsOn( ":flatlaf-core:jar" )
dependsOn( ":flatlaf-extras:jar" )
dependsOn( ":flatlaf-intellij-themes:jar" )
manifest {
attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" )

View File

@@ -60,7 +60,7 @@ public class DemoPrefs
if( IntelliJTheme.ThemeLaf.class.getName().equals( lafClassName ) ) {
String theme = state.get( KEY_LAF_THEME, "" );
if( theme.startsWith( RESOURCE_PREFIX ) )
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( theme.substring( RESOURCE_PREFIX.length() ) ) );
IntelliJTheme.install( IJThemesPanel.class.getResourceAsStream( IJThemesPanel.THEMES_PACKAGE + theme.substring( RESOURCE_PREFIX.length() ) ) );
else if( theme.startsWith( FILE_PREFIX ) )
FlatLaf.install( IntelliJTheme.createLaf( new FileInputStream( theme.substring( FILE_PREFIX.length() ) ) ) );
else

View File

@@ -0,0 +1,170 @@
/*
* 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.demo.intellijthemes;
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
/**
* This tool creates look and feel classes for all themes listed in themes.json.
*
* @author Karl Tauber
*/
public class IJThemesClassGenerator
{
public static void main( String[] args ) {
IJThemesManager themesManager = new IJThemesManager();
themesManager.loadBundledThemes();
String toPath = "../flatlaf-intellij-themes/src/main/java" + IJThemesPanel.THEMES_PACKAGE + "..";
StringBuilder allInfos = new StringBuilder();
for( IJThemeInfo ti : themesManager.bundledThemes ) {
if( ti.sourceCodeUrl == null || ti.sourceCodePath == null )
continue;
generateClass( ti, toPath, allInfos );
}
Path out = new File( toPath, "FlatAllIJThemes.java" ).toPath();
String allThemes = CLASS_HEADER + ALL_THEMES_TEMPLATE.replace( "${allInfos}", allInfos );
writeFile( out, allThemes );
}
private static void generateClass( IJThemeInfo ti, String toPath, StringBuilder allInfos ) {
String resourceName = ti.resourceName;
String resourcePath = null;
int resSep = resourceName.indexOf( '/' );
if( resSep >= 0 ) {
resourcePath = resourceName.substring( 0, resSep );
resourceName = resourceName.substring( resSep + 1 );
}
String name = ti.name;
int nameSep = name.indexOf( '/' );
if( nameSep >= 0 )
name = name.substring( nameSep + 1 ).trim();
StringBuilder buf = new StringBuilder();
for( String n : name.split( " " ) ) {
if( n.length() == 0 || n.equals( "-" ) )
continue;
if( Character.isUpperCase( n.charAt( 0 ) ) )
buf.append( n );
else
buf.append( Character.toUpperCase( n.charAt( 0 ) ) ).append( n.substring( 1 ) );
}
String subPackage = (resourcePath != null) ? '.' + resourcePath.replace( "-", "" ) : "";
String themeClass = "Flat" + buf + "IJTheme";
String themeFile = resourceName;
String classBody = CLASS_HEADER + CLASS_TEMPLATE
.replace( "${subPackage}", subPackage )
.replace( "${themeClass}", themeClass )
.replace( "${themeFile}", themeFile );
File toDir = new File( toPath );
if( resourcePath != null )
toDir = new File( toDir, resourcePath.replace( "-", "" ) );
Path out = new File( toDir, themeClass + ".java" ).toPath();
writeFile( out, classBody );
if( allInfos.length() > 0 )
allInfos.append( '\n' );
allInfos.append( THEME_TEMPLATE
.replace( "${subPackage}", subPackage )
.replace( "${themeClass}", themeClass )
.replace( "${themeName}", name ) );
}
private static void writeFile( Path out, String content ) {
try {
Files.write( out, content.getBytes( StandardCharsets.ISO_8859_1 ),
StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING );
} catch( IOException ex ) {
ex.printStackTrace();
}
}
private static final String CLASS_HEADER =
"/*\n" +
" * Copyright 2020 FormDev Software GmbH\n" +
" *\n" +
" * Licensed under the Apache License, Version 2.0 (the \"License\");\n" +
" * you may not use this file except in compliance with the License.\n" +
" * You may obtain a copy of the License at\n" +
" *\n" +
" * https://www.apache.org/licenses/LICENSE-2.0\n" +
" *\n" +
" * Unless required by applicable law or agreed to in writing, software\n" +
" * distributed under the License is distributed on an \"AS IS\" BASIS,\n" +
" * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n" +
" * See the License for the specific language governing permissions and\n" +
" * limitations under the License.\n" +
" */\n" +
"\n";
private static final String CLASS_TEMPLATE =
"package com.formdev.flatlaf.intellijthemes${subPackage};\n" +
"\n" +
"import com.formdev.flatlaf.IntelliJTheme;\n" +
"\n" +
"/**\n" +
" * @author Karl Tauber\n" +
" */\n" +
"public class ${themeClass}\n" +
" extends IntelliJTheme.ThemeLaf\n" +
"{\n" +
" public static boolean install( ) {\n" +
" try {\n" +
" return install( new ${themeClass}() );\n" +
" } catch( RuntimeException ex ) {\n" +
" return false;\n" +
" }\n" +
" }\n" +
"\n" +
" public ${themeClass}() {\n" +
" super( Utils.loadTheme( \"${themeFile}\" ) );\n" +
" }\n" +
"}\n";
private static final String ALL_THEMES_TEMPLATE =
"package com.formdev.flatlaf.intellijthemes;\n" +
"\n" +
"import javax.swing.UIManager.LookAndFeelInfo;\n" +
"\n" +
"/**\n" +
" * @author Karl Tauber\n" +
" */\n" +
"public class FlatAllIJThemes\n" +
"{\n" +
" public static final LookAndFeelInfo[] INFOS = {\n" +
"${allInfos}\n" +
" };\n" +
"}\n";
private static final String THEME_TEMPLATE =
" new LookAndFeelInfo( \"${themeName}\", \"com.formdev.flatlaf.intellijthemes${subPackage}.${themeClass}\" ),";
}

View File

@@ -60,6 +60,8 @@ import net.miginfocom.swing.*;
public class IJThemesPanel
extends JPanel
{
public static final String THEMES_PACKAGE = "/com/formdev/flatlaf/intellijthemes/themes/";
private final IJThemesManager themesManager = new IJThemesManager();
private final List<IJThemeInfo> themes = new ArrayList<>();
private final HashMap<Integer, String> categories = new HashMap<>();
@@ -237,7 +239,7 @@ public class IJThemesPanel
showInformationDialog( "Failed to load '" + themeInfo.themeFile + "'.", ex );
}
} else {
IntelliJTheme.install( getClass().getResourceAsStream( themeInfo.resourceName ) );
IntelliJTheme.install( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ) );
DemoPrefs.getState().put( DemoPrefs.KEY_LAF_THEME, DemoPrefs.RESOURCE_PREFIX + themeInfo.resourceName );
}
@@ -260,7 +262,7 @@ public class IJThemesPanel
// save theme
try {
Files.copy( getClass().getResourceAsStream( themeInfo.resourceName ),
Files.copy( getClass().getResourceAsStream( THEMES_PACKAGE + themeInfo.resourceName ),
file.toPath(), StandardCopyOption.REPLACE_EXISTING );
} catch( IOException ex ) {
showInformationDialog( "Failed to save theme to '" + file + "'.", ex );
@@ -273,7 +275,7 @@ public class IJThemesPanel
File licenseFile = new File( file.getParentFile(),
StringUtils.removeTrailing( file.getName(), ".theme.json" ) +
themeInfo.licenseFile.substring( themeInfo.licenseFile.indexOf( '.' ) ) );
Files.copy( getClass().getResourceAsStream( themeInfo.licenseFile ),
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 );

View File

@@ -46,7 +46,7 @@ public class IJThemesUpdater
else if( fromUrl.contains( "gitlab.com" ) )
fromUrl = fromUrl.replace( "/blob/", "/raw/" );
String toPath = "src/main/resources/com/formdev/flatlaf/demo/intellijthemes/" + ti.resourceName;
String toPath = "../flatlaf-intellij-themes/src/main/resources" + IJThemesPanel.THEMES_PACKAGE + ti.resourceName;
download( fromUrl, toPath );
}

View File

@@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) 2016 CloudCannon
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:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
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.

View File

@@ -1,119 +0,0 @@
{
"name": "IntelliJ Light Preview",
"dark": false,
"author": "",
"editorScheme": "/Light.xml",
"ui": {
"*": {
"selectionBackground": "#2675BF",
"selectionBackgroundInactive": "#D5D5D5",
"selectionInactiveBackground": "#D5D5D5",
"disabledForeground": "#8C8C8C",
"disabledText": "#8C8C8C",
"inactiveForeground": "#8C8C8C",
"infoForeground": "#808080",
"modifiedItemForeground": "#005ad9",
"acceleratorSelectionForeground": "#FFFFFF",
"separatorColor": "#d1d1d1",
"separatorForeground": "#999999"
},
"Borders": {
"color": "#D1D1D1",
"ContrastBorderColor": "#D1D1D1"
},
"Button": {
"shadowColor": "#A6A6A620",
"startBorderColor": "#C4C4C4",
"endBorderColor": "#C4C4C4",
"default": {
"foreground": "#FFFFFF",
"startBackground": "#528CC7",
"endBackground": "#4989CC",
"startBorderColor": "#487EB8",
"endBorderColor": "#346DAD",
"shadowColor": "#A6A6A650",
"focusedBorderColor": "#A9C9F5"
}
},
"ComboBox": {
"background": "#FFFFFF",
"nonEditableBackground": "#FFFFFF",
"ArrowButton.background": "#fafafa"
},
"ComboBoxButton.background": "#FFFFFF",
"CompletionPopup": {
"selectionBackground": "#c5dffc",
"selectionInactiveBackground": "#e0e0e0"
},
"Component.borderColor": "#C4C4C4",
"DefaultTabs.background": "#F2F2F2",
"EditorTabs.underlinedTabBackground": "#ffffff",
"Editor": {
"background": "#cccccc",
"foreground": "#737373",
"shortcutForeground": "#4274A6"
},
"Label.errorForeground": "#C7222D",
"Link": {
"activeForeground": "#2470B3",
"hoverForeground": "#2470B3",
"pressedForeground": "#2470B3",
"visitedForeground": "#2470B3",
"secondaryForeground": "#77a8d9"
},
"Notification": {
"borderColor": "#D1D1D1"
},
"Menu.borderColor": "#d9d9d9",
"Panel.background": "#F2F2F2",
"PasswordField.background": "#FFFFFF",
"Popup": {
"separatorColor": "#d9d9d9",
"Advertiser.borderColor": "#D1D1D1",
"borderColor": "#adadad"
},
"ProgressBar": {
"trackColor": "#D1D1D1",
"progressColor": "#1E82E6",
"indeterminateStartColor": "#91C5F2",
"indeterminateEndColor": "#1E82E6"
},
"StatusBar.borderColor": "#D1D1D1",
"ToolWindow.Header.inactiveBackground": "#F2F2F2",
"Tree.rowHeight": 20
},
"icons": {
"ColorPalette": {
"Checkbox.Border.Default": "#b0b0b0",
"Checkbox.Background.Selected": "#4F9EE3",
"Checkbox.Border.Selected": "#4B97D9"
}
}
}

View File

@@ -1,127 +0,0 @@
{
"name": "gruvbox-theme",
"dark": true,
"author": "Vincent Parizet",
"editorScheme": "/gruvbox_theme.xml",
"ui": {
"*": {
"background": "#282828",
"foreground": "#fbf1c7",
"infoForeground": "#ebdbb2",
"lightSelectionBackground": "#3c3836",
"selectionBackground": "#4F4945",
"selectionForeground": "#fbf1c7",
"selectionBackgroundInactive": "#3c3836",
"selectedBackground": "#1d2021",
"selectedForeground": "#fbf1c7",
"selectedInactiveBackground": "#3c3836",
"selectedBackgroundInactive": "#3c3836",
"hoverBackground": "#28282866",
"borderColor": "#3c3836",
"disabledBorderColor": "#1d2021",
"separatorColor": "#3c3836"
},
"ActionButton": {
"hoverBackground": "#504945"
},
"Button": {
"startBackground": "#282828",
"endBackground": "#282828",
"startBorderColor": "#504945",
"endBorderColor": "#504945",
"default": {
"foreground": "#fbf1c7",
"startBackground": "#32302F",
"endBackground": "#32302F",
"startBorderColor": "#4F4945",
"endBorderColor": "#4F4945",
"focusedBorderColor": "#282828"
}
},
"ComboBox": {
"nonEditableBackground": "#282828",
"ArrowButton": {
"iconColor": "#fbf1c7",
"disabledIconColor": "#fbf1c7",
"nonEditableBackground": "#282828"
}
},
"EditorTabs": {
"selectedBackground": "#3c3836",
"underlineColor": "#83a598",
"inactiveMaskColor": "#28282866"
},
"ToolWindow": {
"Header": {
"background": "#3c3836",
"inactiveBackground": "#282828"
},
"HeaderTab": {
"selectedInactiveBackground": "#1d2021",
"hoverInactiveBackground": "#1d2021"
}
},
"Table": {
"stripeColor": "#3c3836",
"lightSelectionForeground": "#fbf1c7",
"lightSelectionInactiveForeground":"#a89984",
"lightSelectionBackground": "#504945",
"lightSelectionInactiveBackground":"#282828"
},
"FileColor": {
"Yellow": "#fabd2f22",
"Green": "#b8bb2622",
"Blue": "#83a59822",
"Violet": "#d3869b22",
"Orange": "#fe801922",
"Rose": "#cc241d22"
},
"Link": {
"activeForeground": "#83a598",
"hoverForeground": "#83a598",
"pressedForeground": "#83a598",
"visitedForeground": "#83a598"
}
},
"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"
}
}
}

View File

@@ -69,19 +69,33 @@
"sourceCodeUrl": "https://github.com/OlyaB/GreyTheme",
"sourceCodePath": "blob/master/src/Gray.theme.json"
},
"gruvbox_theme.theme.json": {
"name": "Gruvbox",
"gruvbox_dark_hard.theme.json": {
"name": "Gruvbox Dark Hard",
"license": "MIT",
"licenseFile": "gruvbox_theme.LICENSE.txt",
"sourceCodeUrl": "https://github.com/Vincent-P/gruvbox-intellij-theme",
"sourceCodePath": "blob/master/src/main/resources/gruvbox_theme.theme.json"
"sourceCodePath": "blob/master/src/main/resources/gruvbox_dark_hard.theme.json"
},
"Hiberbee.theme.json": {
"name": "Hiberbee",
"gruvbox_dark_medium.theme.json": {
"name": "Gruvbox Dark Medium",
"license": "MIT",
"licenseFile": "gruvbox_theme.LICENSE.txt",
"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",
"license": "MIT",
"licenseFile": "gruvbox_theme.LICENSE.txt",
"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",
"license": "MIT",
"licenseFile": "Hiberbee.LICENSE.txt",
"sourceCodeUrl": "https://github.com/Hiberbee/code-highlight-themes",
"sourceCodePath": "blob/master/src/main/resources/Hiberbee.theme.json"
"sourceCodePath": "blob/master/src/main/resources/HiberbeeDark.theme.json"
},
"HighContrast.theme.json": {
"name": "High contrast",
@@ -90,13 +104,6 @@
"sourceCodeUrl": "https://github.com/OlyaB/HighContrastTheme",
"sourceCodePath": "blob/master/src/HighContrast.theme.json"
},
"Light.theme.json": {
"name": "IntelliJ Light Preview",
"license": "MIT",
"licenseFile": "Light.LICENSE.txt",
"sourceCodeUrl": "https://github.com/OlyaB/IntelliJLightTheme",
"sourceCodePath": "blob/master/src/Light.theme.json"
},
"LightFlatTheme.theme.json": {
"name": "Light Flat",
"license": "MIT",

View File

@@ -0,0 +1,137 @@
/*
* 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.
*/
plugins {
`java-library`
`maven-publish`
id( "com.jfrog.bintray" )
id( "com.jfrog.artifactory" )
}
dependencies {
implementation( project( ":flatlaf-core" ) )
}
tasks {
assemble {
dependsOn(
"sourcesJar",
"javadocJar"
)
}
javadoc {
options {
this as StandardJavadocDocletOptions
tags = listOf( "uiDefault", "clientProperty" )
}
isFailOnError = false
}
register( "sourcesJar", Jar::class ) {
archiveClassifier.set( "sources" )
from( sourceSets.main.get().allJava )
}
register( "javadocJar", Jar::class ) {
archiveClassifier.set( "javadoc" )
from( javadoc )
}
}
publishing {
publications {
create<MavenPublication>( "maven" ) {
artifactId = "flatlaf-intellij-themes"
groupId = "com.formdev"
from( components["java"] )
artifact( tasks["sourcesJar"] )
artifact( tasks["javadocJar"] )
pom {
name.set( "FlatLaf IntelliJ Themes Pack" )
description.set( "Flat Look and Feel IntelliJ Themes Pack" )
url.set( "https://github.com/JFormDesigner/FlatLaf" )
licenses {
license {
name.set( "The Apache License, Version 2.0" )
url.set( "https://www.apache.org/licenses/LICENSE-2.0.txt" )
}
}
developers {
developer {
name.set( "Karl Tauber" )
organization.set( "FormDev Software GmbH" )
organizationUrl.set( "https://www.formdev.com/" )
}
}
scm {
url.set( "https://github.com/JFormDesigner/FlatLaf" )
}
}
}
}
}
bintray {
user = rootProject.extra["bintray.user"] as String?
key = rootProject.extra["bintray.key"] as String?
setPublications( "maven" )
with( pkg ) {
repo = "flatlaf"
name = "flatlaf-intellij-themes"
setLicenses( "Apache-2.0" )
vcsUrl = "https://github.com/JFormDesigner/FlatLaf"
with( version ) {
name = project.version.toString()
}
publish = rootProject.extra["bintray.publish"] as Boolean
dryRun = rootProject.extra["bintray.dryRun"] as Boolean
}
}
artifactory {
setContextUrl( "https://oss.jfrog.org" )
publish( closureOf<org.jfrog.gradle.plugin.artifactory.dsl.PublisherConfig> {
repository( delegateClosureOf<groovy.lang.GroovyObject> {
setProperty( "repoKey", "oss-snapshot-local" )
setProperty( "username", rootProject.extra["bintray.user"] as String? )
setProperty( "password", rootProject.extra["bintray.key"] as String? )
} )
defaults( delegateClosureOf<groovy.lang.GroovyObject> {
invokeMethod( "publications", "maven" )
setProperty( "publishArtifacts", true )
setProperty( "publishPom", true )
} )
} )
resolve( delegateClosureOf<org.jfrog.gradle.plugin.artifactory.dsl.ResolverConfig> {
setProperty( "repoKey", "jcenter" )
} )
}

View File

@@ -0,0 +1,82 @@
/*
* 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;
import javax.swing.UIManager.LookAndFeelInfo;
/**
* @author Karl Tauber
*/
public class FlatAllIJThemes
{
public static final LookAndFeelInfo[] INFOS = {
new LookAndFeelInfo( "Arc", "com.formdev.flatlaf.intellijthemes.FlatArcIJTheme" ),
new LookAndFeelInfo( "Arc - Orange", "com.formdev.flatlaf.intellijthemes.FlatArcOrangeIJTheme" ),
new LookAndFeelInfo( "Cyan light", "com.formdev.flatlaf.intellijthemes.FlatCyanLightIJTheme" ),
new LookAndFeelInfo( "Dark Flat", "com.formdev.flatlaf.intellijthemes.FlatDarkFlatIJTheme" ),
new LookAndFeelInfo( "Dark purple", "com.formdev.flatlaf.intellijthemes.FlatDarkPurpleIJTheme" ),
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.FlatDraculaIJTheme" ),
new LookAndFeelInfo( "Gradianto Dark Fuchsia", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDarkFuchsiaIJTheme" ),
new LookAndFeelInfo( "Gradianto Deep Ocean", "com.formdev.flatlaf.intellijthemes.FlatGradiantoDeepOceanIJTheme" ),
new LookAndFeelInfo( "Gradianto Midnight Blue", "com.formdev.flatlaf.intellijthemes.FlatGradiantoMidnightBlueIJTheme" ),
new LookAndFeelInfo( "Gray", "com.formdev.flatlaf.intellijthemes.FlatGrayIJTheme" ),
new LookAndFeelInfo( "Gruvbox Dark Hard", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkHardIJTheme" ),
new LookAndFeelInfo( "Gruvbox Dark Medium", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkMediumIJTheme" ),
new LookAndFeelInfo( "Gruvbox Dark Soft", "com.formdev.flatlaf.intellijthemes.FlatGruvboxDarkSoftIJTheme" ),
new LookAndFeelInfo( "Hiberbee Dark", "com.formdev.flatlaf.intellijthemes.FlatHiberbeeDarkIJTheme" ),
new LookAndFeelInfo( "High contrast", "com.formdev.flatlaf.intellijthemes.FlatHighContrastIJTheme" ),
new LookAndFeelInfo( "Light Flat", "com.formdev.flatlaf.intellijthemes.FlatLightFlatIJTheme" ),
new LookAndFeelInfo( "Material Design Dark", "com.formdev.flatlaf.intellijthemes.FlatMaterialDesignDarkIJTheme" ),
new LookAndFeelInfo( "Monocai", "com.formdev.flatlaf.intellijthemes.FlatMonocaiIJTheme" ),
new LookAndFeelInfo( "Nord", "com.formdev.flatlaf.intellijthemes.FlatNordIJTheme" ),
new LookAndFeelInfo( "One Dark", "com.formdev.flatlaf.intellijthemes.FlatOneDarkIJTheme" ),
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.FlatSolarizedDarkIJTheme" ),
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.FlatSolarizedLightIJTheme" ),
new LookAndFeelInfo( "Spacegray", "com.formdev.flatlaf.intellijthemes.FlatSpacegrayIJTheme" ),
new LookAndFeelInfo( "Vuesion", "com.formdev.flatlaf.intellijthemes.FlatVuesionIJTheme" ),
new LookAndFeelInfo( "Arc Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkIJTheme" ),
new LookAndFeelInfo( "Arc Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatArcDarkContrastIJTheme" ),
new LookAndFeelInfo( "Atom One Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkIJTheme" ),
new LookAndFeelInfo( "Atom One Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneDarkContrastIJTheme" ),
new LookAndFeelInfo( "Atom One Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightIJTheme" ),
new LookAndFeelInfo( "Atom One Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatAtomOneLightContrastIJTheme" ),
new LookAndFeelInfo( "Dracula", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaIJTheme" ),
new LookAndFeelInfo( "Dracula Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatDraculaContrastIJTheme" ),
new LookAndFeelInfo( "GitHub", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubIJTheme" ),
new LookAndFeelInfo( "GitHub Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatGitHubContrastIJTheme" ),
new LookAndFeelInfo( "Light Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlIJTheme" ),
new LookAndFeelInfo( "Light Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatLightOwlContrastIJTheme" ),
new LookAndFeelInfo( "Material Darker", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerIJTheme" ),
new LookAndFeelInfo( "Material Darker Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDarkerContrastIJTheme" ),
new LookAndFeelInfo( "Material Deep Ocean", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanIJTheme" ),
new LookAndFeelInfo( "Material Deep Ocean Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialDeepOceanContrastIJTheme" ),
new LookAndFeelInfo( "Material Lighter", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterIJTheme" ),
new LookAndFeelInfo( "Material Lighter Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialLighterContrastIJTheme" ),
new LookAndFeelInfo( "Material Oceanic", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicIJTheme" ),
new LookAndFeelInfo( "Material Oceanic Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialOceanicContrastIJTheme" ),
new LookAndFeelInfo( "Material Palenight", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightIJTheme" ),
new LookAndFeelInfo( "Material Palenight Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMaterialPalenightContrastIJTheme" ),
new LookAndFeelInfo( "Monokai Pro", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProIJTheme" ),
new LookAndFeelInfo( "Monokai Pro Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatMonokaiProContrastIJTheme" ),
new LookAndFeelInfo( "Night Owl", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlIJTheme" ),
new LookAndFeelInfo( "Night Owl Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatNightOwlContrastIJTheme" ),
new LookAndFeelInfo( "Solarized Dark", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkIJTheme" ),
new LookAndFeelInfo( "Solarized Dark Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedDarkContrastIJTheme" ),
new LookAndFeelInfo( "Solarized Light", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightIJTheme" ),
new LookAndFeelInfo( "Solarized Light Contrast", "com.formdev.flatlaf.intellijthemes.materialthemeuilite.FlatSolarizedLightContrastIJTheme" ),
};
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatArcIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatArcIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatArcIJTheme() {
super( Utils.loadTheme( "arc-theme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatArcOrangeIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatArcOrangeIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatArcOrangeIJTheme() {
super( Utils.loadTheme( "arc-theme-orange.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatCyanLightIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatCyanLightIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatCyanLightIJTheme() {
super( Utils.loadTheme( "Cyan.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatDarkFlatIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatDarkFlatIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatDarkFlatIJTheme() {
super( Utils.loadTheme( "DarkFlatTheme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatDarkPurpleIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatDarkPurpleIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatDarkPurpleIJTheme() {
super( Utils.loadTheme( "DarkPurple.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatDraculaIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatDraculaIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatDraculaIJTheme() {
super( Utils.loadTheme( "Dracula.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGradiantoDarkFuchsiaIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGradiantoDarkFuchsiaIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGradiantoDarkFuchsiaIJTheme() {
super( Utils.loadTheme( "Gradianto_dark_fuchsia.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGradiantoDeepOceanIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGradiantoDeepOceanIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGradiantoDeepOceanIJTheme() {
super( Utils.loadTheme( "Gradianto_deep_ocean.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGradiantoMidnightBlueIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGradiantoMidnightBlueIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGradiantoMidnightBlueIJTheme() {
super( Utils.loadTheme( "Gradianto_midnight_blue.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGrayIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGrayIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGrayIJTheme() {
super( Utils.loadTheme( "Gray.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGruvboxDarkHardIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGruvboxDarkHardIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGruvboxDarkHardIJTheme() {
super( Utils.loadTheme( "gruvbox_dark_hard.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGruvboxDarkMediumIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGruvboxDarkMediumIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGruvboxDarkMediumIJTheme() {
super( Utils.loadTheme( "gruvbox_dark_medium.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGruvboxDarkSoftIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGruvboxDarkSoftIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGruvboxDarkSoftIJTheme() {
super( Utils.loadTheme( "gruvbox_dark_soft.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatHiberbeeDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatHiberbeeDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatHiberbeeDarkIJTheme() {
super( Utils.loadTheme( "HiberbeeDark.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatHighContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatHighContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatHighContrastIJTheme() {
super( Utils.loadTheme( "HighContrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatLightFlatIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatLightFlatIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatLightFlatIJTheme() {
super( Utils.loadTheme( "LightFlatTheme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialDesignDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialDesignDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialDesignDarkIJTheme() {
super( Utils.loadTheme( "MaterialTheme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMonocaiIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMonocaiIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMonocaiIJTheme() {
super( Utils.loadTheme( "Monocai.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatNordIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatNordIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatNordIJTheme() {
super( Utils.loadTheme( "nord.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatOneDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatOneDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatOneDarkIJTheme() {
super( Utils.loadTheme( "one_dark.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedDarkIJTheme() {
super( Utils.loadTheme( "solarized_dark_theme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedLightIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedLightIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedLightIJTheme() {
super( Utils.loadTheme( "solarized_light_theme.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSpacegrayIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSpacegrayIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSpacegrayIJTheme() {
super( Utils.loadTheme( "Spacegray.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatVuesionIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatVuesionIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatVuesionIJTheme() {
super( Utils.loadTheme( "vuesion_theme.theme.json" ) );
}
}

View File

@@ -0,0 +1,42 @@
/*
* 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;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.IntelliJTheme;
import com.formdev.flatlaf.json.ParseException;
/**
* @author Karl Tauber
*/
class Utils
{
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
static IntelliJTheme loadTheme( String name ) {
try {
return new IntelliJTheme( Utils.class.getResourceAsStream( "themes/" + name ) );
} catch( ParseException | IOException ex ) {
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
LOG.log( Level.SEVERE, msg, ex );
throw new RuntimeException( msg, ex );
}
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatArcDarkContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatArcDarkContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatArcDarkContrastIJTheme() {
super( Utils.loadTheme( "Arc Dark Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatArcDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatArcDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatArcDarkIJTheme() {
super( Utils.loadTheme( "Arc Dark.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatAtomOneDarkContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatAtomOneDarkContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatAtomOneDarkContrastIJTheme() {
super( Utils.loadTheme( "Atom One Dark Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatAtomOneDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatAtomOneDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatAtomOneDarkIJTheme() {
super( Utils.loadTheme( "Atom One Dark.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatAtomOneLightContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatAtomOneLightContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatAtomOneLightContrastIJTheme() {
super( Utils.loadTheme( "Atom One Light Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatAtomOneLightIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatAtomOneLightIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatAtomOneLightIJTheme() {
super( Utils.loadTheme( "Atom One Light.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatDraculaContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatDraculaContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatDraculaContrastIJTheme() {
super( Utils.loadTheme( "Dracula Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatDraculaIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatDraculaIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatDraculaIJTheme() {
super( Utils.loadTheme( "Dracula.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGitHubContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGitHubContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGitHubContrastIJTheme() {
super( Utils.loadTheme( "GitHub Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatGitHubIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatGitHubIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatGitHubIJTheme() {
super( Utils.loadTheme( "GitHub.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatLightOwlContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatLightOwlContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatLightOwlContrastIJTheme() {
super( Utils.loadTheme( "Light Owl Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatLightOwlIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatLightOwlIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatLightOwlIJTheme() {
super( Utils.loadTheme( "Light Owl.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialDarkerContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialDarkerContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialDarkerContrastIJTheme() {
super( Utils.loadTheme( "Material Darker Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialDarkerIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialDarkerIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialDarkerIJTheme() {
super( Utils.loadTheme( "Material Darker.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialDeepOceanContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialDeepOceanContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialDeepOceanContrastIJTheme() {
super( Utils.loadTheme( "Material Deep Ocean Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialDeepOceanIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialDeepOceanIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialDeepOceanIJTheme() {
super( Utils.loadTheme( "Material Deep Ocean.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialLighterContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialLighterContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialLighterContrastIJTheme() {
super( Utils.loadTheme( "Material Lighter Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialLighterIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialLighterIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialLighterIJTheme() {
super( Utils.loadTheme( "Material Lighter.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialOceanicContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialOceanicContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialOceanicContrastIJTheme() {
super( Utils.loadTheme( "Material Oceanic Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialOceanicIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialOceanicIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialOceanicIJTheme() {
super( Utils.loadTheme( "Material Oceanic.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialPalenightContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialPalenightContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialPalenightContrastIJTheme() {
super( Utils.loadTheme( "Material Palenight Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMaterialPalenightIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMaterialPalenightIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMaterialPalenightIJTheme() {
super( Utils.loadTheme( "Material Palenight.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMonokaiProContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMonokaiProContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMonokaiProContrastIJTheme() {
super( Utils.loadTheme( "Monokai Pro Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatMonokaiProIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatMonokaiProIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatMonokaiProIJTheme() {
super( Utils.loadTheme( "Monokai Pro.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatNightOwlContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatNightOwlContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatNightOwlContrastIJTheme() {
super( Utils.loadTheme( "Night Owl Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatNightOwlIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatNightOwlIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatNightOwlIJTheme() {
super( Utils.loadTheme( "Night Owl.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedDarkContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedDarkContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedDarkContrastIJTheme() {
super( Utils.loadTheme( "Solarized Dark Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedDarkIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedDarkIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedDarkIJTheme() {
super( Utils.loadTheme( "Solarized Dark.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedLightContrastIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedLightContrastIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedLightContrastIJTheme() {
super( Utils.loadTheme( "Solarized Light Contrast.theme.json" ) );
}
}

View File

@@ -0,0 +1,38 @@
/*
* 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.materialthemeuilite;
import com.formdev.flatlaf.IntelliJTheme;
/**
* @author Karl Tauber
*/
public class FlatSolarizedLightIJTheme
extends IntelliJTheme.ThemeLaf
{
public static boolean install( ) {
try {
return install( new FlatSolarizedLightIJTheme() );
} catch( RuntimeException ex ) {
return false;
}
}
public FlatSolarizedLightIJTheme() {
super( Utils.loadTheme( "Solarized Light.theme.json" ) );
}
}

View File

@@ -0,0 +1,42 @@
/*
* 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.materialthemeuilite;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.IntelliJTheme;
import com.formdev.flatlaf.json.ParseException;
/**
* @author Karl Tauber
*/
class Utils
{
static final Logger LOG = Logger.getLogger( FlatLaf.class.getName() );
static IntelliJTheme loadTheme( String name ) {
try {
return new IntelliJTheme( Utils.class.getResourceAsStream( "../themes/material-theme-ui-lite/" + name ) );
} catch( ParseException | IOException ex ) {
String msg = "FlatLaf: Failed to load IntelliJ theme '" + name + "'";
LOG.log( Level.SEVERE, msg, ex );
throw new RuntimeException( msg, ex );
}
}
}

View File

@@ -10,8 +10,7 @@
"selectionBackground": "#6272a4",
"selectionInactiveBackground": "#4E5A82",
"inactiveBackground": "#414450",
"borderColor": "#282a36",
"underlineColor": "#bd93f9"
"borderColor": "#282a36"
},
"Borders": {
"color": "#282a36",
@@ -82,7 +81,7 @@
"background": "#44475a",
"underlinedTabBackground": "#313341",
"underlineColor": "#bd93f9",
"underlineHeight": 2
"underlineHeight": 1
},
"FileColor": {
"Blue": "#8be9fd",
@@ -175,7 +174,7 @@
},
"Separator.separatorColor": "#282a35",
"TabbedPane": {
"tabSelectionHeight": 2,
"tabSelectionHeight": 1,
"focusColor": "#282a35",
"hoverColor": "#282a35",
"underlineColor": "#bd93f9",
@@ -198,7 +197,7 @@
},
"HeaderTab": {
"underlineColor": "#bd93f9",
"underlineHeight": 2,
"underlineHeight": 1,
"underlinedTabBackground": "#313341",
"underlinedTabInactiveBackground": "#313341"
}

View File

@@ -1,10 +1,29 @@
{
"name": "Hiberbee",
"name": "Hiberbee Dark",
"author": "Vlad Volkov",
"dark": true,
"editorScheme": "/colors/Hiberbee.xml",
"editorScheme": "/colors/Dark.xml",
"colors": {
"accent": "#FFC83C",
"black": "#000000",
"consoleBackground": "#191919",
"editorBackground": "#212121",
"panelBackground": "#333333",
"textColor": "#F9F6EF",
"border": "#3c3c3c",
"redMac": "#fb3b45",
"redWin": "#ef6950",
"redMonokaiPro": "#ff6188",
"blueWinPalette": "#409AE1",
"blue": "#78dce8",
"orangeMonokaiPro": "#fc9867",
"greenMonokaiPro": "#a9dc76",
"yellowWinPalette": "#ffc83d",
"yellowMac": "#faaa1f",
"purpleWinPalette": "#b4a0ff",
"purpleMonokaiPro": "#ab9df2",
"greenWinPalette": "#40c5af",
"greyWinPalette": "#b2b2b2",
"panelText": "#a6a6a6",
"desaturatedBlue": "#1e282d",
"desaturatedOrange": "#8049117f",
"green": "#5B8021",
@@ -20,7 +39,7 @@
"greyDot80": "#323232",
"greyDot85": "#252525",
"greyDot90": "#1f2021",
"lightBlue": "#57D1EB",
"lightBlue": "#70D7FF",
"navyDot85": "#191d21",
"navyDot90": "#1f2021",
"red": "#800040",
@@ -39,7 +58,7 @@
"Actions.GreyInline.Dark": "#646464",
"Actions.Red": "#ff6188",
"Actions.Yellow": "#FFC83C",
"Objects.BlackText": "greyDot33",
"Objects.BlackText": "#7d7d7d",
"Objects.Blue": "#57D1EB",
"Objects.Green": "#92D923",
"Objects.GreenAndroid": "#92D923",
@@ -58,7 +77,7 @@
"shadow": "greyDot75",
"background": "greyDot80",
"borderColor": "greyDot70",
"caretForeground": "accent",
"caretForeground": "yellowMac",
"color": "greyDot50",
"foreground": "greyDot20",
"hoverBackground": "greyDot70",
@@ -66,7 +85,7 @@
"selectedForeground": "greyDot15",
"selectedInactiveBackground": "greyDot70",
"selectionBackground": "navyDot85",
"selectionForeground": "accent",
"selectionForeground": "yellowMac",
"separatorColor": "greyDot75",
"underlineHeight": 1
},
@@ -77,7 +96,7 @@
},
"Borders": {
"ContrastBorderColor": "greyDot65",
"color": "greyDot70"
"color": "border"
},
"Button.default.endBackground": "greyDot80",
"Button.default.endBorderColor": "greyDot65",
@@ -88,38 +107,41 @@
"Button.default.startBorderColor": "greyDot65",
"Button.endBackground": "greyDot80",
"Button.endBorderColor": "greyDot65",
"Button.focusedBorderColor": "accent",
"Button.focusedBorderColor": "yellowMac",
"Button.startBackground": "greyDot80",
"Button.startBorderColor": "greyDot65",
"CheckBox.disabledText": "greyDot33",
"CheckBox.select": "greyDot50",
"CheckBoxMenuItem.disabledBackground": "greyDot80",
"ComboBox.ArrowButton.disabledIconColor": "greyDot50",
"ComboBox.ArrowButton.iconColor": "accent",
"ComboBox.ArrowButton.iconColor": "yellowMac",
"ComboBox.ArrowButton.nonEditableBackground": "greyDot70",
"ComboBox.modifiedItemForeground": "accent",
"ComboBox.disabledForeground": "greyDot70",
"ComboBox.modifiedItemForeground": "yellowMac",
"ComboBox.disabledForeground": "greyDot80",
"ComboBox.nonEditableBackground": "greyDot75",
"ComboPopup.border": "1,1,1,1,4d4d4d",
"CompletionPopup": {
"nonFocusedMask": "#34343434",
"selectionBackground": "navyDot85",
"foreground": "greyDot20",
"matchForeground": "accent"
"matchForeground": "yellowMac"
},
"Component.arc": "3",
"Label.foreground": "greyDot15",
"Component.disabledBorderColor": "greyDot70",
"Component.infoForeground": "greyDot50",
"Component.errorFocusColor": "#F65F87",
"Component.focusColor": "greyDot50",
"Component.focusWidth": "0",
"Component.focusedBorderColor": "greyDot50",
"Component.hoverIconColor": "accent",
"Component.inactiveErrorFocusColor": "transparentRed",
"Component.inactiveWarningFocusColor": "transparentYellow",
"Component.warningFocusColor": "yellow",
"Debugger.Variables.changedValueForeground": "accent",
"Component": {
"arc": "3",
"disabledBorderColor": "greyDot70",
"infoForeground": "greyDot50",
"errorFocusColor": "#F65F87",
"focusColor": "greyDot50",
"focusWidth": "0",
"focusedBorderColor": "greyDot50",
"hoverIconColor": "yellowMac",
"inactiveErrorFocusColor": "transparentRed",
"inactiveWarningFocusColor": "transparentYellow",
"warningFocusColor": "yellow"
},
"Debugger.Variables.changedValueForeground": "yellowMac",
"Debugger.Variables.evaluatingExpressionForeground": "lightBlue",
"DefaultTabs.underlineColor": "accent",
"DefaultTabs.underlineColor": "yellowMac",
"DefaultTabs.underlineHeight": 1,
"DefaultTabs.underlinedTabBackground": "greyDot75",
"DefaultTabs.underlinedTabForeground": "lightBlue",
@@ -143,12 +165,17 @@
"infoForeground": "greyDot50"
},
"Link.activeForeground": "lightBlue",
"Link.hoverForeground": "accent",
"Link.hoverForeground": "yellowMac",
"Link.pressedForeground": "lightBlue",
"Link.visitedForeground": "greyDot25",
"MemoryIndicator.allocatedBackground": "green",
"MemoryIndicator.usedBackground": "red",
"Menu.acceleratorForeground": "greyDot25",
"Menu": {
"separatorColor": "greyDot75",
"foreground": "textColor",
"borderColor": "greyDot70",
"acceleratorForeground": "greyDot25"
},
"Notification.MoreButton.innerBorderColor": "greyDot65",
"Notification.ToolWindow.errorBackground": "greyDot85",
"Notification.ToolWindow.errorBorderColor": "#ed005c",
@@ -157,20 +184,25 @@
"Notification.ToolWindow.informativeBorderColor": "#92D923",
"Notification.ToolWindow.informativeForeground": "#92D923",
"Notification.ToolWindow.warningBackground": "greyDot85",
"Notification.ToolWindow.warningBorderColor": "accent",
"Notification.ToolWindow.warningForeground": "accent",
"Notification.ToolWindow.warningBorderColor": "yellowMac",
"Notification.ToolWindow.warningForeground": "yellowMac",
"Notification.background": "greyDot85",
"Notification.errorBackground": "greyDot85",
"Notification.errorBorderColor": "#ed005c",
"Notification.errorForeground": "#F65F87",
"OptionPane.background": "greyDot80",
"OptionPane.foreground": "greyDot33",
"Panel.background": "greyDot80",
"OptionPane": {
"background": "greyDot80",
"foreground": "greyDot20"
},
"Panel": {
"background": "greyDot80",
"foreground": "greyDot20"
},
"Panel.foreground": "greyDot20",
"ParameterInfo.background": "greyDot85",
"ParameterInfo.foreground": "greyDot25",
"ParameterInfo.currentOverloadBackground": "greyDot65",
"ParameterInfo.currentParameterForeground": "accent",
"ParameterInfo.currentParameterForeground": "yellowMac",
"ParameterInfo.infoForeground": "greyDot33",
"ParameterInfo.lineSeparatorColor": "greyDot75",
"PasswordField.background": "greyDot75",
@@ -178,10 +210,11 @@
"Plugins.Button.installBorderColor": "greyDot65",
"Plugins.Button.installFillBackground": "greyDot80",
"Plugins.Button.installFillForeground": "greyDot25",
"Plugins.Button.installForeground": "accent",
"Plugins.Button.installForeground": "yellowMac",
"Plugins.SearchField.background": "greyDot75",
"Plugins.SectionHeader.background": "greyDot75",
"Plugins.Tab.hoverBackground": "greyDot65",
"Plugins.Tab.hoverBackground": "navyDot85",
"Plugins.Tab.selectedBackground": "greyDot85",
"Plugins.background": "greyDot80",
"Plugins.disabledForeground": "greyDot50",
"Plugins.lightSelectionBackground": "navyDot85",
@@ -195,11 +228,11 @@
"PopupMenuSeparator.stripeWidth": 1,
"ProgressBar.failedColor": "#ed005c",
"ProgressBar.failedEndColor": "greyDot75",
"ProgressBar.indeterminateStartColor": "accent",
"ProgressBar.indeterminateStartColor": "yellowMac",
"ProgressBar.indeterminateEndColor": "#FD971F",
"ProgressBar.passedColor": "#92D923",
"ProgressBar.passedEndColor": "greyDot75",
"ProgressBar.progressColor": "accent",
"ProgressBar.progressColor": "yellowMac",
"ProgressBar.trackColor": "greyDot75",
"RadioButton.background": "greyDot80",
"RadioButtonMenuItem.disabledBackground": "greyDot80",
@@ -209,32 +242,33 @@
"SearchEverywhere.SearchField.infoForeground": "greyDot33",
"SearchEverywhere.SearchField.background": "greyDot75",
"SearchEverywhere.Header.background": "greyDot80",
"SearchEverywhere.Tab.selectedBackground": "greyDot80",
"SearchMatch.endBackground": "accent",
"SearchMatch.startBackground": "accent",
"SearchEverywhere.Tab.selectedBackground": "greyDot85",
"SearchEverywhere.Tab.selectedForeground": "lightBlue",
"SearchMatch.endBackground": "yellowMac",
"SearchMatch.startBackground": "yellowMac",
"SidePanel.background": "greyDot85",
"SpeedSearch.errorForeground": "#F65F87",
"SpeedSearch.foreground": "accent",
"SplitPane.highlight": "accent",
"SpeedSearch.foreground": "yellowMac",
"SplitPane.highlight": "yellowMac",
"PopupMenu.translucentBackground": "greyDot50",
"TabbedPane.disabledUnderlineColor": "greyDot65",
"TabbedPane.focusColor": "greyDot65",
"TabbedPane.tabSelectionHeight": 1,
"TabbedPane.underlineColor": "accent",
"TabbedPane.underlineColor": "yellowMac",
"Table.dropLineColor": "greyDot75",
"Table.dropLineShortColor": "greyDot70",
"Table.focusCellBackground": "greyDot85",
"Table.focusCellForeground": "accent",
"Table.sortIconColor": "accent",
"Table.focusCellForeground": "yellowMac",
"Table.sortIconColor": "yellowMac",
"Table.stripeColor": "greyDot75",
"TableHeader.background": "greyDot85",
"TableHeader.bottomSeparatorColor": "greyDot65",
"TextArea.background": "greyDot75",
"TextArea.caretForeground": "accent",
"TextArea.caretForeground": "yellowMac",
"TextArea.inactiveBackground": "greyDot80",
"TextField.background": "greyDot75",
"TextField.foreground": "greyDot25",
"TextField.caretForeground": "accent",
"TextField.caretForeground": "yellowMac",
"TextField.highlight": "greyDot15",
"TextField.inactiveForeground": "greyDot33",
"TextPane.inactiveBackground": "greyDot80",
@@ -242,7 +276,7 @@
"ToggleButton.buttonColor": "greyDot65",
"ToggleButton.offBackground": "greyDot75",
"ToggleButton.offForeground": "greyDot25",
"ToggleButton.onBackground": "accent",
"ToggleButton.onBackground": "yellowMac",
"ToggleButton.onForeground": "greyDot80",
"ToolBar.borderHandleColor": "greyDot65",
"ToolTip.Actions.background": "greyDot80",
@@ -257,17 +291,17 @@
"ToolWindow.HeaderTab.hoverBackground": "greyDot65",
"ToolWindow.HeaderTab.hoverInactiveBackground": "greyDot85",
"ToolWindow.HeaderTab.inactiveUnderlineColor": "greyDot75",
"ToolWindow.HeaderTab.underlineColor": "accent",
"ToolWindow.HeaderTab.underlineColor": "yellowMac",
"ToolWindow.HeaderTab.underlineHeight": 1,
"ToolWindow.HeaderTab.underlinedTabBackground": "greyDot90",
"ToolWindow.HeaderTab.underlinedTabInactiveBackground": "greyDot75",
"Tree.background": "greyDot85",
"Tree.foreground": "greyDot15",
"Tree.modifiedItemForeground": "accent",
"Tree.modifiedItemForeground": "yellowMac",
"ValidationTooltip.errorBackground": "greyDot85",
"ValidationTooltip.errorBorderColor": "#ed005c",
"ValidationTooltip.warningBackground": "greyDot85",
"ValidationTooltip.warningBorderColor": "accent",
"ValidationTooltip.warningBorderColor": "yellowMac",
"VersionControl.FileHistory.Commit.selectedBranchBackground": "greyDot70",
"VersionControl.Log.Commit.currentBranchBackground": "greyDot85",
"VersionControl.Log.Commit.unmatchedForeground": "greyDot25",

Some files were not shown because too many files have changed in this diff Show More