[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