-
Notifications
You must be signed in to change notification settings - Fork 15.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: enable Windows Control Overlay on Linux #41769
Conversation
7170094
to
8d1d279
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
API LGTM
Sorry for the delay here, need some time to verify the changes. I will have an update later this week. |
API LGTM |
Release Notes Persisted
|
I have automatically backported this PR to "32-x-y", please check out #42681 |
I have automatically backported this PR to "31-x-y", please check out #42682 |
I have automatically backported this PR to "30-x-y", please check out #42683 |
Thank you so much for this work! With this merged on linux we finally get the correct button styling :), but on Fedora by default the maximize and minimize buttons are hidden. Electron does not respect this using Windows Control Overlays. Is it planned to fix this? |
Description of Change
Closes #23665.
This PR enables the Windows Control Overlay API on Linux. To do so, we create a new subclass of
FramelessView
. This primarily follows logic from upstream's implementation with modifications for our use case and stripped of logic irrelevant to Electron.cc @bpasero @deepak1556
Todo:
Functionality on Wayland will be approached as a follow-up as I don't currently have the requisite hardware to test this.
WCO RTL
WCO LTR
Dynamic WCO Update
Gif Demonstration with the following code:
Checklist
npm test
passesRelease Notes
Notes: Enabled the Windows Control Overlay API on Linux.