paulmcauley / klassy

Klassy is a highly customizable binary Window Decoration, Application Style and Global Theme plugin for recent versions of the KDE Plasma desktop.
801 stars 24 forks source link

Issue with latest Translucent headers addon #33

Closed edpil02 closed 1 year ago

edpil02 commented 2 years ago

Windows borders doesn't follow the translucent header schema Screenshot_20220613_114752 .

edpil02 commented 2 years ago

Sorry for the noise : "Use tiltlebar color for all windows borders solves the issue. Close.

paulmcauley commented 2 years ago

Yes, I couldn't think of a way to make this obvious to the user.

I was thinking "Use titlebar colours for all window borders" could be selected automatically when you have borders and a transparent header? However, I then decided not to do that as it would be confusing if you then disabled the transparency again and did not want the borders to be the same.

I think in version 5 a "Presets" feature could be added for easily setting appearances like this.

ryu-ketsueki commented 2 years ago

I can't seem to make this work. Toolbars look opaque all the time, regardless if that one option is enabled. image

Update: I tested it a bit further and it seems System Settings and Kate don't have an opaque toolbar. Dolphin and Konsole do, however.

paulmcauley commented 2 years ago

I can't seem to make this work. Toolbars look opaque all the time, regardless if that one option is enabled. image

Update: I tested it a bit further and it seems System Settings and Kate don't have an opaque toolbar. Dolphin and Konsole do, however.

This is still a work-in-progress. System settings and Kate will work (as long as your colour scheme supports a Header colour); Konsole does not seem to have a Header.

With the current code it just doesn't update instantly though after setting a new colour. Try closing all windows and reopening them again.

ryu-ketsueki commented 2 years ago

This is still a work-in-progress. System settings and Kate will work (as long as your colour scheme supports a Header colour); Konsole does not seem to have a Header.

With the current code it just doesn't update instantly though after setting a new colour. Try closing all windows and reopening them again.

I am aware of how Color Schemes don't update on applications instantly but only after an app restart. That's a Plasma issue, not your code's. However, that is not what I was talking about. Below, I have the four cases I mentioned before, two of each case. Two applications that don't allow you to set a custom color scheme individually and two which do. By the way, all of those are Breeze and Breeze Dark, just with a different accent color

Spectacle_20220614_094725

As you can see, System Settings gets the blurred toolbar as it should. Dolphin, doesn't. It's like the transparent part is not being processed. In the meantime, Kate, which does allow you to select a different color scheme, is having a transparent toolbar. Konsole, which allows you to do the same, doesn't have a transparent toolbar. So I can't find the pattern here.

paulmcauley commented 2 years ago

This is still a work-in-progress. System settings and Kate will work (as long as your colour scheme supports a Header colour); Konsole does not seem to have a Header. With the current code it just doesn't update instantly though after setting a new colour. Try closing all windows and reopening them again.

I am aware of how Color Schemes don't update on applications instantly but only after an app restart. That's a Plasma issue, not your code's. However, that is not what I was talking about. Below, I have the four cases I mentioned before, two of each case. Two applications that don't allow you to set a custom color scheme individually and two which do. By the way, all of those are Breeze and Breeze Dark, just with a different accent color

Spectacle_20220614_094725

As you can see, System Settings gets the blurred toolbar as it should. Dolphin, doesn't. It's like the transparent part is not being processed. In the meantime, Kate, which does allow you to select a different color scheme, is having a transparent toolbar. Konsole, which allows you to do the same, doesn't have a transparent toolbar. So I can't find the pattern here.

I can't reproduce this. Dolphin always has a transparent header for me. What have you customized in Dolphin? I notice you don't have a menu button so how do you access the menu?

paulmcauley commented 2 years ago

I can't reproduce this. Dolphin always has a transparent header for me. What have you customized in Dolphin? I notice you don't have a menu button so how do you access the menu?

I added a global menu widget and now I can reproduce. Somehow the global menu interferes..

ryu-ketsueki commented 2 years ago

That's strange. All four of the apps I showcased make use of the global menu. I think it has something to do with how Dolphin and Konsole have an option to not display their own in-window appmenu. I'll see if that makes any difference.

By the way, Lightly also has an option to make toolbars transparent, although by setting the transparency on the color scheme file itself. There, this bug doesn't exist. Maybe it may provide some lead on how to fix it?

ryu-ketsueki commented 2 years ago

That's strange. All four of the apps I showcased make use of the global menu. I think it has something to do with how Dolphin and Konsole have an option to not display their own in-window appmenu. I'll see if that makes any difference.

No luck. I think the options to not display them were removed when a global menu is present, which makes sense because why would there even be the need for that option but I remember it was a toggle when it was still there

ryu-ketsueki commented 2 years ago

Has there been any progress on cracking up how Lightly implemented toolbar transparency? I can't make heads nor tails of it

ryu-ketsueki commented 2 years ago

I think I figured how Lightly implemented it. Given how the transparency is defined on the color scheme for the titlebar background, all titlebars interpret the RGBA value, including Klassy. All that is left is let the Widget Style also read the alpha value on the color scheme for the background color of the titlebar. Perhaps the settings for the Widget Style can define it? The window decoration follows it and curiously greys out the titlebar opacity settings for Klassy.

paulmcauley commented 2 years ago

Has there been any progress on cracking up how Lightly implemented toolbar transparency? I can't make heads nor tails of it

Lightly is using the titlebar colour, whereas with Klassy I used the Header colour (the latter as in Breeze). Lightly does not work with a Header colour. I think the bug with the global menu is due to the way header colours are implemented (inherited from a later Breeze version than Lightly). This still needs investigated more...

I have also experimented more with translucency and can get more than just the toolbar translucent (i.e. most of the window background and other widgets too), but before anything like this is implemented I want the exceptions in the application style updated so that the user can have fine control over this for individual applications.

The window decoration follows it and curiously greys out the titlebar opacity settings for Klassy.

This is intentional as I don't want the opacity to be confusingly set in 2 different places.

paulmcauley commented 1 year ago

I think I have fixed the issue with the global menu preventing transparent headers from working in 5b8e466a912750185d9d34c60d29d81ea5722dd5

global_menu_translucent_header

Please confirm

paulmcauley commented 1 year ago

Actually, 5b8e466a912750185d9d34c60d29d81ea5722dd5, doesn't seem to have changed anything with regards to the global menu. I think this must have been fixed elsewhere in Plasma 5.27.