On 06/09/2013 04:06 PM, Hans de Goede wrote:
Hi,
On 06/09/2013 03:03 PM, agilboa@xxxxxxxxxx wrote:
So conversion is client-only responsibility, while the agent only
needs to advertise its line-ending? seems simpler than conversion in
both sides.
Yep, that is the idea! So the windows agent-side patch for bug 872252
should be a one liner :)
I like your way of thinking;)
Regards,
Hans
On 06/05/2013 04:18 PM, Hans de Goede wrote:
When copy and pasting between a Linux guest and a Windows client or
visa
versa, the line-endings of the text will usually be wrong for the
other side,
so it is desirable to do automatic conversion.
However sometimes it is possible for text in the clipboard on Linux
to have
MSDOS (CRLF) style line-endings, when copy and pasting from Linux to
Linux
it is undesirable to automatically convert these, since this would
not happen
when the apps were running directly on the same machine.
So we want to do automatic conversion only if the client and guest
native
line-endings differ. This means that we cannot simply define one
standard
line-ending for VD_AGENT_CLIPBOARD_UTF8_TEXT data.
Given the above it makes sense to only do conversion on one end. This
patch adds new capabilities which allow the guest-agent to advertise
what
is the native line-ending of the guest.
This should be used by the client in the following way:
1) Check if the guest-agent advertises any line-ending type at all,
if not
the guest line-ending is unknown -> do not convert
2) If the guest's native line-ending matches that of the platform
the client
is running on, then do no not convert
3) If the guest's native line-ending is different from the client
platform,
then convert received clipboard data into the client platform's native
line-ending, and convert clipboard data which will be send to the
guest-agent
into the guest's native line-ending.
Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
---
spice/vd_agent.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/spice/vd_agent.h b/spice/vd_agent.h
index 1c4ebaf..c331d84 100644
--- a/spice/vd_agent.h
+++ b/spice/vd_agent.h
@@ -207,6 +207,8 @@ enum {
VD_AGENT_CAP_CLIPBOARD_BY_DEMAND,
VD_AGENT_CAP_CLIPBOARD_SELECTION,
VD_AGENT_CAP_SPARSE_MONITORS_CONFIG,
+ VD_AGENT_CAP_GUEST_LINEEND_LF,
+ VD_AGENT_CAP_GUEST_LINEEND_CRLF,
VD_AGENT_END_CAP,
};
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel