mattermost / desktop

Mattermost Desktop application for Windows, Mac and Linux
Apache License 2.0
2.03k stars 829 forks source link

[MM-59841] Migrate to `titleBarOverlay` for Windows #3111

Closed devinbinnie closed 3 months ago

devinbinnie commented 4 months ago

Summary

This PR gets rid of the baked-in Windows 10-style buttons we created for the Desktop App and replaces them with the natively provided ones by Electron, that very closely resemble the ones we have. This saves a bunch of resources and removes a bunch of unnecessary code that's not needed anymore as Electron will handle the maximizing/minimizing/restoring/exiting internally.

Screenshots below. You'll notice that (on Windows 11 at least) the icons are a bit thinner and a bit less anti-aliased. Not sure if we can do anything about that, but I think it's worth doing it this way regardless of this change.

Also, when in full-screen mode, we have a new button in the corner that will allow the user to exit full screen visually instead of hitting F11.

Ticket Link

https://mattermost.atlassian.net/browse/MM-59841

Screenshots

before after
image image
image

Release Note

Started using `titleBarOverlay` for Windows instead of the buttons we had baked-in to the app
devinbinnie commented 3 months ago

Thanks @devinbinnie. I understand why we're doing this and it makes sense, but I just checked on the windows machine and the 'X' icon looks clearly distorted when the app is maximized. It looks pixel perfect when it is not fully maximized though so I don't know what's going wrong. I just feel if there's an easy fix for it we should incorporate it. Personally couldn't find much in the electron docs or generally after a few searches. Sharing some screenshots below for reference.

Distorted when maximized: image image

Perfect when not maximized: image

@abhijit-singh I wasn't able to reproduce your specific issue, but I did notice some pixelation on the maximize button, and it seems to depend on where the window was dragged to: image I don't see anything reported to Electron - tell me are you on Parallels as well? I'm wondering if that's causing it. I'm not able to reproduce this on my native Windows machine - so I'll merge this for now but we can look deeper into it and see if there's a fix needed.

abhijit-singh commented 3 months ago

tell me are you on Parallels as well?

Nope, I tested on a Lenovo Thinkpad - Device name DESKTOP-812MV7O Processor 13th Gen Intel(R) Core(TM) i3-1315U 1.20 GHz Installed RAM 8.00 GB (7.68 GB usable) System type 64-bit operating system, x64-based processor Edition Windows 11 Pro Version 23H2

devinbinnie commented 3 months ago

tell me are you on Parallels as well?

Nope, I tested on a Lenovo Thinkpad - Device name DESKTOP-812MV7O Processor 13th Gen Intel(R) Core(TM) i3-1315U 1.20 GHz Installed RAM 8.00 GB (7.68 GB usable) System type 64-bit operating system, x64-based processor Edition Windows 11 Pro Version 23H2

Gotcha. It's likely an issue with Chrome and certain GPUs then (I was testing on an AMD CPU/NVIDIA GPU machine)