Commit Graph

130 Commits

Author SHA1 Message Date
Norbert Federa
bad2f138c1 xfreerdp: FS fixes & smart-sizing resuscitation
- make smart-sizing work again which was killed in previous commits
- removed several unnecessary/ugly workarounds
- miscellaneous small fixes
- new feature: restore previous window position when toggling out of
  fullscreen mode
- new feature: if /f is specified in combination with /smart-sizing:WxH
  we run the session in the /smart-sizing dimensions scaled to full screen
2015-04-16 17:31:22 +02:00
Norbert Federa
6354a7561c xfreerdp: rename xf_context's width height vars
Since several contributers in the past repeatedly made the error
to treat xfc->width and xfc->height as equal with the x11 window
width and heigth I've renamed these variables to sessionWidth and
sessionHeight.
2015-04-16 17:31:22 +02:00
Seray Rosh
ffa7f0363f release keys when xfreerdp is unfocused to prevent stuck keys 2015-02-27 16:02:40 +01:00
Norbert Federa
0e443484d8 xfreerdp: smart-sizing and software-gdi fixes
* fixed crash on server-initiated desktop resize and fullscreen toggle with /gdi:sw
* implemented desktop resize for /gdi:sw
* check for availibility of XRender extension and show error messages if a setting would require it
* fixed compile error if xrender devel packages are missing
* fixed bug with server-initiated desktop resize in fullscreen mode
2014-12-03 15:41:10 +01:00
Norbert Federa
25f66d2e6d xfreerdp: added smart sizing, mt gesture fixes
- removed setting ScalingFactor
- added settings SmartSizingWidth and SmartSizingHeight
- changed option /smart-sizing to optionally support <width>x<height>
- consolidated transformation of input event coordinates
- rdp8 gfx ignored scaling and panning offsets: fixed
- never resize window on panning/pinching
- simplified keyboard multitouch gesture debugging emulation
- disabled keyboard multitouch gesture emulation debug code via define
2014-12-01 11:56:44 +01:00
Norbert Federa
3fa3384eb4 xfreerdp: several fixes for panned/pinched drawing
- use bilinear filter instead of nearest filter
- fixed invalid transformation matrix
- support non-proportional scaling
- fix calculation of transformed coordinates (rounding errors)
2014-12-01 11:17:16 +01:00
Marc-André Moreau
6857a4f2b7 xfreerdp: remove old X11 RAIL code 2014-11-12 17:18:27 -05:00
Marc-André Moreau
abf6d4f71e xfreerdp: prepare RAIL migration away from libfreerdp-rail 2014-11-12 16:42:32 -05:00
Marc-André Moreau
1225c6b5ce xfreerdp: separate app windows from desktop windows 2014-11-11 22:27:33 -05:00
Marc-André Moreau
fb5e33440c xfreerdp: cleanup xf_window.c, xf_rail.c 2014-11-11 20:26:47 -05:00
Armin Novak
7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
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