1
0
Fork 0
forked from wry/wry

xwayland: implement copy/paste

This commit is contained in:
Julian Orth 2022-05-10 01:47:10 +02:00
parent c8068ee2e7
commit d6fabcb2b5
22 changed files with 1565 additions and 380 deletions

View file

@ -55,7 +55,11 @@ impl ZwpPrimarySelectionDeviceManagerV1 {
parser: MsgParser<'_, '_>,
) -> Result<(), ZwpPrimarySelectionDeviceManagerV1Error> {
let req: CreateSource = self.client.parse(self, parser)?;
let res = Rc::new(ZwpPrimarySelectionSourceV1::new(req.id, &self.client));
let res = Rc::new(ZwpPrimarySelectionSourceV1::new(
req.id,
&self.client,
false,
));
track!(self.client, res);
self.client.add_client_obj(&res)?;
Ok(())
@ -67,9 +71,15 @@ impl ZwpPrimarySelectionDeviceManagerV1 {
) -> Result<(), ZwpPrimarySelectionDeviceManagerV1Error> {
let req: GetDevice = self.client.parse(&**self, parser)?;
let seat = self.client.lookup(req.seat)?;
let dev = Rc::new(ZwpPrimarySelectionDeviceV1::new(req.id, self, &seat));
let dev = Rc::new(ZwpPrimarySelectionDeviceV1::new(
req.id,
&self.client,
self.version,
&seat.global,
false,
));
track!(self.client, dev);
seat.add_primary_selection_device(&dev);
seat.global.add_primary_selection_device(&dev);
self.client.add_client_obj(&dev)?;
Ok(())
}