Commit Graph

73 Commits

Author SHA1 Message Date
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
Marc-André Moreau 47a7d54370 xfreerdp: stabilize asynchronous X11 event handling 2013-02-11 20:38:19 -05:00
Marc-André Moreau a07b3391ce xfreerdp: fix XInitThreads() usage 2013-02-11 11:40:35 -05:00
Marc-André Moreau 51a51ccd38 xfreerdp: cleanup eventing 2013-02-10 13:17:08 -05:00
Marc-André Moreau 4269ac5c14 xfreerdp: improve asynchronicity 2013-02-09 17:13:53 -05:00
Marc-André Moreau 2d38f99db0 libfreerdp-core: add true asynchronous input and update 2013-02-06 21:57:49 -05:00
Marc-André Moreau ecddb58ba2 channels: cmake cleanup, USB redirection refactoring 2012-11-20 19:34:52 -05:00
Marc-André Moreau 9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau 1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau 1ed644786c freerdp: change boolean type to BOOL type 2012-10-09 02:38:39 -04:00
Marc-André Moreau 5612bc43f8 freerdp: change true/false to TRUE/FALSE 2012-10-09 02:31:28 -04:00
Marc-André Moreau e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Jay Sorg 67b6acc7a8 rail: fixes for crash when creating and deleting windows fast and added support for xrdp rail / local decoration 2012-09-18 15:57:19 -07:00
Marc-André Moreau 46b87c0ac0 Merge pull request #704 from pfmooney/7cf594a95f2fac1c11aab0395a96225cbab14216
Fix for issue 540: ctrl-enter toggles fullscreen
2012-08-25 09:40:05 -07:00
Marc-André Moreau faa4311232 libwinpr: add proper config.h inclusions 2012-08-14 17:20:53 -04:00
Brent Collins 0b7db6232f Multiple RAIL fixes/improvements
1. Linked Window Manager Maximize/Minimize and Restore operations to those from the Server Rail Window so that they are in sync

2. Enable things like "CTRL-ALT-DELETE" and "WindowsKey-L" to show the full desktop window again since the desktop is not actively monitored since
this was still trying to draw to the rail window without updating the size of the window to accomodate the full workspace area.

3. Changed local window coordinates to be based on the visibileOffsetX/Y- while moving server window based on WindowOffsetX/Y. I have seen various issues regarding this when trying to use a maximized window where this is a disconnect between local window coordinates and remote window coordinates. This change clears these things up.

4. Commented the XShapeCombineRectangles calls - this can cause issues where the entire window is not visible and it does not currently play well with the changes from #3. The gain here is greater than the loss.

5. Draw the initial workspace correctly when running across multiple monitors. The correct size was always used, but the window was only starting on the current monitor and thus could draw the window off of the viewable area.

Known Issues:

Although the changes for #2 worked well in the stable branch that I developed from - the desktop window shown once the rail windows are destroyed does not respond to input unless I minimize/restore the window. Once the window starts responding to input - you can hit cancel to close the desktop window and return to your rail windows again(or launch task manager, etc.). This is still a big step in the right direction as xfreerdp is now correctly acting when the rail server stops Actively Monitoring the desktop.

XShapeCombineRectangles needs to be revisited, most windows applications will give you a rectangular window anyways.
2012-08-03 17:35:17 -05:00
Patrick Mooney 7cf594a95f Fix for #540: ctrl-enter toggles fullscreen
Clear xfi->pressed_keys when window loses focus.
This would prevent a held alt key from putting the app into fullscreen if the
users sends ctrl+enter when the app regains focus.
2012-08-02 15:45:03 -05:00
Vic Lee 02ce0dba3b X11: add suppress output support. 2012-05-28 20:21:56 +08:00
David Sundstrom e1e8f6284f make local functions static
reintroduce unmanaged windows for tooltips and dropdowns; this is required for proper focus behavior
2012-05-25 17:56:05 -05:00
David Sundstrom 1060447cb5 Refactor event code to avoid searching seamless window linked list for desktop events. 2012-05-25 17:56:02 -05:00
Vic Lee 400b58e934 x11: release all pressed keys when window is unmapped. 2012-04-11 12:37:47 +08:00
Anthony Tong 2ba5c04d63 xfreerdp: send extended mouse events, using common button values for now 2012-04-01 09:35:11 -04:00
Mads Kiilerich 53c6815c84 x: improve debugging of X events 2012-03-22 21:30:15 +01:00
Marc-André Moreau 94900c7836 libfreerdp-locale: merging keyboard headers 2012-02-18 23:08:17 -05:00
Marc-André Moreau 61da01973d libfreerdp-locale: rename from libfreerdp-kbd, will contain all localization code 2012-02-17 17:43:00 -05:00
Marc-André Moreau 77bbd18d5c libfreerdp-core: fix input callback registration for slow-path input 2011-12-20 14:51:44 -05:00
Marc-André Moreau 216947a330 libfreerdp-core: disable fastpath output if server does not support it 2011-12-20 14:42:22 -05:00
David Sundstrom 49303c8969 Fix compile error on Solaris
Fix few small issues with local move race conditions
Add missing --gdi option to command-line help
2011-12-16 15:10:07 -06:00
David Sundstrom 6bd2b736aa allow updates from cached pixmap during local moves 2011-12-09 14:26:11 -06:00
David Sundstrom b17fe2e60e Do not do XMoveWindow after local_move event from RDP server
Do not update window area of RDP and local X window are not synchronized
Use RootWindowOfScreen for translate coordinates
2011-12-09 14:26:11 -06:00
Not Nyguen Doze 51bd226cf3 Complete local move support. Use a state machine to keep track of XEvents to infer local move start and finish. 2011-12-06 15:43:38 -08:00
Not Nyguen Doze 8f38bdb87a Make popups transient, use local window manager for moves.
This fixes a number if issues on Ubuntu in particular.
2011-12-06 15:43:38 -08:00
David Sundstrom 31cbac201d Add a function to synchronize the RDP server with the local window position and size when the window is moved locally.
Complete implementation for initiating RAIL local move support, however, this is still disabled until a method is found to tell when local moves complete on the X server.
2011-12-06 15:43:38 -08:00
David Sundstrom 354b00711b After local X window manager has moved a window to a different location than what the RDP server expects, send a client update to the RDP server to inform the server of the new window position. 2011-12-06 15:43:38 -08:00
Mike Gilbert bde19474a9 X11/xf_event: Optimize storage of constant strings. 2011-11-30 19:21:04 -05:00
Marc-André Moreau a63a196f53 types: refactoring to make use of standard data types when available 2011-11-19 12:19:16 -05:00
David Sundstrom 96accb0327 Fix issue 202. No cursor icons for RemoteApp
Pointer updates are part of the base RDP protocol MS-RDPBCGR specification and do not include window information like those from the RAIL specification MS-RDPERP do.  To make pointer updates work, we need to keep track of which window has focus and then apply pointer updates to that window.  This appears to be easy to do, just watch for X11 EnterNotify events and update the window field of the main RDP structure.  I had some concerns that a window might receive an old pointer update for some other window due to network latencies, however, the RDP server seems to always send down new pointer updates whenver a window takes focus.
2011-11-14 16:42:14 -06:00
David Sundstrom aa761c7a33 The VisibilityNotify function was using elements out fo the XEvent union that belong to the XExposeEvent event type. These fields are not valid for XVisibilityEvents and contain garbage values.
Remove the code that accessed these fields.  The XExposeEvent already has its own function containing the exact same code.
2011-11-02 18:31:14 -05:00
Alan Pearson 4735dcc5c7 Reorder header files. X11 headers need to be before freerdp/types.h otherwise we get warnings about redefinition of True and False 2011-10-27 10:29:16 -07:00
Marc-André Moreau c639ec8593 libfreerdp-core: refactoring of context pointers into rdpContext 2011-10-16 00:50:10 -04:00
Marc-André Moreau 5c5d8a11e8 xfreerdp: fix RemoteApp after addition of cliprdr 2011-09-23 10:49:59 -04:00
Marc-André Moreau d60adb8325 Merge pull request #120 from llyzs/cliprdr
Integrate cliprdr with xfreerdp
2011-09-23 07:07:43 -07:00
Vic Lee 783681664a cliprdr: integrate with xfreerdp. 2011-09-23 13:41:26 +08:00
Marc-André Moreau 3869228349 xfreerdp: RemoteApp stabilization (window movement, region update) 2011-09-22 21:23:01 -04:00
Marc-André Moreau 5207be87f6 xfreerdp: properly handle local Alt+F4 for RemoteApp windows 2011-09-21 08:36:49 -04:00
roman-b 3a8236c49c xfreerdp: fixed minor RAIL move/size error. 2011-09-06 00:15:29 +03:00
roman-b 14ce6ae7f0 xfreerdp: RemoteApp Local Move/Size improvements.
Issues:
fast mouse moving after left button pressing is create "windows shake" effect.
Slow mouse speed after left button press allows to discard this effect.
2011-09-03 23:38:01 +03:00