mirror of
https://github.com/niri-wm/niri.git
synced 2026-06-21 02:01:55 +07:00
mru: Don't handle pointer input until visible
This commit is contained in:
+10
-2
@@ -966,7 +966,7 @@ impl WindowMruUi {
|
||||
MruCloseRequest::Confirm => inner.wmru.current_id,
|
||||
};
|
||||
|
||||
if inner.clock.now_unadjusted() < inner.open_at {
|
||||
if !inner.is_fully_open() {
|
||||
// Hasn't displayed yet, no need to fade out.
|
||||
let UiState::Closed { previous_scope } = &mut self.state else {
|
||||
unreachable!()
|
||||
@@ -1026,6 +1026,10 @@ impl WindowMruUi {
|
||||
let UiState::Open(inner) = &mut self.state else {
|
||||
return None;
|
||||
};
|
||||
// Don't handle pointer until the UI is visible.
|
||||
if !inner.is_fully_open() {
|
||||
return None;
|
||||
}
|
||||
|
||||
inner.freeze_view = true;
|
||||
|
||||
@@ -1098,7 +1102,7 @@ impl WindowMruUi {
|
||||
UiState::Closed { .. } => return None,
|
||||
UiState::Closing { inner, anim } => (inner, anim.clamped_value()),
|
||||
UiState::Open(inner) => {
|
||||
if inner.open_at <= inner.clock.now_unadjusted() {
|
||||
if inner.is_fully_open() {
|
||||
(inner, 1.)
|
||||
} else {
|
||||
return None;
|
||||
@@ -1286,6 +1290,10 @@ impl Inner {
|
||||
}
|
||||
}
|
||||
|
||||
fn is_fully_open(&self) -> bool {
|
||||
self.open_at <= self.clock.now_unadjusted()
|
||||
}
|
||||
|
||||
fn animate_view_pos_from(&mut self, from: f64) {
|
||||
let config = self.config.borrow().animations.window_movement.0;
|
||||
self.view_pos
|
||||
|
||||
Reference in New Issue
Block a user