-
Notifications
You must be signed in to change notification settings - Fork 546
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
gtk(wayland): implement server-sided decorations #4724
base: main
Are you sure you want to change the base?
Conversation
@@ -5780,6 +5780,27 @@ pub const BackgroundBlur = union(enum) { | |||
} | |||
}; | |||
|
|||
/// See window-decoration | |||
pub const WindowDecoration = enum { | |||
true, |
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.
I think that it would be better to call this client
and have parseCLI
below translate true
=> client
.
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.
That wouldn't really make sense on macOS, though
pub const WindowDecoration = enum { | ||
true, | ||
server, | ||
false, |
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.
Same as true
above, except call it none
. This matches the protocol more directly.
4c235dd
to
7eaed4c
Compare
7eaed4c
to
8216fce
Compare
8216fce
to
0eed411
Compare
There's one behavioral change here. Before this patch, if `gtk-titlebar=false` we _never_ created a headerbar. This explicitly contradicted the comments in the source, and the documentation for `gtk-titlebar` imply that if a window starts out without a titlebar it can be brought back later with the `toggle_window_decorations` keybind action. After this patch, a headerbar is always created, but if `gtk-titlebar=false` or `window-decoration=false` it's immediately hidden. I'm not sure how this interacts with the current SSD/CSD detection that seems to happen when running Ghostty on non-Gnome DEs so it'll be important to get #4724 merged (plus any follow ups) to enable more explicit control of SSD/CSD.
Fixes #4630 fully unless there exists an X11 API I haven't found yet :p
Depends on first commit of #4723, which is duplicated here for now