Commit Graph

119 Commits

Author SHA1 Message Date
Norbert Federa
196330111b xfreerdp: xfixes selection ownership notification
The X11 core protocol does not have support for selection ownership
notifications. Until now xfreerdp worked around this issue by always sending
a format list pdu to the server after sending the format data response pdu
which makes the server side think that the clients clipboard data has changed.

This workaround has some severe drawbacks:
* it causes unnecessary data transfers because even without local clipboard
  data changes the same data is always re-transferred over the channel
* with some clipboard managers (in the server sessions) you will get massive
  endless data transfer loops because these managers immediately request the
  data on clipboard changes.

The correct (core X11) way would be polling for selection ownership changes
which must include the ability to detect changes to the TIMESTAMP target if
the selection owner did not change.
The alternative to the poll based approach is using the X Fixes extension in
order to get selection ownership notifications.

This commit adds support for the XFIXES solution and also moves the complete
clipboard related event handling from xf_event.c to xf_cliprdr.c
2014-07-07 20:31:23 +02:00
Marc-André Moreau
ae02b5b512 xfreerdp: start handling egfx surface-to-surface 2014-06-12 16:13:12 -04:00
Marc-André Moreau
68221cca73 xfreerdp: improve gfx frame handling 2014-06-05 12:36:01 -04:00
Marc-André Moreau
25a7225a22 xfreerdp: don't execute action script when not present 2014-03-24 09:40:01 -04:00
Marc-André Moreau
234a3fa453 xfreerdp: add action script options for X11 events 2014-03-22 17:12:50 -04:00
Marc-André Moreau
208085a894 xfreerdp: add ability to script key combinations 2014-03-14 00:11:44 -04:00
Marc-André Moreau
186172fa78 xfreerdp: cleanup keyboard code 2014-03-13 21:10:22 -04:00
Bernhard Miklautz
8392b1cc10 xfreerdp: handle negative mouse coordinates
If the pointer is moved out a window relatives coordinates can get negative
in X. This case wasn't handled.

fixed #1654
2014-01-22 15:20:17 +01:00
Marc-André Moreau
1fc2d780f7 libfreerdp-core: fix memory leaks reported by valgrind 2013-10-31 23:35:24 -04:00
Marc-André Moreau
68b254014e xfreerdp: fix cursor hidding/showing with multitouch 2013-08-03 16:13:39 -04:00
C-o-r-E
e7b0d18b9b xfreerdp: comment cleanup 2013-07-23 14:47:40 -04:00
C-o-r-E
b0437473f6 merged from upstream 2013-07-17 16:44:27 -04:00
Marc-André Moreau
c084e0f8ae xfreerdp: improve selection between multitouch and non-multitouch devices with XInput 2 2013-06-28 13:46:58 -04:00
C-o-r-E
6f3cc12b2c fixed deadlock in pubsub, remove scale from xf_context 2013-06-27 14:24:46 -04:00
C-o-r-E
11b0a9f185 xfreerdp-client: attempted fixing build 2013-06-26 19:16:28 -04:00
C-o-r-E
340c3a4246 merged completely (painful) from awakecoding's tree 2013-06-25 20:41:32 -04:00
Marc-André Moreau
90ce8be9fc freerdp-core: added Terminate event 2013-06-18 16:55:23 -04:00
Marc-André Moreau
d006891207 xfreerdp: implement XInput 2.2 mouse pointer events 2013-06-17 21:54:38 -04:00
Marc-André Moreau
bb78fb16f8 xfreerdp: refactor to make use of single xfContext* and remove xfInfo* 2013-06-12 18:57:25 -04:00
C-o-r-E
e72b79940c merged upstream 2013-06-05 14:59:24 -04:00
C-o-r-E
cdc294003d freerdp-client: formatting 2013-05-30 09:27:20 -04:00
C-o-r-E
5820c24b03 freerdp-client: expose panning offsets 2013-05-28 20:34:40 -04:00
C-o-r-E
ccc31f9843 freerdp-client: fix expose issue 2013-05-28 19:47:23 -04:00
C-o-r-E
284f54ffcd freerdp-client: fix input coord translation 2013-05-28 16:28:13 -04:00
C-o-r-E
ab2cd6fd1c xfreerdp-client: more fixes with XRender 2013-05-16 16:20:25 -04:00
C-o-r-E
0db2e9cbf4 xfreerdp-client: fixes to xrender operations 2013-05-16 15:15:19 -04:00
C-o-r-E
cff999e7e3 xfreerdp-client: fix mouse position issue for scale 2013-05-15 12:12:47 -04:00
C-o-r-E
b1e603fb2e xfreerdp-client: fix x11 window issue 2013-05-15 10:41:14 -04:00
Marc-André Moreau
c3efeccbd6 xfreerdp: partial cleanup of multitouch code 2013-05-14 19:26:01 -04:00
Marc-André Moreau
e6aec6c936 xfreerdp: initial multitouch functionality 2013-05-14 17:45:52 -04:00
C-o-r-E
fe78d6d1bc attempt fixing big merge 2013-05-13 14:41:06 -04:00
Marc-André Moreau
91a55ae741 xfreerdp: integrate corey's multitouch code 2013-05-08 21:51:16 -04:00
C-o-r-E
6a3cbfd072 xfreerdp-client: tweaks for other clients 2013-05-07 21:42:49 -04:00
C-o-r-E
675d81fc7a xfreerdp-client: window resize and full screen working 2013-05-04 21:38:34 -04:00
C-o-r-E
8af52e61df xfreerdp-client: key combo for zoom in/out 2013-05-04 21:23:24 -04:00
C-o-r-E
05bd5e9907 xfreerdp-client: proper scaling of input 2013-05-04 16:29:22 -04:00
C-o-r-E
85b057e643 xfreerdp-client: fixed initial scaling issue 2013-05-03 20:00:26 -04:00
C-o-r-E
856ef50f99 xfreerdp-client: window resize + scaling 2013-05-03 19:04:47 -04:00
C-o-r-E
552b10b848 xfreerdp-client: clean up + fixes 2013-04-25 19:52:17 -04:00
C-o-r-E
50a57b5675 xfreerdp-client: touch point position 2013-04-25 19:38:13 -04:00
corey
2ab6a604d6 xfreerdp-client: xi fix 2013-04-25 17:06:13 -04:00
corey
a77d73e8d0 xfreerdp-client: xi more tweaks 2013-04-25 16:08:50 -04:00
corey
94e6a00c40 xfreerdp-client: xi tweak2 2013-04-25 15:33:38 -04:00
corey
4fce04bc9a xfreerdp-client: xi tweak 2013-04-25 15:28:11 -04:00
corey
d3912c8652 xfreerdp-client xinput hacking 2013-04-25 14:46:12 -04:00
corey
a39faa3405 xfreerdp-client: Xinput2 hacks 2013-04-24 17:59:53 -04:00
Marc-André Moreau
720a23e07a xfreerdp: refactor xfreerdp client interface 2013-04-08 17:03:21 -04:00
Marc-André Moreau
9b351568fa xfreerdp: start implementing simplified client interface 2013-04-02 15:13:10 -04:00
Marc-André Moreau
d70c1e4d5e xfreerdp: fix RemoteApp decorations 2013-03-28 23:09:28 -04:00
Marc-André Moreau
c19c8a40dd libfreerdp-core: fix some async updates race conditions 2013-02-14 17:43:37 -05:00