aboutsummaryrefslogtreecommitdiff
path: root/src/utils/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2025-03-13 18:34:47 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2025-03-13 18:56:35 +0300
commit0f30306fe52d5445bc16bd8af3e458f8d76eb45f (patch)
tree03bb92e7f8480a6f4c995a7f7251cc57b37e719e /src/utils/mod.rs
parent1c6037e6125870205a878f5267ffb02d3b02db64 (diff)
downloadniri-0f30306fe52d5445bc16bd8af3e458f8d76eb45f.tar.gz
niri-0f30306fe52d5445bc16bd8af3e458f8d76eb45f.tar.bz2
niri-0f30306fe52d5445bc16bd8af3e458f8d76eb45f.zip
Extract utils::is_mapped()
Diffstat (limited to 'src/utils/mod.rs')
-rw-r--r--src/utils/mod.rs6
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,