From b27b9d7bfcec99ba519b7c861cd2b7499768197d Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Mon, 6 Nov 2023 11:58:54 +0100 Subject: [PATCH] xdg-activation: Add client_id to token data --- src/wayland/xdg_activation/dispatch.rs | 3 ++- src/wayland/xdg_activation/mod.rs | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/wayland/xdg_activation/dispatch.rs b/src/wayland/xdg_activation/dispatch.rs index 3da7fc841dc5..cb3cb6a0bbc2 100644 --- a/src/wayland/xdg_activation/dispatch.rs +++ b/src/wayland/xdg_activation/dispatch.rs @@ -87,7 +87,7 @@ where { fn request( state: &mut D, - _: &Client, + client: &Client, token: &xdg_activation_token_v1::XdgActivationTokenV1, request: xdg_activation_token_v1::Request, data: &ActivationTokenData, @@ -146,6 +146,7 @@ where let mut guard = data.build.lock().unwrap(); XdgActivationTokenData::new( + client.id(), guard.serial.take(), guard.app_id.take(), guard.surface.take(), diff --git a/src/wayland/xdg_activation/mod.rs b/src/wayland/xdg_activation/mod.rs index a26fee2392fa..09ec72422675 100644 --- a/src/wayland/xdg_activation/mod.rs +++ b/src/wayland/xdg_activation/mod.rs @@ -53,7 +53,7 @@ use std::{ use wayland_protocols::xdg::activation::v1::server::xdg_activation_v1; use wayland_server::{ - backend::GlobalId, + backend::{ClientId, GlobalId}, protocol::{wl_seat::WlSeat, wl_surface::WlSurface}, Dispatch, DisplayHandle, GlobalDispatch, }; @@ -103,6 +103,8 @@ impl From for String { #[derive(Debug, Clone)] pub struct XdgActivationTokenData { + /// Client that requested the token + pub client_id: ClientId, /// Provides information about the seat and serial event that requested the token. /// /// The serial can come from an input or focus event. @@ -129,6 +131,7 @@ pub struct XdgActivationTokenData { impl XdgActivationTokenData { fn new( + client_id: ClientId, serial: Option<(Serial, WlSeat)>, app_id: Option, surface: Option, @@ -136,6 +139,7 @@ impl XdgActivationTokenData { ( XdgActivationToken::new(), XdgActivationTokenData { + client_id, serial, app_id, surface,