[X2Go-Commits] [x2gokdrive] 01/01: extended clipboard support for HTML client.
git-admin at x2go.org
git-admin at x2go.org
Mon Apr 19 18:35:37 CEST 2021
This is an automated email from the git hooks/post-receive script.
x2go pushed a commit to branch master
in repository x2gokdrive.
commit 714a0c0f557812624d2eb9afb90a37fc9846963f
Author: Oleksandr Shneyder <o.shneyder at phoca-gmbh.de>
Date: Mon Apr 19 11:35:22 2021 -0500
extended clipboard support for HTML client.
---
debian/changelog | 1 +
x2gokdriveremote.c | 3 ++-
x2gokdriveremote.h | 3 ++-
x2gokdriveselection.c | 5 +++--
4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b652c50..7bff2ec 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,7 @@ x2gokdrive (0.0.0.1-0x2go1) UNRELEASED; urgency=medium
- move declaration of RemoteHostVars from x2gokdriveremote.h to x2gokdriveremote.c.
- add some support for HTML5 client (like converting pointer cursors to PNG format).
- fix crashing if client is sending unrequested selection.
+ - extended clipboard support for HTML client.
[ Mihai Moldovan ]
* Initial release:
diff --git a/x2gokdriveremote.c b/x2gokdriveremote.c
index 620332f..e405a04 100644
--- a/x2gokdriveremote.c
+++ b/x2gokdriveremote.c
@@ -2467,7 +2467,8 @@ void set_client_version(uint16_t ver, uint16_t os)
//clients version >= 1 supporting extended selection (sending big amount of data aín several chunks)
remoteVars.selstruct.clientSupportsExetndedSelection=(ver > 1);
//Linux clients supporting sending selection on demand (not sending data if not needed)
- remoteVars.selstruct.clientSupportsOnDemandSelection=((ver > 1) && (os == OS_LINUX));
+ //Web client support clipboard and selection on demand starting from v.4
+ remoteVars.selstruct.clientSupportsOnDemandSelection=(((ver > 1) && (os == OS_LINUX)) || ((ver > 3) && (os == WEB)));
}
diff --git a/x2gokdriveremote.h b/x2gokdriveremote.h
index df50d05..8bb7a58 100644
--- a/x2gokdriveremote.h
+++ b/x2gokdriveremote.h
@@ -97,7 +97,8 @@
//Changes 0 - 1: sending and recieving client and OS version
//Changes 1 - 2: supporting extended selection and sending selection on demand
//Changes 2 - 3: supporting web client, sending cursors in PNG format and know about KEEPALIVE event
-#define FEATURE_VERSION 3
+//Changes 3 - 4: extended clipboard support for web client
+#define FEATURE_VERSION 4
#define EPHYR_WANT_DEBUG 1
diff --git a/x2gokdriveselection.c b/x2gokdriveselection.c
index 85447a3..b2122d6 100644
--- a/x2gokdriveselection.c
+++ b/x2gokdriveselection.c
@@ -651,7 +651,7 @@ void read_selection_property(xcb_atom_t selection, xcb_atom_t property)
{
chunk->mimeData=UTF_STRING;
//for text chunks > 1K using zlib compression if client supports it
- if(remoteVars->selstruct.clientSupportsExetndedSelection && chunk->size > 1024)
+ if(remoteVars->selstruct.clientSupportsExetndedSelection && chunk->size > 1024 && remoteVars->client_os != WEB )
{
compressed_data=zcompress(chunk->data, chunk->size, &compressed_size);
if(compressed_data && compressed_size)
@@ -891,7 +891,8 @@ void process_selection_owner_notify(xcb_generic_event_t *e)
return;
}
- if(remoteVars->selstruct.selectionMode == CLIP_NONE || remoteVars->selstruct.selectionMode == CLIP_CLIENT)
+ //web clients V. < 4 not support selections
+ if(remoteVars->selstruct.selectionMode == CLIP_NONE || remoteVars->selstruct.selectionMode == CLIP_CLIENT || ((remoteVars->client_version < 4) && (remoteVars->client_os == WEB)))
{
EPHYR_DBG("Server selection is disabled");
return;
--
Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2gokdrive.git
More information about the x2go-commits
mailing list