Add option to preserve panel/dock style on window maximize#601
Add option to preserve panel/dock style on window maximize#601graham-walker wants to merge 1 commit into
Conversation
|
The panel expands and becomes opaque on window maximization so that cosmic-comp can skip rendering of the lower layers. I'm not really sure that we want to support this option. |
|
I prefer the transparent/floating style, but find the changing panel/dock on maximize very distracting. Personally I'd be willing to forgo any savings from cosmic-comp just for that. If the panel/dock styles can't be preserved on maximize, why allow users to customize them in the first place. Adding recordings of my VM demonstrating the performance improvements I see when keep style on maximize is enabled. It makes the experience using Pop!_OS in a VM much smoother. default.behavior.webmkeep_style_on_maximize.enabled.webm |
|
@wash2 As I understand it cosmic-comp skips rendering the layer below if it is obscured by a fully opaque surface. I don't see any special path for rendering maximized windows, afaik they are handled the same way as floating windows. If keep_style_on_maximize is enabled and a window is maximized the only layers that now aren't being skipped are the background wallpaper layer, plus any floating windows a user has dragged under the panel/dock (rare). I think since the user already accepts the minor performance hit from their configured panel/dock style when windows aren't maximized, that adding this option does not represent significant overhead. If there still is some concern then I think this setting could live under power options. |
@Drakulix could talk about this a bit more. I am a bit less familiar with the cosmic-comp implementation.
Maybe, @pop-os/ux would probably need to approve interface changes like that though. There are some other config variables already not exposed in cosmic-settings, but which allow unsupported customization. If I remember correctly, the decision to make the dock / panel expand to the edges when there is a maximized window was also a decision for UX, not just for technical reasons. This is all to say, I think it would be unlikely this config variable would be included in the settings app, but it could exist for users to make unsupported customizations. |
|
speaking as an user I also don't like that panels and docks change and become full and opaque when a window is maximized, I wish the dock and panel stayed like I set them and stayed transparent when I maximize a window, I have a beefy computer so I don't care about saving every little usage of resources. I think it should be an option in the cosmic settings app, like "make panels expand when a window is maximized to save power - recommended for low powered laptops" and "allow panels to stay in their position and to keep transparency and blur - recommended for more powerful computers" |
Technical it is definitely fine at this point (there were some edge-cases for fullscreen/maximized in the beginning of development), but we would loose some optimizations from not blocking the whole screen with opaque surfaces. But nothing too crazy, this is definitely fine from a technical view. |
This PR fixes the issue in #538 where when the panel/dock is set to be partially transparent, when a window is maximized the panel/dock would flash opaque briefly before popping back to transparent.
In addition to addressing some users stylistic preferences, enabling this option also results in a significant speedup for me maximizing windows when running Pop!_OS in a virtual machine.
Resolves #519