Similarly to spice_display_mouse_ungrab(), this is intedned to be used from outside code to force the display to grab the mouse (and keyboard). Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- doc/reference/spice-gtk-sections.txt | 2 +- gtk/map-file | 1 + gtk/spice-gtk-sym-file | 1 + gtk/spice-widget.c | 16 ++++++++++++++-- gtk/spice-widget.h | 3 ++- 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/doc/reference/spice-gtk-sections.txt b/doc/reference/spice-gtk-sections.txt index 8d61aa9..17f9d6c 100644 --- a/doc/reference/spice-gtk-sections.txt +++ b/doc/reference/spice-gtk-sections.txt @@ -345,6 +345,7 @@ SpiceDisplayClass SpiceDisplayKeyEvent spice_display_new spice_display_new_with_monitor +spice_display_mouse_grab spice_display_mouse_ungrab spice_display_copy_to_guest spice_display_paste_from_guest @@ -428,4 +429,3 @@ SPICE_PORT_CHANNEL_GET_CLASS <SUBSECTION Private> SpicePortChannelPrivate </SECTION> - diff --git a/gtk/map-file b/gtk/map-file index a69eb40..eb42049 100644 --- a/gtk/map-file +++ b/gtk/map-file @@ -26,6 +26,7 @@ spice_display_get_grab_keys; spice_display_get_pixbuf; spice_display_get_type; spice_display_key_event_get_type; +spice_display_mouse_grab; spice_display_mouse_ungrab; spice_display_new; spice_display_new_with_monitor; diff --git a/gtk/spice-gtk-sym-file b/gtk/spice-gtk-sym-file index 1574e07..ef1b05b 100644 --- a/gtk/spice-gtk-sym-file +++ b/gtk/spice-gtk-sym-file @@ -3,6 +3,7 @@ spice_display_get_grab_keys spice_display_get_pixbuf spice_display_get_type spice_display_key_event_get_type +spice_display_mouse_grab spice_display_mouse_ungrab spice_display_new spice_display_new_with_monitor diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c index d25edca..d18b39d 100644 --- a/gtk/spice-widget.c +++ b/gtk/spice-widget.c @@ -1,6 +1,6 @@ /* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* - Copyright (C) 2010 Red Hat, Inc. + Copyright (C) 2010, 2013 Red Hat, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -83,7 +83,8 @@ static gboolean gtk_widget_get_realized(GtkWidget *widget) * focused if the properties #SpiceDisplay:grab-keyboard and * #SpiceDisplay:grab-mouse are #TRUE respectively. It can be * ungrabbed with spice_display_mouse_ungrab(), and by setting a key - * combination with spice_display_set_grab_keys(). + * combination with spice_display_set_grab_keys(). The grab can be + * also forcefully initiated using spice_display_mouse_ungrab(). * * Finally, spice_display_get_pixbuf() will take a screenshot of the * current display and return an #GdkPixbuf (that you can then easily @@ -2492,6 +2493,17 @@ SpiceDisplay* spice_display_new_with_monitor(SpiceSession *session, gint channel } /** + * spice_display_mouse_grab: + * @display: + * + * Grab the mouse. + **/ +void spice_display_mouse_grab(SpiceDisplay *display) +{ + try_mouse_grab(display); +} + +/** * spice_display_mouse_ungrab: * @display: * diff --git a/gtk/spice-widget.h b/gtk/spice-widget.h index d239ed2..b71aa53 100644 --- a/gtk/spice-widget.h +++ b/gtk/spice-widget.h @@ -1,6 +1,6 @@ /* -*- Mode: C; c-basic-offset: 4; indent-tabs-mode: nil -*- */ /* - Copyright (C) 2010 Red Hat, Inc. + Copyright (C) 2010, 2013 Red Hat, Inc. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -73,6 +73,7 @@ GType spice_display_get_type(void); SpiceDisplay* spice_display_new(SpiceSession *session, int channel_id); SpiceDisplay* spice_display_new_with_monitor(SpiceSession *session, gint channel_id, gint monitor_id); +void spice_display_mouse_grab(SpiceDisplay *display); void spice_display_mouse_ungrab(SpiceDisplay *display); void spice_display_set_grab_keys(SpiceDisplay *display, SpiceGrabSequence *seq); SpiceGrabSequence *spice_display_get_grab_keys(SpiceDisplay *display); -- 1.8.3.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel