Skip to content

Draft: qt: use expanded client area for csd on windows

~~We already have client shadow, resize handle, button logic in the interface for other platforms. We can use them on Windows like we do on other platforms.

Going this way allows us to eliminate a lot of code, which is good for maintenance. At the same time, with frameless window hint, Windows 11 22H2 can use native acrylic backdrop filter (without artifacts unlike when this flag is not set).

We also need to have the resize handle outside the interface content, because there are interactive controls that the resize handle prevents the user to interact with them. For example, it is hard or impossible to scroll the play queue, or control the seek bar when it reaches the window frame (when frameless window hint is not set).

The biggest disadvantage of this seems to be not having the "aero snapping" feature. In my opinion, fixing the resize handle issue is more important than having extra features that are not essential.

Another disadvantage is having no DWM transitions. I'm not sure how important that is.

System menu is also recently factorized, so the system menu is still functional with frameless window hint.~~

Close #28906.

Request review @chub.

Draft because I'm not sure if it is completely reliable. It needs some more testing. I also need to check that the Windows 11 22H2 native backdrop blur does not reach to the margin area.

Edited by Fatih Uzunoğlu

Merge request reports

Loading