<div dir="ltr"><div dir="ltr">On Tue, Jul 12, 2022 at 2:27 AM Victor Toso <<a href="mailto:victortoso@redhat.com">victortoso@redhat.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Nick,<br>
<br>> To answer my own question, this was the issue - apparently the<br>
> call to spice_main_channel_clipboard_selection_release()<br>
> actually clears the clipboard. Removing this call allows the<br>
> clipboard from client (Guacamole) to Spice server to function<br>
> properly. I'm not sure if there's anything that needs to be<br>
> done to "ungrab" the clipboard after sending the data, or if it<br>
> is done automatically?<br>
<br>
IIRC, the "ungrab" on client-side should happen when the Widget<br>
is not on focus anymore. I think it is fine to keep the "grab"<br>
while the widget has focus.<br>
<br></blockquote><div><br></div><div>Ah, okay - I'll have to take a look at that and see if there's another place where I should be triggering the release when things go out-of-focus.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
There are several scenarios around this, so it can be a bit<br>
tricky to understand/debug, specially the differences between X11<br>
and Wayland. For example, the comment in owner_change's callback:<br>
<br>
    <a href="https://gitlab.freedesktop.org/spice/spice-gtk/-/blob/master/src/spice-gtk-session.c#L721" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/spice/spice-gtk/-/blob/master/src/spice-gtk-session.c#L721</a><br>
<br>
In the past, we used to have some race conditions that I'd bet<br>
you should be hitting with your dev environment but, if you are<br>
not, it should be thanks to the fixes for <br>
<br>
    <a href="https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/82" rel="noreferrer" target="_blank">https://gitlab.freedesktop.org/spice/spice-gtk/-/issues/82</a><br>
<br></blockquote><div><br></div><div>Right now things seem to be working as expected, and I'm not seeing any odd behaviors that would indicate race conditions, but maybe I just haven't hit it, yet :-).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks for your interest in SPICE, I'm looking forward to testing<br>
Guacamole (the food I already love!) :)<br>
<br></blockquote><div><br></div><div>Always happy to have more users and testers. If you're at all interested in testing it, or just looking at my code to see what I'm doing wrong, here are the branches:</div><div><br></div><div><a href="https://github.com/necouchman/guacamole-server/tree/working/spice-basic">https://github.com/necouchman/guacamole-server/tree/working/spice-basic</a><br></div><div> (in the src/protocols/spice directory)</div><div><br></div><div><a href="https://github.com/necouchman/guacamole-client/tree/working/spice-protocol">https://github.com/necouchman/guacamole-client/tree/working/spice-protocol</a><br></div><div> (just basic stuff for adding the protocol to the client - most of the "real" work is done in guacamole-server).</div><div><br></div><div>Right now I'm working on getting audio input going, then on to file transfers.</div><div><br></div><div>-NIck</div></div></div>