Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the editor theme #45607

Merged
merged 1 commit into from
May 6, 2021
Merged

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented Jan 31, 2021

The editor theme now makes use of rounded corners and less borders to follow modern visual trends. The corner radius and border width are configurable in the Editor Settings, so you can revert to the old appearance by setting corner radius to 0 and border width to 1.

The default theme's colors were also tweaked to make the blue hue more subtle (similar to the Arc theme, which was removed as a consequence). The Alien theme was replaced by a Breeze Dark theme, which should blend in well with the KDE theme.

The new editor theme will allow distinguishing Godot 4.0 easily from Godot 3.2, even if the version number is not visible on screenshots/videos. This is important for tutorials and the like 🙂

TODO

  • Increase contrast (make the main background darker) by reduz's request.
  • Make corner radii more consistent across nodes, such as the top of PopupMenus.
    • Consider making LineEdits/TextEdits not use rounded corners to distinguish them more easily from buttons.
  • Fix some 2D/3D editor buttons not being marked as flat when they should be (following the ToolButton removal).
  • Fix PopupMenu hover styling so the highlight line spans the whole width of the popup.
  • Improve tab/subtab styling in windows such as the project/editor settings. I'm not sure how to improve it, so ideas are welcome.
    • This can be done by changing the background color of subwindows to be darker. It might not always be a good idea, so we can try that in a future PR.

Preview

Click to view at full resolution.

Note: The screenshots below are outdated and don't reflect the version of the pull request that was merged.

Dark theme

Editor

Editor Settings

PopupMenu

Light theme

Editor

@YuriSizov
Copy link
Contributor

There are some weird artifacts due to the new border styling, namely in tabs and window headers:

image
image

@Calinou
Copy link
Member Author

Calinou commented Jan 31, 2021

There are some weird artifacts due to the new border styling, namely in tabs and window headers:

For the first case, this is due to antialiasing blurring out borders as long as one of the corners has a radius greater than zero. It regressed sometime around 3.2.2 or 3.2.3.

For the second case, this is likely due to me not setting the bottom corner radii of the window title to 0. I'll look into fixing that.

@HungryProton
Copy link
Contributor

I'm all in for an editor theme overhaul, but I think having consistent margins is more important than putting rounded corners everywhere. (Don't get me wrong, I like rounded corners).

One case in particular is in this screenshot, having the highlighted part stuck to the text is quite jarring in my opinion.
image

It would look better if the hover style took the entire width, without the rounded corners, kind of like this: (ignore the colors)
image

@Calinou
Copy link
Member Author

Calinou commented Jan 31, 2021

One case in particular is in this screenshot, having the highlighted part stuck to the text is quite jarring in my opinion.

It used to look like the second screenshot you posted, but it regressed since the PopupMenu rework was merged. I haven't been able to fix it so far.

@barbaros83
Copy link

i think the inspector could also use an update, it sometimes hard to distinguish where an expanded tab starts and ends

@Calinou
Copy link
Member Author

Calinou commented Feb 2, 2021

i think the inspector could also use an update, it sometimes hard to distinguish where an expanded tab starts and ends

This is something reduz also mentioned, but I'd prefer to tackle it in a future PR.

Edit: Proposal opened: godotengine/godot-proposals#2230

@EricEzaM
Copy link
Contributor

EricEzaM commented Feb 4, 2021

@HungryProton

It is I, PopupMenu person. How's this?

  • removed horizontal margin
  • kept vertical margin
  • added horizontal padding for items.

(this is using the current 4.0 theme, not the one from this PR)
image

@HungryProton
Copy link
Contributor

@EricEzaM
Looks a lot better like this in my opinion! (I'm no PopupMenu authority though)

@EricEzaM
Copy link
Contributor

EricEzaM commented Feb 4, 2021

I agree. Much more modern. I will submit a PR with these changes. It is tangentially related to this PR, but it can stand alone in it's own PR too.

@EricEzaM
Copy link
Contributor

EricEzaM commented Feb 4, 2021

Overall on the theme though, I must say I quite dislike the mix of sharp and rounded corners. I think one should be chosen. Sharp edges is by far more common in the editor currently and it looks pretty clean I think.

The rounded edges are just sort of there randomly... on PopupMenu hover highlight (why?), on Tree selection, on the search bar, on the unselected tabs but not on the selected tabs (???). All the inspector widgets are still with sharp edges. Just clashes imo.

I know it's configurable... but I think the default should be putting the best foot forward.

Some parts don't mesh correctly either.
image
image
image

@Calinou
Copy link
Member Author

Calinou commented Feb 4, 2021

I made the selected tabs have rounded corners (for consistency with unselected tabs) and fixed the corner bug between single-window mode window titles and bodies:

image

Edit: I pushed another update that disables StyleBoxFlat antialiasing to work around #35279 and increases tab highlight thickness to 2 pixels:

No antialiasing

Edit 2: Removed obsolete Highlight Current Script and Current Script Background Color editor settings. These have been superseded by the built-in theme highlighting a long time ago (around Godot 3.0).

@Calinou Calinou force-pushed the improve-editor-theme branch 2 times, most recently from 84e65e6 to 09e3941 Compare February 4, 2021 16:06
@fabriceci
Copy link
Contributor

I found the rounded selected tab looks like there is a problem, plus the left border stop abruptly. In Blender you have some elements rounded others not, it's hard the keep coherence.

Capture d’écran 2021-02-04 à 20 20 48

Maybe this PR should be split in multiple little PR step by step (like #45704) , start by steps where there is a consensus (maybe color? decrease the padding? etc.).

@Calinou
Copy link
Member Author

Calinou commented Feb 4, 2021

I found the rounded selected tab looks like there is a problem, plus the left border stop abruptly.

I can fix this by making the tabs' top corners non-rounded, let's give it a try.

Edit: Done:

image

Maybe this PR should be split in multiple little PR step by step (like #45704) , start by steps where there is a consensus (maybe color? decrease the padding? etc.).

Unfortunately, things tend to depend on each other when you do UI design. Therefore, this isn't really possible in a meaningful way. That said, I definitely want to get this PR merged in an acceptable state (rather than a perfect state). Otherwise, we'll never merge it 👀

@Calinou Calinou force-pushed the improve-editor-theme branch from 09e3941 to 25fd883 Compare February 5, 2021 00:42
@fabriceci
Copy link
Contributor

I can fix this by making the tabs' top corners non-rounded, let's give it a try.

@Calinou this is way way much better!

  • Still 2 minor remarks
  1. The arrows should be aligned (same padding right and same arrow (size?)):

Screenshot 2021-02-05 at 10 39 25

  1. The icon of the button should be centered or the button's size reduced.
    Screenshot 2021-02-05 at 10 39 36

In the subjective area, I had suggestions:

  1. The toolbar seems to me more airy/cleaner in the current version than the new one, mainly due to the lack of separators.

Screenshot 2021-02-05 at 10 39 49
Screenshot 2021-02-05 at 17 16 02

  1. In the settings panel there is not left padding before the text, I don't know if it's customizable:
    Screenshot 2021-02-05 at 17 20 13
    Screenshot 2021-02-05 at 17 20 16

  2. In the settings panel, in the treeview, the items are higher than the headers. If again it's customizable, it will be great to decrease de padding up/down, to be able to see more element.

@Calinou
Copy link
Member Author

Calinou commented Feb 5, 2021

  1. The arrows should be aligned (same padding right and same arrow (size?)):

That issue was already present before the editor theme redesign. I'd prefer tackling stuff like this in a future PR.

  1. The icon of the button should be centered or the button's size reduced.

This is a "ghost" dropdown which should be hidden entirely until an OpenGL renderer is implemented in the master branch.

  1. The toolbar seems to me more airy/cleaner in the current version than the new one, mainly due to the lack of separators.

Separators will disappear if you set the border width to 0 (which is the default). This is a bug, I'll look into fixing it.

Edit: Fixed. I also fixed the 2D/3D editor tool buttons to be all flat (i.e. without a background).

image

  1. In the settings panel there is not left padding before the text, I don't know if it's customizable:

This change needs to be done in the Tree control, I'd prefer leaving it to a future PR.

@Calinou Calinou force-pushed the improve-editor-theme branch 2 times, most recently from 0ac7390 to 4b385c9 Compare February 5, 2021 17:45
@Calinou
Copy link
Member Author

Calinou commented Feb 5, 2021

I've added subtle outlines below LineEdits and TextEdits to make them easier to notice and distinguish from OptionButtons:

image

This is similar to what you can see in Android's Material Design.

@Riteo
Copy link
Contributor

Riteo commented Feb 6, 2021

I don't know, the fact that the line is under the rounded rectangle makes it look kind of weird IMO, why not putting it on top of the field?

Edit: I just now noticed how actually they're more like an outline, since they follow the curves of the fields, but for some reason in the editor preferences this doesn't apply, making it look like there's a normal line under them, and that's what I was talking about.

@Riteo
Copy link
Contributor

Riteo commented Feb 6, 2021

Here's my opinion:
Usually, one selected tab has its small little space for its content.
tabs
This isn't the case for sub-windows though. There, the active background color is, for some reason, the main color, except around the tabs, which creates this kind of ugly square outline:
weird outline
This could be resolved by making the background color consistent with the main window.
Also, I think that it would look better if the tabs were rounded. I made a little mock-up explaining what I mean:
mock up

Also, as I noted earlier, there are some artifacts with text fields inside sub-windows, which don't appen at all in the main window.
Main window:
main window TextEdit

Sub-window:
artifacts

I have no idea if these issues are actually only present in sub-windows, but AFAICT it looks like it.

@Calinou
Copy link
Member Author

Calinou commented Feb 6, 2021

Changing the background color of subwindows is a good idea; I hadn't thought about it before.

Edit: I just now noticed how actually they're more like an outline, since they follow the curves of the fields, but for some reason in the editor preferences this doesn't apply, making it look like there's a normal line under them, and that's what I was talking about.

This is because I made the bottom corners non-rounded. Otherwise, this kind of line always ends up looking weird.

Also, I think that it would look better if the tabs were rounded. I made a little mock-up explaining what I mean:

See above. There are just as many people disliking rounded tab highlights as people liking them. I can't please everyone 🙂
(And no, I won't add an option for such a small difference.)

I'm neutral about it personally.

@jasperbrooks79
Copy link

jasperbrooks79 commented Apr 13, 2021

I'd consider adding, so all icons, are 1 color, to give it more consistent look . . at least, as an option . . . maybe, as toggle, ' monochrome icons ' . . I mean, in node inspector . . :O would give it that ' classic ' application look . . . <3

I love everything I see here, can't wait, Thanks . . 10 / 10 <3

pls. add it soon, so I can tweak it and, make an awe-some theme <3

@YuriSizov
Copy link
Contributor

@jasperbrooks79 You will be able to make icons look monochrome in 4.0. See #45924

@jasperbrooks79
Copy link

jasperbrooks79 commented Apr 14, 2021

Ok, a few thoughts . . I like top tabs being rounded, but not sure, about the other stuff . . Tabs make sense, it's even a classic look, hoping one can have them, as customization options, ie. numbers, or 'roundedness' . . . .
Skærmbillede (1466)

Basically, all these things can be ' fixed ', if we could ' set ' the rounded value, for the different parts, so users could ' tweak ', that would give best of both worlds, a new look, and an easy way, to make it ' custom ', for almost all users . . :OO I really like this entire proposal, I hope all these things will be added, as customization options, and when that has been done, the core - team can make some themes, together, after this becomes the ' main theme ' . . With a theme editor, and all these things as options, making it ' just right ', be a breeze <3 <3 . .

Skærmbillede (1467)

Skærmbillede (1468)

ps. Really like the slightly rounded look, around icons :OO again, since some users will want the ' old ' look, some, are different . . it'd be a good idea, if this could be a customization toggle, ie. 1 pixel roundedness, 2 pixel roundedness, or I think, 0 for the old look :OO

All these features, they all feel like an improvement to me, IF they were customization options, 1. it'd be nice to have a new look, for Godot 4, a bit different, polished . . 2. users could set them, to their favorites, assuming any-one, would want to change this . .

To keep it short, Thank you . . . <3 . . .

@Xrayez
Copy link
Contributor

Xrayez commented Apr 24, 2021

image

I also think that the accent is too bright, that's the first thing which caught my eye with the new theme, especially with panel/viewport outlines (unless this was already fixed).

@Riteo
Copy link
Contributor

Riteo commented Apr 24, 2021

it'd be a good idea, if this could be a customization toggle, ie. 1 pixel roundedness, 2 pixel roundedness, or I think, 0 for the old look :OO

This PR already adds an editor setting for that :)

The editor theme now makes use of rounded corners and less borders
to follow modern visual trends.

The default theme's colors were also tweaked to make the blue hue
more subtle (similar to the Arc theme, which was removed as a
consequence). The Alien theme was replaced by a Breeze Dark theme,
which should blend in well with the KDE theme.
@Calinou Calinou force-pushed the improve-editor-theme branch from c6dcc3e to 60b70c7 Compare April 27, 2021 20:38
@Calinou
Copy link
Member Author

Calinou commented Apr 27, 2021

I made some changes to prepare for merging:

  • Make the active tab highlights less prominent.
  • Make Trees have a slightly darker background to make them easier to distinguish from LineEdits/TextEdits.
  • Don't use rounded corners for PopupMenu hover highlights since they now fully extend to the PopupMenu's corners.

image

@Ansraer
Copy link
Contributor

Ansraer commented Apr 29, 2021

Looking at all the screenshots that have been posted so far I have to say that I definitely prefer the tabs with rounded top corners. imo the rounded corners make it easier to see where one tab ends and the next begins.

Have you ever considered removing the padding around the entire editor?

@aaronfranke
Copy link
Member

@Ansraer He did consider it #40287

@projekt2502
Copy link
Contributor

About the Toggle Split Mode button I think better without background for consistency

toggle-split-mode-gd4

Copy link
Member

@akien-mga akien-mga left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's give this a spin and address additional feedback in follow-up issues/PRs once we've gotten used to the changes.

@akien-mga akien-mga merged commit 6e62144 into godotengine:master May 6, 2021
@akien-mga
Copy link
Member

Thanks!

@SilencedPerson
Copy link

SilencedPerson commented Jun 11, 2021

On twitter i saw mockup that removed the outer borders, could we instead get rid of the inner borders to remove bit of visual clutter but keep the visible separation of the information? I also feel like the color separation inside the inspector may be little bit overkill. Here is quick and dirty mockup:
image

@YuriSizov
Copy link
Contributor

YuriSizov commented Jun 11, 2021

@SilencedPerson If you are talking about the removal of paddings inside of the docks, it was the original idea (by jfons, I think?) which groud take one step further to remove gaps as well. It's a good idea, but it would require to change the actual layout of every dock (so it's not just a theme change), which makes it harder to try as an experiment.

Feel free to open a proposal, I guess. It would be preferable to discuss it there rather than in a closed PR.

I also feel like the color separation inside the inspector may be little bit overkill

Yeah, reduz wanted to remove the background color for sub-sections there and only rely on the bold font. I agreed with him, but the majority wanted some backgrounds, so a compromise was reached with a faint but visible background for sub-section headers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.