Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- src/virt-viewer-display.c | 34 ++++++++++++++++++++++++++++++++++ src/virt-viewer-display.h | 2 ++ 2 files changed, 36 insertions(+) diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c index 099ac76..dda9f77 100644 --- a/src/virt-viewer-display.c +++ b/src/virt-viewer-display.c @@ -41,6 +41,7 @@ struct _VirtViewerDisplayPrivate guint zoom_level; gboolean zoom; gint nth_display; + gint monitor; guint show_hint; VirtViewerSession *session; gboolean auto_resize; @@ -81,6 +82,7 @@ enum { PROP_SHOW_HINT, PROP_SESSION, PROP_SELECTABLE, + PROP_MONITOR, }; static void @@ -176,6 +178,17 @@ virt_viewer_display_class_init(VirtViewerDisplayClass *class) FALSE, G_PARAM_READABLE)); + g_object_class_install_property(object_class, + PROP_MONITOR, + g_param_spec_int("monitor", + "Monitor", + "Display Monitor", + -1, + G_MAXINT32, + -1, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT)); + g_signal_new("display-pointer-grab", G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_LAST | G_SIGNAL_NO_HOOKS, @@ -278,6 +291,9 @@ virt_viewer_display_set_property(GObject *object, g_warn_if_fail(priv->session == NULL); priv->session = g_value_get_object(value); break; + case PROP_MONITOR: + priv->monitor = g_value_get_int(value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -313,6 +329,9 @@ virt_viewer_display_get_property(GObject *object, case PROP_SELECTABLE: g_value_set_boolean(value, virt_viewer_display_get_selectable(display)); break; + case PROP_MONITOR: + g_value_set_int(value, priv->monitor); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -601,6 +620,21 @@ gboolean virt_viewer_display_get_auto_resize(VirtViewerDisplay *self) return self->priv->auto_resize; } +void virt_viewer_display_set_monitor(VirtViewerDisplay *self, gint monitor) +{ + g_return_if_fail(VIRT_VIEWER_IS_DISPLAY(self)); + + self->priv->monitor = monitor; + g_object_notify(G_OBJECT(self), "monitor"); +} + +gint virt_viewer_display_get_monitor(VirtViewerDisplay *self) +{ + g_return_val_if_fail(VIRT_VIEWER_IS_DISPLAY(self), -1); + + return self->priv->monitor; +} + void virt_viewer_display_release_cursor(VirtViewerDisplay *self) { VirtViewerDisplayClass *klass; diff --git a/src/virt-viewer-display.h b/src/virt-viewer-display.h index af78709..21d6fa4 100644 --- a/src/virt-viewer-display.h +++ b/src/virt-viewer-display.h @@ -115,6 +115,8 @@ guint virt_viewer_display_get_show_hint(VirtViewerDisplay *display); VirtViewerSession* virt_viewer_display_get_session(VirtViewerDisplay *display); void virt_viewer_display_set_auto_resize(VirtViewerDisplay *display, gboolean auto_resize); gboolean virt_viewer_display_get_auto_resize(VirtViewerDisplay *display); +void virt_viewer_display_set_monitor(VirtViewerDisplay *display, gint monitor); +gint virt_viewer_display_get_monitor(VirtViewerDisplay *display); void virt_viewer_display_release_cursor(VirtViewerDisplay *display); void virt_viewer_display_close(VirtViewerDisplay *display); -- 1.8.1.4 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list