aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2024-11-02 10:35:05 +0300
committerIvan Molodetskikh <yalterz@gmail.com>2024-11-02 10:53:55 +0300
commit86bdc6898bc8a13368ba852692ff0cc248345128 (patch)
tree4c3106f4bc51501289a2cd2aa858f8d14d332677 /src/niri.rs
parente5ca3351153fa6f3d1e3b00806f85058a8182065 (diff)
downloadniri-86bdc6898bc8a13368ba852692ff0cc248345128.tar.gz
niri-86bdc6898bc8a13368ba852692ff0cc248345128.tar.bz2
niri-86bdc6898bc8a13368ba852692ff0cc248345128.zip
Add with_toplevel_role() util function
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs17
1 files changed, 2 insertions, 15 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 0993661b..b422309e 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -1541,7 +1541,7 @@ impl State {
to_introspect: &async_channel::Sender<NiriToIntrospect>,
msg: IntrospectToNiri,
) {
- use smithay::wayland::shell::xdg::XdgToplevelSurfaceData;
+ use crate::utils::with_toplevel_role;
let IntrospectToNiri::GetWindows = msg;
let _span = tracy_client::span!("GetWindows");
@@ -1549,21 +1549,8 @@ impl State {
let mut windows = HashMap::new();
self.niri.layout.with_windows(|mapped, _, _| {
- let wl_surface = mapped
- .window
- .toplevel()
- .expect("no X11 support")
- .wl_surface();
-
let id = mapped.id().get();
- let props = with_states(wl_surface, |states| {
- let role = states
- .data_map
- .get::<XdgToplevelSurfaceData>()
- .unwrap()
- .lock()
- .unwrap();
-
+ let props = with_toplevel_role(mapped.toplevel(), |role| {
gnome_shell_introspect::WindowProperties {
title: role.title.clone().unwrap_or_default(),
app_id: role.app_id.clone().unwrap_or_default(),