diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-10 07:55:31 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2023-10-10 07:55:31 +0400 |
| commit | 2508d3e08e5e918d351ef6e6daf1d983ff2a999e (patch) | |
| tree | 4bb6e52d0bf3d35a04044f253c2b533aaed65f9c /src/niri.rs | |
| parent | 189d1bd97b7aa241b5ad651145ca4d3ef483f505 (diff) | |
| download | niri-2508d3e08e5e918d351ef6e6daf1d983ff2a999e.tar.gz niri-2508d3e08e5e918d351ef6e6daf1d983ff2a999e.tar.bz2 niri-2508d3e08e5e918d351ef6e6daf1d983ff2a999e.zip | |
Move refresh calls into State
Diffstat (limited to 'src/niri.rs')
| -rw-r--r-- | src/niri.rs | 15 |
1 files changed, 15 insertions, 0 deletions
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<f64, Logical>) { let under = self.niri.surface_under_and_global_space(location); let pointer = &self.niri.seat.get_pointer().unwrap(); |
