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

Titlebars and other elements are barely tinted in v1.9.1 #208

Open
Loklann opened this issue May 22, 2024 · 8 comments
Open

Titlebars and other elements are barely tinted in v1.9.1 #208

Loklann opened this issue May 22, 2024 · 8 comments
Labels
feedback needed Changes need to be tested

Comments

@Loklann
Copy link

Loklann commented May 22, 2024

Describe the bug
Just updated from 1.8.0 to 1.9.1 through pip, and noticed a very big difference in the colour amount on some UI elements, most noticeably the titlebars. They are much less tinted than before, resulting in a less colourful style. No settings seem to affect this (not even the different palette combinations), only bumping up the Colourfulness can make a difference, but they still remain heavily under-tinted compared to some other elements. In most cases, it also seems like the window's colours is barely tinted (see screenshots for comparison).

To Reproduce
Steps to reproduce the behaviour:
Install and use v1.9.1 , use with Klassy or Breeze (Window Decorations + Application Style in both cases).

Expected behavior
Windows should be properly tinted with the colour palette extracted from wallpaper, as per the Material-You Design Guidelines (like what v1.8.0 achieved perfectly) .

Screenshots

  1. Dolphin on Klassy (Application Style + Window Decorations) and kde-material-you-colors v1.8.0
    Screenshot_20240522_182159
  2. Dolphin on Klassy (Application Style + Window Decorations) and kde-material-you-colors v1.9.1
    Screenshot_20240522_182349

Desktop (please complete the following information):

  • Operating System: Fedora 40
  • KDE Plasma Version: 6.0.4
  • KDE Frameworks Version: 6.2.0
  • Qt Version: 6.7.0
  • Graphics Platform: Wayland
  • Things in your system that might be relevant :N/A

Additional context
Same problem on my Arch Linux VM (installed throught the AUR via yay).
Here's some logs from running kde-material-you-colors (v1.9.1 ; Fedora 40) in Konsole (probably not relevant, but hey), this doesn't show up in my Arch VM :

[E] konsole_utils: reload_profile: [Errno 2] No such file or directory: 'qdbus6'
Traceback (most recent call last):
  File "/home/lachlancraig/.local/share/pipx/venvs/kde-material-you-colors/lib64/python3.12/site-packages/kde_material_you_colors/utils/konsole_utils.py", line 184, in reload_profile
    result = subprocess.run(
             ^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 548, in run
    with Popen(*popenargs, **kwargs) as process:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib64/python3.12/subprocess.py", line 1955, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'qdbus6'
@luisbocanegra
Copy link
Owner

In 1.8.0 I was using a version of material you library that didn't have surface color variants, which are used to define the level of emphasis of the UI. So what I ended doing was to blend the background against the accent color based purely in my own criteria.

On 1.9.0 I removed most of these colors (pywal/konsole text which is still modified to have good contrast) and replaced the elements that used them with the surface variants I felt matched the better.

The downside is that yes they are a lot less colorful, but can definitely be improved, after all we aren't forced to stick exactly to Material You guidelines, specially because it's not possible to make a 1:1 copy due to the Plasma colorscheme limitations and the fact that desktop applications have a lot more things on screen than the average Android/Web app.

image

Screenshot_20240522_130024

Screenshot_20240522_130132

@Loklann
Copy link
Author

Loklann commented May 22, 2024

I see, this decision 100% makes sense and I can definitely see the colours are more coherent / cohesive overall. Perhaps yet another setting could be added, this time controlling the overall level of tint in the whole colour scheme.
ex: if some element is 15% tinted and another 25% tinted, you could add a slider and bump the tint level of the entire colour scheme by 15%, bringing those two elements to (respectively, 30% and 40%). You could also explicit ratios of tint for each element in the colour scheme, which would remain identical even if the overall tint level was changed (if you don't push it to extremes). Or even, since I see you can control the Klassy titlebar opacity, control its tint level ? And last suggestion, maybe just provide the older (and less accurate) backend in newer packages as a toggle ?
For me, the most striking example is the almost complete lack of color in the Dolphin sidebar in the 2nd screenshot I posted, it looks closer to the original Breeze colour scheme since it's really under-tinted.
Anyway, your work is very impressive, and I'll try to see what things I can bring to it once I've got more time to get through your code.

@luisbocanegra
Copy link
Owner

Changed the header surface variant and with colorfulness all the way up this is the result.

header_surfaceContainer
Screenshot_20240620_194929

luisbocanegra added a commit that referenced this issue Jun 21, 2024
@luisbocanegra luisbocanegra added the feedback needed Changes need to be tested label Jun 22, 2024
@Loklann
Copy link
Author

Loklann commented Jun 22, 2024

Looks great!
It seems to also remove incoherences like this, where there is no transition/ no link between colors with certain window border styles/thicknesses :
Screenshot_20240622_201529

Although, I also notice you've removed the tint for text and icons ?

1.9.1 :
Screenshot_20240622_202053

1.9.3 :
Screenshot_20240622_202139

I thought tinting those was a good idea and made everything come together, although it's not accurate to MD3.

@luisbocanegra
Copy link
Owner

Although, I also notice you've removed the tint for text and icons ?

1.9.1 : Screenshot_20240622_202053

1.9.3 : Screenshot_20240622_202139

I thought tinting those was a good idea and made everything come together, although it's not accurate to MD3.

I also like it, will bring it back as an extra checkbox under colorfulness

@Loklann
Copy link
Author

Loklann commented Jun 22, 2024

I also like it, will bring it back as an extra checkbox under colorfulness

Great!
Also, I wonder, do you have alpha-transparency control over the colors generatd ?

@luisbocanegra
Copy link
Owner

luisbocanegra commented Jun 23, 2024

Currently the generated colors are converted from RGBA to hexadecimal format (RGB). On the places where transparency is applied I either make use of alpha property or add alpha channel to these colors. It's a mess because it's been like this basically since I started it and didn't bother me enough to change it.
I have thought of switching all my color logic to RGBA, make use of it to generate schemes with alpha (where possible) and probably keep storing the output json in hex RGB. But haven't had the time/motivation to do that as I am pretty sure will require a substantial cleanup/rewrite.

@Loklann
Copy link
Author

Loklann commented Jun 25, 2024

Currently the generated colors are converted from RGBA to hexadecimal format (RGB). On the places where transparency is applied I either make use of alpha property or add alpha channel to these colors. It's a mess because it's been like this basically since I started it and didn't bother me enough to change it. I have thought of switching all my color logic to RGBA, make use of it to generate schemes with alpha (where possible) and probably keep storing the output json in hex RGB. But haven't had the time/motivation to do that as I am pretty sure will require a substantial cleanup/rewrite.

I see, I just thought about transparency because it could do for a cool effect along with the Force Blur kwin effect. Imagine Qt Apps following the MY Breeze colour scheme (like Dolphin), with the same transparency as the panel : it would create some good looking coherency I think. Of course, the amount of work you say this would require is absolutely not justifiable just for this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feedback needed Changes need to be tested
Projects
None yet
Development

No branches or pull requests

2 participants