ramensoftware / windhawk-mods

The official collection of Windhawk mods
312 stars 56 forks source link

Kill Rounded Borders #242

Open sharmashivanand opened 1 year ago

sharmashivanand commented 1 year ago

This is a feature request.

I'm on Asus Zenbook Pro Duo which only supports Windows 11. I can't revert to Windows 10 and Linux has its own issues (CPU fans don't turn on). The only reason I'm still putting up with this is because of Windhawk and it would be wonderful if I could globally disable rounded borders / corners on Windows 11.

I'm not familiar with C++ but if you can confirm that this is possible, I'm happy to take the time to learn and make a mod.

m417z commented 1 year ago

@sharmashivanand I transferred the issue to the windhawk-mods repo since it's about mod development.

I'm not sure how easy it is, but it's surely possible. I haven't explored this area, but you can see some impressive work by @ahmed605 here: https://twitter.com/AhmedWalid605/status/1663040063893123072 https://gist.github.com/ahmed605/b403fdfa17994548c40ddb0573a51d64

Also, you can see some interesting research done by Dulappy here: https://winclassic.boards.net/post/13638/thread

Both are on the Windhawk Discord channel and there were some interesting discussions lately regarding DWM customization, you're welcome to join!

P.S. I suspect that since Windows 11 disables rounded corners as a fallback on old computers, it's easier to achieve than doing some exotic stuff as demonstrated above.

ahmed605 commented 1 year ago

I think it's worth mentioning that there's a documented DWM API to control window corners preference

https://learn.microsoft.com/en-us/windows/win32/api/dwmapi/ne-dwmapi-dwm_window_corner_preference

While this can work it requires listening for windows creation events and doing so for every window so not ideal, another solution is to inject into DWM and hook uDWM functions responsible for drawing corners