Skip to content

Advice needed: how to send events back from an emulation implementation #390

@whot

Description

@whot

I've been working on trying to get clipboard support in here but I keep running into a wall trying to understand the architecture and how to send events back from an emulation client (currently working on on the remote desktop part).

What I have right now is an extended LibeiEmulation that connects to the clipboard portal and gets notifications from that. I have a wire protocol to send clipboard bits left and right and (I think) they work.

What I'm stuck on is a simple thing: I need to send an event back from LibeiEmulation - in particular i need to send a "SelectionOwnerChanged" event (sent by the portal when I copy something) which contains mime-types and whatnot. And I need to send a "TransferRequest" event (sent when I paste something). And I cannot for the life of me figure out how I can send something back "up".

So basically what I have is: LibeiEmulation has a spawned task that receives the SelectionOwnerChanged/TransferRequest signal from the portal. I need to send the data from those signals to the remote end. The remote end will (eventually) reply with some protocol message at which point I can send data.

But right now I'm stuck at the "how do I actually notify the remote end from the emulation code". Any hints would be much appreciated, right now I'm stuck and I've stared at this for too long.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions