diff options
Diffstat (limited to 'src/utils')
| -rw-r--r-- | src/utils/mod.rs | 6 |
1 files changed, 6 insertions, 0 deletions
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, |
