From 2508d3e08e5e918d351ef6e6daf1d983ff2a999e Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Tue, 10 Oct 2023 07:55:31 +0400 Subject: Move refresh calls into State --- src/main.rs | 15 +-------------- src/niri.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 2403a20d..66616c7b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -111,19 +111,6 @@ fn main() { } event_loop - .run(None, &mut state, move |state| { - let _span = tracy_client::span!("loop callback"); - - // These should be called periodically, before flushing the clients. - state.niri.layout.refresh(); - state.niri.refresh_pointer_outputs(); - state.niri.popups.cleanup(); - state.update_focus(); - - { - let _span = tracy_client::span!("flush_clients"); - state.niri.display_handle.flush_clients().unwrap(); - } - }) + .run(None, &mut state, |state| state.refresh_and_flush_clients()) .unwrap(); } diff --git a/src/niri.rs b/src/niri.rs index f47f97ae..eb737d1f 100644 --- a/src/niri.rs +++ b/src/niri.rs @@ -223,6 +223,21 @@ impl State { Self { backend, niri } } + pub fn refresh_and_flush_clients(&mut self) { + let _span = tracy_client::span!("refresh_and_flush_clients"); + + // These should be called periodically, before flushing the clients. + self.niri.layout.refresh(); + self.niri.refresh_pointer_outputs(); + self.niri.popups.cleanup(); + self.update_focus(); + + { + let _span = tracy_client::span!("flush_clients"); + self.niri.display_handle.flush_clients().unwrap(); + } + } + pub fn move_cursor(&mut self, location: Point) { let under = self.niri.surface_under_and_global_space(location); let pointer = &self.niri.seat.get_pointer().unwrap(); -- cgit