From 0f30306fe52d5445bc16bd8af3e458f8d76eb45f Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Thu, 13 Mar 2025 18:34:47 +0300 Subject: Extract utils::is_mapped() --- src/utils/mod.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/utils/mod.rs') diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 2f16e855..c1e57b7b 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -12,6 +12,7 @@ use bitflags::bitflags; use directories::UserDirs; use git_version::git_version; use niri_config::{Config, OutputName}; +use smithay::backend::renderer::utils::with_renderer_surface_state; use smithay::input::pointer::CursorIcon; use smithay::output::{self, Output}; use smithay::reexports::rustix::time::{clock_gettime, ClockId}; @@ -181,6 +182,11 @@ pub fn ipc_transform_to_smithay(transform: niri_ipc::Transform) -> Transform { } } +pub fn is_mapped(surface: &WlSurface) -> bool { + // None if the surface hadn't committed yet. + with_renderer_surface_state(surface, |state| state.buffer().is_some()).unwrap_or(false) +} + pub fn send_scale_transform( surface: &WlSurface, data: &SurfaceData, -- cgit