From 6d6d6816c91c9066d704e7f89c91b36fa7372a6f Mon Sep 17 00:00:00 2001 From: Martin Marmsoler Date: Thu, 9 Jul 2026 12:54:42 +0200 Subject: [PATCH] popup reposition --- src/shell/xdg/popup.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/shell/xdg/popup.rs b/src/shell/xdg/popup.rs index 243dd7a001..474b8d1a2e 100644 --- a/src/shell/xdg/popup.rs +++ b/src/shell/xdg/popup.rs @@ -11,7 +11,7 @@ use std::sync::{ }; use wayland_client::{ protocol::{wl_compositor::WlCompositor, wl_surface}, - Connection, Dispatch, QueueHandle, + Connection, Dispatch, Proxy, QueueHandle, }; use wayland_protocols::xdg::shell::client::{xdg_popup, xdg_positioner, xdg_surface, xdg_wm_base}; @@ -134,8 +134,12 @@ impl Popup { self.inner.surface.wl_surface() } + /// Reposition the popup + /// Important: This is only available in wayland version 3 and after pub fn reposition(&self, position: &xdg_positioner::XdgPositioner, token: u32) { - self.xdg_popup().reposition(position, token); + if self.xdg_popup().version() >= 3 { + self.xdg_popup().reposition(position, token); + } } }