Go to file
Christophe Fergeau 951c21d017 mouse: Fix pointer grabbing in server mode
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.
2016-08-26 14:56:38 -04:00
build-aux Generate ChangeLog and ship it in the tarball 2012-01-15 22:07:05 +01:00
data Remove unmaintained spicy.nsis 2015-12-08 14:11:49 +01:00
doc doc: fix unused warning 2016-07-07 18:11:12 +02:00
m4 build-sys: update manywarnings.m4 2016-06-01 11:05:55 +02:00
man Add man page 2014-04-08 13:31:00 +02:00
po Add Italian .po file. 2016-08-19 11:06:40 +01:00
spice-common@62f3024f42 configure: Add ${top_builddir}/spice-common to COMMON_CFLAGS 2016-07-14 08:56:33 -03:00
src mouse: Fix pointer grabbing in server mode 2016-08-26 14:56:38 -04:00
tests test-file-transfer: Don't leak GError 2016-08-03 15:27:27 +02:00
vapi Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
.gitmodules Make phodav an optional external dependency 2014-04-02 13:52:30 +02:00
.mailmap mailmap: fix my name 2016-06-21 14:37:00 +02:00
AUTHORS Release 0.8 2012-01-15 22:07:05 +01:00
autogen.sh build-sys: simplify autogen.sh 2014-12-01 13:28:09 +01:00
configure.ac build-sys: simplify checking for x11 2016-08-25 18:42:02 +04:00
COPYING Initial import from SPICE 2010-11-23 17:00:17 +01:00
git.mk build-sys: update git.mk 2014-12-06 00:00:19 +01:00
Makefile.am Drop GTK+ 2.0 2016-03-14 12:02:52 +01:00
NEWS Update NEWS for 0.32 release 2016-06-21 16:11:55 +02:00
README Update README 2016-05-31 12:01:53 +02:00
spice-client-glib-2.0.pc.in build: move @SPICE_GLIB_REQUIRES@ to Requires.private 2012-03-07 21:07:20 +01:00
spice-client-gtk-3.0.pc.in build: fix .pc Requires 2011-07-16 15:47:37 +02:00
spice-controller.pc.in gtk/controller: install spice-controller library 2011-04-10 00:46:52 +02:00
TODO TODO: update 2015-06-08 17:38:57 +02:00

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