[Spice-devel] [PATCH spice-protocol 01/12] Add initial seamless mode support

Jakub Janků janku.jakub.jj at gmail.com
Tue Aug 8 12:56:51 UTC 2017


From: Ondrej Holy <oholy at redhat.com>

Seamless mode is a way to use guest applications directly on the
client system desktop side-by-side with client applications.

Add a new capability VD_AGENT_CAP_SEAMLESS_MODE. It indicats ability
to handle following seamless mode messages.

Add a message VD_AGENT_SEAMLESS_MODE. It is used to enable/disable
sending VD_AGENT_SEAMLESS_MODE_LIST messages. It is sent from client
to agent once the change is needed.

Add a message VD_AGENT_SEAMLESS_MODE_LIST. It is used to sent a list of
visible rectangle areas. It is sent periodically from agent to client
with every list change.

https://bugs.freedesktop.org/show_bug.cgi?id=39238
---
 spice/vd_agent.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/spice/vd_agent.h b/spice/vd_agent.h
index 7109ede..235f152 100644
--- a/spice/vd_agent.h
+++ b/spice/vd_agent.h
@@ -91,6 +91,8 @@ enum {
     VD_AGENT_CLIENT_DISCONNECTED,
     VD_AGENT_MAX_CLIPBOARD,
     VD_AGENT_AUDIO_VOLUME_SYNC,
+    VD_AGENT_SEAMLESS_MODE,
+    VD_AGENT_SEAMLESS_MODE_LIST,
     VD_AGENT_END_MESSAGE,
 };
 
@@ -247,6 +249,22 @@ typedef struct SPICE_ATTR_PACKED VDAgentAudioVolumeSync {
     uint16_t volume[0];
 } VDAgentAudioVolumeSync;
 
+typedef struct SPICE_ATTR_PACKED VDAgentSeamlessMode {
+    uint8_t enabled;
+} VDAgentSeamlessMode;
+
+typedef struct SPICE_ATTR_PACKED VDAgentSeamlessModeWindow {
+    int32_t x;
+    int32_t y;
+    uint32_t w;
+    uint32_t h;
+} VDAgentSeamlessModeWindow;
+
+typedef struct SPICE_ATTR_PACKED VDAgentSeamlessModeList {
+    uint32_t num_of_windows;
+    VDAgentSeamlessModeWindow windows[0];
+} VDAgentSeamlessModeList;
+
 enum {
     VD_AGENT_CAP_MOUSE_STATE = 0,
     VD_AGENT_CAP_MONITORS_CONFIG,
@@ -263,6 +281,7 @@ enum {
     VD_AGENT_CAP_MONITORS_CONFIG_POSITION,
     VD_AGENT_CAP_FILE_XFER_DISABLED,
     VD_AGENT_CAP_FILE_XFER_DETAILED_ERRORS,
+    VD_AGENT_CAP_SEAMLESS_MODE,
     VD_AGENT_END_CAP,
 };
 
-- 
2.13.4



More information about the Spice-devel mailing list