-
Notifications
You must be signed in to change notification settings - Fork 265
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
Windows/Linux: work towards replacing native window frame with our own custom buttons #1094
Conversation
bf169c0
to
2f5181f
Compare
This breaks window resizing UI on both Wayland and Xorg. Without this change you still get normal drag-to-resize behavior at the window borders / corners, but with this change the edges/corners are unresponsive and resize can only be done using context menu to resize. |
Same, no issue on either Wayland nor XWayland |
That's a deal breaker 😭 |
Ok, I will rework this PR to hide the changes behind future flag |
I guess nobody tested this on Windows then? |
Ok, the feature ( |
let close_response = ui | ||
.add(Button::new(RichText::new("❌").size(button_height))) | ||
.on_hover_text("Close the window"); |
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.
we already have icons for all of these, we should use those instead
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.
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.
Now that this PR has been merged, would it be possible for |
No, #1063 is not ready to be closed yet - it needs testing on Linux and Windows first, and probably some fixes in |
Work towards #1063
This PR adds the code for the new custom window frame but with the feature disabled. It should therefore be safe to merge.
The rounding of the corners is done manually for each panel. A more robust solution would be to render to an offscreen buffer and then do the rounding afterwards, but hacking that into eframe is more work than we have before release 😬
TODO
CentralPanel
Future work
paint_time_ranges_gaps
). Maybe turn off rounding?How
main
looks like on Gnome/xorg:Current state of this PR:
With
CUSTOM_WINDOW_DECORATIONS
enabled:Checklist
CHANGELOG.md
(if this is a big enough change to warrant it)