mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice-gtk
synced 2026-02-01 17:49:50 +00:00
Trying to click on spice-gtk window while in server mode should result in a pointer grab. This is currently failing, with the cursor wrapping to the top left corner of the window instead without being grabbed. This is caused by our use of gtk_event_box_set_above_child(), when clicking on the SpiceWidget, the grab is implicitly taken by the window which is above the event box (which is an internal GtkEventBox input-only GdkWindow). Then when we call gdk_pointer_grab() on the GtkEventBox::window, we get a grab-broken event indicating the grab was transferred from the internal input-only window to GtkEventBox::window (see gtk+ bug https://bugzilla.gnome.org/show_bug.cgi?id=769635#c2 for a detailed explanation). This commit ignores grab-broken events when the GdkWindow who got the grab corresponds to the one we called gdk_pointer_grab() on. An alternative would be to call gdk_pointer_grab() on the GdkWindow which received the button-press-event, but the call chain between button_event() and the eventual gdk_pointer_grab() call, so it would be not so elegant to pass the correct GdkWindow all the way. |
||
|---|---|---|
| build-aux | ||
| data | ||
| doc | ||
| m4 | ||
| man | ||
| po | ||
| spice-common@62f3024f42 | ||
| src | ||
| tests | ||
| vapi | ||
| .gitmodules | ||
| .mailmap | ||
| AUTHORS | ||
| autogen.sh | ||
| configure.ac | ||
| COPYING | ||
| git.mk | ||
| Makefile.am | ||
| NEWS | ||
| README | ||
| spice-client-glib-2.0.pc.in | ||
| spice-client-gtk-3.0.pc.in | ||
| spice-controller.pc.in | ||
| TODO | ||
spice-gtk
=========
A Gtk client and libraries for SPICE remote desktop servers.
Please report bugs at: spice-devel@lists.freedesktop.org
Project content
---------------
libspice-client-glib-2.0
provides glib objects for spice protocol decoding and surface rendering.
* SpiceSession (see spice-session.h).
* SpiceChannel (see spice-channel.h).
* SpiceAudio (see spice-audio.h).
* Various Spice<Type>Channel (see channel-<type>.h).
libspice-client-gtk-3.0
provides gtk widget to show spice display and accept user input.
* SpiceDisplay (see spice-widget.h)
spicy
a gtk test client. The recommended client for end user is
virt-viewer (http://git.fedorahosted.org/cgit/virt-viewer.git/)
spicy-screenshot
Command line tool, connects to spice server and writes out a
screen shot.
spicy-stats
Command line tool, connects to spice server and writes out a
summary of connection details, amount of bytes transferred...
SpiceClientGlib and SpiceClientGtk GObject-introspection modules.
Build dependencies:
------------------
. On Fedora use:
dnf builddep spice-gtk
. or install:
gtk3-devel spice-protocol intltool
openssl-devel pulseaudio-libs-devel pixman-devel
gobject-introspection-devel libjpeg-turbo-devel zlib-devel
cyrus-sasl-devel gtk-doc
. The GStreamer backend needs:
gstreamer1-devel gstreamer1-plugins-base-devel gstreamer1-plugins-good gstreamer1-plugins-bad-free
. If you build from git, you'll also need:
libtool automake vala vala-tools perl-Text-CSV