diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-02 10:35:05 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-02 10:53:55 +0300 |
| commit | 86bdc6898bc8a13368ba852692ff0cc248345128 (patch) | |
| tree | 4c3106f4bc51501289a2cd2aa858f8d14d332677 /src/niri.rs | |
| parent | e5ca3351153fa6f3d1e3b00806f85058a8182065 (diff) | |
| download | niri-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.rs | 17 |
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(), |
