diff options
Diffstat (limited to 'src/handlers/xdg_shell.rs')
| -rw-r--r-- | src/handlers/xdg_shell.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/handlers/xdg_shell.rs b/src/handlers/xdg_shell.rs index 78b38be3..7302c2ac 100644 --- a/src/handlers/xdg_shell.rs +++ b/src/handlers/xdg_shell.rs @@ -22,7 +22,10 @@ use smithay::wayland::shell::xdg::{ PopupSurface, PositionerState, ToplevelSurface, XdgPopupSurfaceData, XdgShellHandler, XdgShellState, XdgToplevelSurfaceData, XdgToplevelSurfaceRoleAttributes, }; -use smithay::{delegate_kde_decoration, delegate_xdg_decoration, delegate_xdg_shell}; +use smithay::wayland::xdg_foreign::{XdgForeignHandler, XdgForeignState}; +use smithay::{ + delegate_kde_decoration, delegate_xdg_decoration, delegate_xdg_foreign, delegate_xdg_shell, +}; use crate::layout::workspace::ColumnWidth; use crate::niri::{PopupGrabState, State}; @@ -526,9 +529,15 @@ impl KdeDecorationHandler for State { &self.niri.kde_decoration_state } } - delegate_kde_decoration!(State); +impl XdgForeignHandler for State { + fn xdg_foreign_state(&mut self) -> &mut XdgForeignState { + &mut self.niri.xdg_foreign_state + } +} +delegate_xdg_foreign!(State); + fn initial_configure_sent(toplevel: &ToplevelSurface) -> bool { with_states(toplevel.wl_surface(), |states| { states |
