gpui: Fix snap_to_window_with_margin
when window has client inset (#27330)
Release Notes: - Fixed popup menu snap to window to leave margin on Linux. This change to continue #17159 to fix same thing on Linux. | Before | After | | -- | -- | |  |  |
This commit is contained in:
parent
b6cce1ed91
commit
d0f806456c
2 changed files with 13 additions and 3 deletions
|
@ -646,6 +646,7 @@ pub struct Window {
|
|||
pending_modifier: ModifierState,
|
||||
pub(crate) pending_input_observers: SubscriberSet<(), AnyObserver>,
|
||||
prompt: Option<RenderablePromptHandle>,
|
||||
pub(crate) client_inset: Option<Pixels>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default)]
|
||||
|
@ -931,6 +932,7 @@ impl Window {
|
|||
pending_modifier: ModifierState::default(),
|
||||
pending_input_observers: SubscriberSet::new(),
|
||||
prompt: None,
|
||||
client_inset: None,
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -1387,10 +1389,16 @@ impl Window {
|
|||
}
|
||||
|
||||
/// When using client side decorations, set this to the width of the invisible decorations (Wayland and X11)
|
||||
pub fn set_client_inset(&self, inset: Pixels) {
|
||||
pub fn set_client_inset(&mut self, inset: Pixels) {
|
||||
self.client_inset = Some(inset);
|
||||
self.platform_window.set_client_inset(inset);
|
||||
}
|
||||
|
||||
/// Returns the client_inset value by [`Self::set_client_inset`].
|
||||
pub fn client_inset(&self) -> Option<Pixels> {
|
||||
self.client_inset
|
||||
}
|
||||
|
||||
/// Returns whether the title bar window controls need to be rendered by the application (Wayland and X11)
|
||||
pub fn window_decorations(&self) -> Decorations {
|
||||
self.platform_window.window_decorations()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue