Skip to content

Commit

Permalink
new version
Browse files Browse the repository at this point in the history
  • Loading branch information
mallowigi committed Apr 5, 2024
1 parent 25cb051 commit 89ac125
Show file tree
Hide file tree
Showing 28 changed files with 312 additions and 1 deletion.
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ img_folder: /img
author_default_avatar: /profile-pic.jpeg
github: https://github.com/mallowigi/material-theme-issues
download: https://plugins.jetbrains.com/plugin/8006-material-theme-ui
version: 8.13.1
version: 9.1.0
year: 2015-2023
social_image_path: /img/brand/logo.png
social_logo_path: /img/brand/logo.png
Expand Down
87 changes: 87 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,93 @@ next:
# Changelog
----

### Other

## 9.1.0

### Features

- **New Setting**: **Material Design Loading Icon**: replace JetBrains loading icon with the Material Design one (requires _Atom Material Icons_ plugin)
- **Migration**: Add Migration On-boarding dialog for non migrated users
- **Color Schemes**: Add _New Terminal_ colors
- **Color Schemes**: Add _JVM Logging_ colors
- **Color Schemes**: Add _Tabs Scrollbar_ colors
- **Color Schemes**: Add _Error Stripe_ colors on Searches

### Fixes

- **File Colors**: Set *Gray* as _Excluded Files_ color
- **Overlays**: Fix overlays not being triggered on some cases
- Prevent NPE on MTButton
- Prevent NPE when the *Python* plugin is installed

### Other

- Migrate to IntelliJ Gradle 2.0

## 9.0.0

### Features

- **New Settings**! Reorganized the settings into multiple panes for better organization
- Rewrote all settings panes and wizard using Kotlin DSL v2
- New settings are now saved in `material_theme_new.xml`, including the custom theme and per-project settings.
- **Themes**: View the current theme's colors in the settings.
- **Themes**: Introduced **Second Accent Color**, used for *Accent Mode*.
- **Themes**: New Theme: **Adaptive Theme**. This is a theme that listens to **Color Scheme** changes and adapts itself accordingly (__Experimental__).
- **Accent Mode**: Ability to toggle specific components only: _Tabs_, _Notifications_, _Lists_
- **Accent Mode**: Allow accent mode to modify color scheme (for the tab indicator, for example) – default is OFF.
- **Spacing**: Header size is now customizable (for both compact and non-compact modes). (_Premium_)
- **Spacing**: Status bar size is now customizable. (_Premium_)
- **Contrast**: Allow to fine-tune the strength of the **High Contrast** mode. (_Premium_)
- **Custom Theme**: Now you can customize the dark and light custom themes separately (_Experimental_).
- **Features**: **Centered Editor**: you can center the editor like in Distraction-free mode. (_Free_)
- **Features**: **Overlay Opacity**: customize the opacity of the overlays. (__Premium__)
- **Language Additions**: New Language: **Rust** (experimental)
- **Language Additions**: Toggle language additions per language.
- **Project-tree indicators**: New indicators: **Right**, **Underline**, **Boxed**.
- **Project-tree indicators**: Ability to set a gradient instead of a single color. (__Premium__)
- **Arrows Style**: Customize the look of the arrows in trees (only if the _Atom Material Plugin_ is not installed, in which case it is controlled by the plugin). Styles:
- Material (chevrons)
- Darcula (triangles)
- Plus-Minus (+/-)
- Arrows (→)
- Circles (circles with arrows)
- None
- **Title Bar** (previously **Project Frame**): Ability to colorize the **Left Toolbar**, **Right Toolbar** and **Status Bar**! (__Premium__)
- **Title Bar Widget**: The **Project Frame** widget can now be added to the New UI's __Title Bar__!
- You can also switch between presets to display.
- **UI Components**: Round notifications (__Premium__)
- **UI Components**: Borderless mode (__Premium__)
- Add back the icon for **Intentions**
- _Action Buttons_ are now rounded (will be customizable in the future).
- New **Java Keywords**: `abstract, extends, impements, native, assert, class, interface, enum, for, while, do, if, else, import, package, instanceof, new, module, requires, return, switch, synchronized, volatile, throw, throws, try, catch, finally, var` and primitive types.

### Fixes

- Improved **Accent Mode** to be more readable
- Fix Lighter themes' arrows not visible
- Space the text and the icon in _Icon Buttons_
- Change the _Failed Tests_ color scheme colors
- Fix _mnemonic texts_ not being visible
- Change the default color of Left/Right Tool Windows to the background color instead of the contrast color.
- Better support for _Native themes_.
- Add a border to **Notification** for better visibility.
- Add support for newer UI Properties.
- Other performance improvements.

### Removals

- Removed the **Recommended Plugins** page, as it was flaky and not really useful
- Removed the **Focus Mode** related settings, migrated to a [separate plugin](https://plugins.jetbrains.com/plugin/21237-focus-mode-2)
- Removed a lot of hacks due to them no longer working in JBR 21

### Other

- Added a **Migrate Action** for migrating settings to the new format.
- Refactored most of the project to Kotlin.


## 8.13.1

### Fixes
Expand Down
224 changes: 224 additions & 0 deletions docs/what-s-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,230 @@ group: whatsnew
toc: true
---

## What's new in Material Theme UI v9.0.0

Hello everyone, welcome for a new round of Material Theme UI updates. First, I would like to apologize for the lateness in updating the documentation since the latest version, this year has been very rough for me, but after long months of work, the new version is here, albeit still in its early phases, so bugs and performance issues can still be experienced at this point, but hopefully they will be less and less as time goes on.

So what's new in tow?

### New Settings

The first thing you will notice is the new settings page. This is a complete overhaul of the settings page, which was long overdue. Since the beginning of the plugin, there has been only two settings overhauls, the last one going as far back as 2017 (!). Back then, the settings were organized into tabs, each tab responsible for a specific part of the plugin.

This was a good idea at the time, but as the plugin grew, so did the settings, and it started to become cramped in there, and it began being difficult to add more settings without breaking the UI.

This is why the new settings page is now organized into different pages, each page representating what was once inside a tab. This makes it easier to find the setting you are looking for, and it also makes it easier to add new settings in the future.

The new settings page is more organized, more intuitive, and using a different technology: `Kotlin UI DSL` rather than pure Swing. This makes it easier to maintain and to add new features in the future.

{% include figure.html content="/screens/settingsv3/mainSettings.png" caption="Main Settings v3" %}

{% include figure.html content="/screens/settingsv3/themeSelector.png" caption="Theme Selector" %}

{% include figure.html content="/screens/settingsv3/accentColors.png" caption="Accent Colors" %}

As a result of that change, the settings need to be migrated to a new format, as such, the new settings are to be found in a file named `material_theme_new.xml` as opposed as the previous `material_theme.xml`. Therefore, you will need to migrate your previous configuration before using the plugin. This is a one-time operation, and you will be prompted to do so when you first open the IDE after updating the plugin.

{% include figure.html content="/screens/settingsv3/migrate.png" caption="Migration Dialog" %}

Upon clicking migrate, your previous settings will be migrated to the new format, and you will be able to use the plugin as usual.

> Note: You can still re-run the migration process manually through the Actions > Material Theme Features > Migrate Settings.
### Centered Editor

Perhaps the most controversial of the changes, is a new feature called **Centered Editor**. When enabled, it centers the code in the middle of the editor, as opposed as tucked to the left. This is a feature that has been requested for a long time, and it's finally here.

{% include figure.html content="/screens/centeredEditor.png" caption="Centered Editor" %}

This feature is based on the already available **Zen Mode** of the IDE, found in _Menu > View > Appearance > Zen Mode_. But, unlike Zen Mode, which also hides all tool windows and tabs, the Centered Editor only centers the code, leaving the rest of the UI intact.

This is particularly pleasant for people working with the Tool Windows closed, or having the Tool Windows **undocked**, and is similar to the way pages are laid out in the modern web.

You can find the setting under `Material Theme UI > Features > Centered Editor`

----

### Project Title Bar

Previously named **Project Frame**, the Project Title Bar sports more options than ever before. For one, it now allows you to control more elements of the screen, namely the _Tool Windows_ and the _Status Bar_!

{% include figure.html content="/screens/settingsv3/projectTitle.png" caption="Project Title Settings" %}

Such options allow you to colorize not only the title bar, but the tool windows and the status bar as well, giving you a more "framed" look of your IDE, similar to the famous VSCode "Peacock" extension.

{% include figure.html content="/screens/peacock.png" caption="Peacock Mode" %}

Moreover, a new widget has been added on the Title Bar displaying the same contents of the Project Frame, that you can toggle ON or OFF according to your tastes.

You can also select from a list of presets for your Title Bar widget. Maybe more will be added in the future!

{% include figure.html content="/screens/titleBarOptions.png" caption="Title Bar Widget" %}

----

### Adaptive Theme

The **Adaptive Theme** is a new theme that adapts itself from the **color scheme**. When selecting that theme, it will select the most suited color from the current color scheme as the theme colors.

You can also choose to override the colors you want from the Color Scheme Settings Page.

{% include figure.html content="/screens/settingsv3/adaptiveTheme.png" caption="Adaptive Theme" %}

----

### Current Theme and Custom Theme

You can now visualize your current theme colors in the Settings page under `Material Theme UI > Current Theme`.

{% include figure.html content="/screens/settingsv3/currentTheme.png" caption="Current Theme" %}

This page displays a matrix of the current theme colors, with the ability to copy the theme colors by clicking on a tile. And yes, this works for non-bundled themes too!

The **Custom Theme** page has also been migrated to the new layout, with the option to assign a different set of colors for the **Light Custom Theme**.

{% include figure.html content="/screens/settingsv3/customTheme.png" caption="Custom Theme" %}

---

### Theme Selector

The Theme Selector, previously only available inside the Wizard, is now available in the settings page as well. You can now preview the themes before applying them.

{% include figure.html content="/screens/settingsv3/themeSelector.png" caption="Theme Selector" %}

> Note: We are aware of the current performance issues with the Theme Selector, and we are working on it.
### Contrast Settings

The contrast settings are available in the `Material Theme UI > Contrast` page, just like before.

{% include figure.html content="/screens/settingsv3/contrastMode.png" caption="Contrast Settings" %}

In addition, you can now fine-tune the degree of contrast for the **High Contrast** mode, by adjusting the **Contrast Level** slider. (Only available for premium users).

---

### Accent Mode Revamp

Another highlight of that new version is the revamp of the Accent Mode.

{% include figure.html content="/screens/settingsv3/accentMode.png" caption="Accent Mode" %}

In the new Accent Mode, you will have much more options to control the look of the Accent Mode,
such as the ability to add a second Accent Color, or to toggle which parts of the IDE you don't want to be affected by the Accent Color.

---

### Spacing Settings

Previously labeled "Compact Settings", the spacing settings have been moved to the `Material Theme UI > Spacing` page, where you can adjust the spacing of the UI elements.

{% include figure.html content="/screens/settingsv3/spacing.png" caption="Spacing Settings" %}

There, you can find the previously available compactness options, as well as two brand new settings: **Header Size** and **Status Bar Size**.

Example of a bigger header and status bars:

{% include figure.html content="/screens/settingsv3/hugeHeaderStatusBar.png" caption="Big Header and Status Bar" %}

> Note: Increasing the header size also increases the icons size! Maybe in the future we'll separate the two.
----

### New Project Tree Indicators

New **Project Tree Indicators** have been added to the list:

#### Right Border

{% include figure.html content="/screens/indicators/rightBorder.png" caption="Right Border" %}

#### Underline

{% include figure.html content="/screens/indicators/underline.png" caption="Underline" %}

#### Boxed

{% include figure.html content="/screens/indicators/boxed.png" caption="Boxed" %}

In addition, you can select to have a gradient instead of a solid color for the indicators.

{% include figure.html content="/screens/indicators/gradient.png" caption="Gradient Indicators" %}

---

### Arrows Style

Previously only available in the Atom Material Icons plugin, you can now find the **Arrows Style** setting in the `Material Theme UI > Trees > Arrows Style` page.

{% include figure.html content="/screens/settingsv3/arrowsStyle.png" caption="Arrows Style" %}

> Note: This setting is only available for users NOT using the Atom Material Icons plugin in conjunction with the Material Theme UI plugin.
---

### Borderless mode

A new mode is available under `Material Theme UI > UI Components > Borderless Mode`. When enabled, it sets the "Border Color" to be the same color as the background, effectively "hiding" the borders from the UI components.

{% include figure.html content="/screens/settingsv3/borderless.png" caption="Borderless Mode" %}

### Round Notifications

Still on the **UI Components** page, you can now make the notifications round by enabling the **Round Notifications** setting.

{% include figure.html content="/screens/roundNotifications.png" caption="Round Notifications" %}

### Material Circular Loader

The **Material Circular Loader** is now available in the settings page under `Material Theme UI > UI Components > Material Circular Loader`.

When enabled, it restores the previous circular loading icon, just like the one found in the Material Design guidelines.

{% include figure.html content="/screens/loader.png" caption="Material Circular Loader" %}

---

### Custom Overlay Transparency

From the `Material Theme UI > Features` page, alongside the Overlays feature, you can now fine-tune the transparency of the overlays.

{% include figure.html content="/screens/settingsv3/overlays.png" caption="Custom Overlay Transparency" %}

-----

### Language Additions

The Language Additions now allow you to disable specific languages rather than the whole feature.

{% include figure.html content="/screens/settingsv3/langAdditions.png" caption="Language Additions" %}

In addition, languages have much more available options than before, with more keywords added to the tray, allowing for more customization. Oh and **Rust** has been added to the available languages list!

-----

### Deprecated Features and Removals

To conclude that long list of changes, there are two features that have been unshipped from the product due to low adoption and maintenance costs:

- Recommended Plugins
- Focus Mode

The **Focus Mode** have since then been adapted to a [separate plugin](https://plugins.jetbrains.com/plugin/21237-focus-mode-2), but it is currently unmaintained, so be aware that there will probably be no more updates unless someone else takes the reins of the project.

The Recommended Plugins was removed because plugin curation demands time and constant maintenance, and besides it was drafting away from the plugin's core features.

------

Fiou, that was a lot. There are also a lot of bug fixes and improvements, as well as other deprecations and removals, but I think I've covered the most important ones. You can find more information in the changelog.

Please note that this version is still in its early stages, and bugs and performance issues can still be experienced at this point. But we are working hard to make it better, and we hope you will enjoy the new features!

That's it, thanks all folks!

-----

## What's new in Material Theme UI v8.13.0

This version is only available for the 2023.3 EAP, and only consists on being compatible with the latest EAP breaking changes.
Expand Down
Binary file added img/screens/centeredEditor.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/indicators/boxed.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/indicators/gradient.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/indicators/rightBorder.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/indicators/underline.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/loader.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/peacockMode.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/roundNotifications.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/accentColors.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/accentMode.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/adaptiveTheme.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/arrowsStyle.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/borderless.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/contrastMode.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/currentTheme.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/customTheme.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/hugeHeaderStatusBar.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/langAdditions.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/mainSettings.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/migrate.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/overlays.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/projectTitle.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/spacing.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/settingsv3/themeSelector.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/screens/titleBarOptions.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 89ac125

Please sign in to comment.