Experiment with a new UI Theme for MuseScore 3
In MuseScore 2, we choose to have a single theme for all supported OSes. It came with two variants "light" and "dark". Having a single theme makes it easier to document MuseScore, to answer support questions etc... it also makes our maintenance work smaller and we can focus on actual musical features. MuseScore 2 used a greatly modified version of KDE-Oxygen theme. The theme is a mix of a customized C++ theme (25k lines), some CSS and two color palettes (one light, one dark). The KDE-Oxygen theme has been written for Qt4, and we did our best to port it to Qt5.
It would be great if in MuseScore 3, we could improve this state. In particular, I would like MuseScore to look even more beautiful and have even less maintenance work. Hopefully, we can have a decent theme using only a color palette and some CSS and get rid of the 25k lines of C++. The good news is that Qt5 comes with a built-in theme called Fusion, it could replace Oxygen for our purpose. Then we will need to tweak our existing Palette and CSS to make it good looking.
In order to experiment with this, I added a two items in the Theme combobox in Preferences > General. You can now switch to Fusion light and Fusion dark. For now, it just load Fusion instead of Oxygen and it uses the exact same palette and CSS.
The palette and CSS used to be hardcoded in the C++ code. They are now external resources, embedded in the MuseScore binary, and they can also be loaded from Documents/MuseScoreDevelopment
to make it easier to experiment. For example, if you want to change the style sheet, create a file called style.css
(follow the link for an example) in this folder. This file is a Qt StyleSheet, the syntax is documented and there is a reference page. You can also create a palette_light.json
or palette_dark.json
in the same folder to change the color palette. This is all experimental and a way to experiment, it will disappear in a future. Ideally, we would settle on a single Theme, Palette and Stylesheet for MuseScore 3.
It's still very early, but please try a nightly build. If you have any kind of constructive feedback (hint: "it's ugly" it's not considered constructive), feel free to comment.
Comments
I love the theme Dark Fusion. The clear and contrasting separators are the most beautiful effect, and allow better readability.
I wish the same (separators) to improve the readability of the palettes (but I know that's a different question)
The Light Fusion is less good (in my opinion): the separators are not enough contrasting vs. Dark Fusion.
I disliked the old dark theme and still do, and I also dislike the new dark theme, looks way to depressive to me.
My vote would be to switch to Fusion (which should get us rid of 25k lines of code, wouldn't it?), but keep light and dark.
In reply to I disliked the old dark theme by Jojo-Schmitz
Hi all, perhaps a problem on my pc, but Fusion dark it seems has little readability for the submenus
In reply to Hi all, perhaps a problem on by Shoichi
Commenting on Shoichi's image: that readability problem (i.e. grey with clear shadowing over dark background) appears only for disabled submenus, I see the same on my pc (Windows 10); enabled submenus are shown in white over dark background and readable.
To me, this theme looks functional but a bit unfriendly. It feels like it's based on a pre-anti-aliasing design concept, and it gives off a low-resolution air even on a high-resolution monitor. I particularly have problems with the scroll bars and checkboxes, the lack of distinction between the edges of the score view and the Inspector and Palettes, and above all else the context menus!
In reply to To me, this theme looks by Isaac Weiss
My initial reaction has been tempered, so hopefully I can be more constructive. Here are some things that I think must change if this theme (Light Fusion) is to become the new default:
- Context menus! Round the corners, and mute the white. Ditto for the Note Input dropdown menu.
- Scroll bars. Can you tell which part is the scroll bar and which is the background?
- Tabs. The spacing and the color palette make them all sort of merge. And, in some places (e.g. Preferences), the foreground tab and all content below it are darkened.
- Color of depressed toolbar buttons. Not such a dark gray.
- Toolbar handles. Should be made clearly visible to the naked eye. (There are two of them in the above image.)
- New lines separating things that should not be present. For example, between the rows of toolbars, and in the Start Center.
- Missing lines separating things that should be present. For example, around the borders of the Inspector and Palettes.
Reasonable?
By the way, if #117146: Changing UI theme in Preferences requires restart could be taken care of, that would be nice.
In reply to By the way, if #117146: by Isaac Weiss
Ideally, this combobox should be remove from the stable version... I can take a look if it's possible to dynamically reload the style, the palette and/or the stylesheet to make experimentation easier but I don't want to overengineer this for now since it should be removed anyway.
In reply to Ideally, this combobox should by [DELETED] 5
Do you mean you're planning on not even having a dark theme?
In reply to Do you mean you're planning by Isaac Weiss
Or no light theme? That'd be bad IMHO, I could live without the dark one...
In reply to Or no light theme? That'd be by Jojo-Schmitz
If we could have a consensus on a single theme, yes, that would be ideal.
In reply to If we could have a consensus by [DELETED] 5
Well, if we can have fusion light and dark more or less for free, why not keep both? And just drop oxygen
I just edited the top post to reflect the latest change. The palette and the stylesheet can now be modified without recompiling MuseScore, so it's easier to experiment with design changes.
Not much complains about "Fusion" in the past 10 months. I will delete oxygen from master and see how it goes.
In reply to Not much complains about … by [DELETED] 5
That was because I was waiting for that design team to come forward. I still shudder at the context menus.