aboutsummaryrefslogtreecommitdiff
path: root/src/handlers/xdg_shell.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers/xdg_shell.rs')
-rw-r--r--src/handlers/xdg_shell.rs13
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