Commit Graph

169 Commits

Author SHA1 Message Date
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
roman-b
69b4b0318c xfreerdp: fix usage of new DEBUG_ macroses for RAIL and X11 Client. 2011-09-03 19:50:26 +03:00
Marc-André Moreau
6fdecdb01b debug: cleanup printf's all over the place 2011-09-02 13:29:17 -04:00
Marc-André Moreau
e649a68047 xfreerdp: stabilizing RemoteApp 2011-09-02 12:39:56 -04:00
roman-b
e244300347 xfreerdp: added initial Local Move/Size (by using _NET_WM_MOVERESIZE). 2011-09-02 01:08:53 +03:00
Marc-André Moreau
a9a06abcc3 xfreerdp: stabilizing RemoteApp, fix window styles 2011-08-30 14:21:16 -04:00
Marc-André Moreau
84498109c9 libfreerdp-core: fix replay of RemoteFX session from server 2011-08-28 22:27:46 -04:00
Marc-André Moreau
3f4cd54ad2 xfreerdp: disable RemoteApp mouse motion 2011-08-25 15:05:07 -04:00
roman-b
16262074d4 xfreerdp: add RAIL windows focus in/out handling. 2011-08-25 01:22:06 +03:00
roman-b
e66542b477 xfreerdp: add mouse motion for RAIL.
This is add initial interactive window movement/sizing.
2011-08-25 00:41:45 +03:00
roman-b
6365db7be6 xfreerdp: add parent-child relationship for RAIL windows. 2011-08-25 00:16:57 +03:00
Marc-André Moreau
7dcb87d7a3 xfreerdp: removed seemingly unnecessary X11 update 2011-08-22 21:33:10 -04:00
Marc-André Moreau
cfd3407f69 xfreerdp: fix drawing of maximized RAIL windows 2011-08-22 21:22:05 -04:00
Marc-André Moreau
b8291b2e3d xfreerdp: handling local window restore events 2011-08-21 23:39:56 -04:00
Marc-André Moreau
aaa2f22b10 xfreerdp: handled RAIL window minimize events 2011-08-21 23:15:19 -04:00
Marc-André Moreau
af71a70233 xfreerdp: fix RAIL window resizing 2011-08-19 11:12:30 -04:00
Marc-André Moreau
3fa7d4a3d4 xfreerdp: remove backbuffer window in RemoteApp mode 2011-08-18 01:16:49 -04:00
Marc-André Moreau
2aa3d6f731 xfreerdp: fix movement of RAIL windows 2011-08-17 23:46:08 -04:00
Marc-André Moreau
257f3ac55b xfreerdp: fix mouse input inside application windows 2011-08-17 16:45:09 -04:00
Marc-André Moreau
dc6d3f022b xfreerdp: start handling application events separately 2011-08-17 16:00:09 -04:00
Marc-André Moreau
9961038649 include: restructuring and cleanup of header files 2011-08-15 14:33:04 -04:00
Marc-André Moreau
c42008ce80 xfreerdp: added X11 Window wrapper 2011-08-08 22:24:12 -04:00
Marc-André Moreau
cdbc233e9f xfreerdp: get graphical updates and mouse + keyboard input working 2011-08-07 13:41:54 -04:00
Marc-André Moreau
ad0fedeb9f xfreerdp: initial commit 2011-08-07 09:52:40 -04:00