On Tue, Dec 13, 2011 at 08:35:06PM +0100, Marc-André Lureau wrote: > --- > configure.ac | 2 +- > src/remote-viewer-main.c | 3 +++ > src/virt-viewer-main.c | 22 +++++++++++++--------- > src/virt-viewer-session-spice.c | 6 +++++- > 4 files changed, 22 insertions(+), 11 deletions(-) > > diff --git a/configure.ac b/configure.ac > index b2d7e8f..77838fe 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -16,7 +16,7 @@ LIBVIRT_REQUIRED="0.6.0" > GTK2_REQUIRED="2.12.0" > GTK3_REQUIRED="3.0" > GTK_VNC_REQUIRED="0.4.3" > -SPICE_GTK_REQUIRED="0.6" > +SPICE_GTK_REQUIRED="0.6.174" > > AC_PROG_CC > AM_PROG_CC_C_O > diff --git a/src/remote-viewer-main.c b/src/remote-viewer-main.c > index 2256528..89ef25f 100644 > --- a/src/remote-viewer-main.c > +++ b/src/remote-viewer-main.c > @@ -91,6 +91,9 @@ main(int argc, char **argv) > #ifdef HAVE_GTK_VNC > g_option_context_add_group (context, vnc_display_get_option_group ()); > #endif > +#ifdef HAVE_SPICE_GTK > + g_option_context_add_group (context, spice_get_option_group ()); > +#endif > g_option_context_parse (context, &argc, &argv, &error); > if (error) { > g_printerr("%s\n%s\n", > diff --git a/src/virt-viewer-main.c b/src/virt-viewer-main.c > index 7e2886b..c8e1082 100644 > --- a/src/virt-viewer-main.c > +++ b/src/virt-viewer-main.c > @@ -25,11 +25,12 @@ > #include <gtk/gtk.h> > #include <glib/gi18n.h> > #include <stdlib.h> > - > #ifdef HAVE_GTK_VNC > #include <vncdisplay.h> > #endif > - > +#ifdef HAVE_SPICE_GTK > +#include <spice-option.h> > +#endif > #include "virt-viewer.h" > > static void virt_viewer_version(void) > @@ -58,21 +59,21 @@ int main(int argc, char **argv) > const char *help_msg = N_("Run '" PACKAGE " --help' to see a full list of available command line options"); > const GOptionEntry options [] = { > { "version", 'V', G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, > - virt_viewer_version, N_("display version information"), NULL }, > + virt_viewer_version, N_("Display version information"), NULL }, > { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, > - N_("display verbose information"), NULL }, > + N_("Display verbose information"), NULL }, > { "direct", 'd', 0, G_OPTION_ARG_NONE, &direct, > - N_("direct connection with no automatic tunnels"), NULL }, > + N_("Direct connection with no automatic tunnels"), NULL }, > { "connect", 'c', 0, G_OPTION_ARG_STRING, &uri, > - N_("connect to hypervisor"), "URI"}, > + N_("Connect to hypervisor"), "URI"}, > { "wait", 'w', 0, G_OPTION_ARG_NONE, &waitvm, > - N_("wait for domain to start"), NULL }, > + N_("Wait for domain to start"), NULL }, > { "reconnect", 'r', 0, G_OPTION_ARG_NONE, &reconnect, > - N_("reconnect to domain upon restart"), NULL }, > + N_("Reconnect to domain upon restart"), NULL }, > { "zoom", 'z', 0, G_OPTION_ARG_INT, &zoom, > N_("Zoom level of window, in percentage"), "ZOOM" }, > { "debug", '\0', 0, G_OPTION_ARG_NONE, &debug, > - N_("display debugging information"), NULL }, > + N_("Display debugging information"), NULL }, > { "full-screen", 'f', 0, G_OPTION_ARG_NONE, &fullscreen, > N_("Open in full screen mode"), NULL }, > { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &args, This hunk could be separate ideally. > @@ -94,6 +95,9 @@ int main(int argc, char **argv) > #ifdef HAVE_GTK_VNC > g_option_context_add_group (context, vnc_display_get_option_group ()); > #endif > +#ifdef HAVE_SPICE_GTK > + g_option_context_add_group (context, spice_get_option_group ()); > +#endif > g_option_context_parse (context, &argc, &argv, &error); > if (error) { > g_printerr("%s\n%s\n", > diff --git a/src/virt-viewer-session-spice.c b/src/virt-viewer-session-spice.c > index f89d042..de2da3d 100644 > --- a/src/virt-viewer-session-spice.c > +++ b/src/virt-viewer-session-spice.c > @@ -23,9 +23,9 @@ > */ > > #include <spice-audio.h> > - > #include <glib/gi18n.h> > > +#include <spice-option.h> > #include "virt-viewer-util.h" > #include "virt-viewer-session-spice.h" > #include "virt-viewer-display-spice.h" > @@ -154,7 +154,9 @@ virt_viewer_session_spice_close(VirtViewerSession *session) > self->priv->audio = NULL; > } > > + /* FIXME: version 0.7 of spice-gtk allows reuse of session */ > self->priv->session = spice_session_new(); > + spice_set_session_option(self->priv->session); > g_signal_connect(self->priv->session, "channel-new", > G_CALLBACK(virt_viewer_session_spice_channel_new), self); > g_signal_connect(self->priv->session, "channel-destroy", > @@ -351,6 +353,8 @@ virt_viewer_session_spice_new(void) > self = g_object_new(VIRT_VIEWER_TYPE_SESSION_SPICE, NULL); > > self->priv->session = spice_session_new(); > + spice_set_session_option(self->priv->session); > + > g_signal_connect(self->priv->session, "channel-new", > G_CALLBACK(virt_viewer_session_spice_channel_new), self); > g_signal_connect(self->priv->session, "channel-destroy", ACK Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|