Commit Graph

140 Commits

Author SHA1 Message Date
bjcollins 8e27b6d05e RemoteApp Support
1. Remove all uses of "localWindowOffsetCorr" variables, they added an extra layer of complexity and they are not actually needed to handle coordination of window position/size between
the local coordinate system and the remote one. This logic was causing issues in the case where the window was moved off the left side of the screen.

2. Update the xf_setWindowVisibilityRects function to offset the visibility rects as necessary when the window is hanging off the left side of the screen.

3. Stop sending mouse events when doing keyboard moves/sizes(as desired), and stop sending two mouse events for non-keyboard moves/sizes

4. Move location of new UTF8_STRING variable from previous commit

5. Refresh window and window shape for any window position/size updates, this helps keep the local and server windows in sync and works around some race conditions
2015-10-15 18:41:55 -05:00
bjcollins cb4e4cf6fc Store Miscellaneous X11 Atoms into variables to match how we handle other X11 Atoms. 2015-10-15 14:59:53 -05:00
bjcollins 5bfbee8f78 Ensure that app windows always get a window type assigned to them. 2015-10-15 14:39:59 -05:00
bjcollins 47c260177c fix window title for rail as it was not being set on initial window creation
remove duplicate call to XStoreName when setting window title
expand WITH_XEXT #define for rail window rects as extra unecessary work was being done when WITH_XEXT was not defined
2015-09-18 16:14:30 -05:00
Armin Novak cf9f975341 Replaced snprintf with sprintf_s 2015-07-03 13:26:15 +02:00
ivan-83 94a7abd2af + tsmf: OSS initial suppot (not work yet)
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 22:54:13 +03:00
Norbert Federa 1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
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 eb14ab15f5 xfreerdp: removed some weird/unnecessary code 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
bjcollins d4a9a2d3a8 Remove override redirect flag for fullscreen with keyboard grab enabled. Window manager should always know about the main window.
Small cleanup of passing around decorations flag.
Limit PercentScreen to single monitor vs. entire desktop. IMO - this is better behavior in a multimonitor environment.

Handle fullscreen windows better:
1. Ensure that size hints are set to allow resizing before setting a window to fullscreen as some window managers do not behave properly.
2. Handle fullscreen toggles without destroying and recreating window.
3. Use NET_WM_STATE_FULLSCREEN Extended Window Manager Hint for fullscreen functionality
4. Use the NET_WM_FULLSCREEN_MONITORS Extended Window Manager Hint when appropriate
5. When a single monitor fullscreen is requested - use the current monitor(as determined from mouse location)
6. Handle cases where there is no local monitor at coordinate 0,0. The Windows server expect there to be a monitor at this location, so we maintain offset if necessary between our local primary monitor and the server side primary monitor located at 0,0.
2015-02-23 11:22:28 -06:00
bjcollins ee8d0a6440 Fix remote app in xfreerdp.
Remove use of the visibleOffset, this completely breaks the display of all windows except for the main application window. Instead,
just maintain a local offset correction of the windowOffset.

Apply workaround to determining the workArea for remote app mode.
2015-02-11 17:24:06 -06:00
Marc-André Moreau 9b9fbd2ab1 xfreerdp: fix fullscreen mode 2015-02-10 15:15:30 -05:00
Armin Novak e10b42e305 Fixed typo. 2015-01-15 15:26:43 +01:00
Armin Novak 9767f7f042 Added patch for UTF8 window titles, fixes #1364 2015-01-15 14:25:43 +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
Armin Novak 7eb6bc112b Fixed dereference of NULL pointer. 2014-11-16 16:44:29 +01:00
Marc-André Moreau b32341785e xfreerdp: remove dependency on libfreerdp-rail 2014-11-12 19:49:35 -05:00
Marc-André Moreau 6857a4f2b7 xfreerdp: remove old X11 RAIL code 2014-11-12 17:18:27 -05:00
Marc-André Moreau 2efa67b4f9 xfreerdp: more RAIL libfreerdp-rail migration 2014-11-12 17:00:57 -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 589c21d819 libfreerdp-utils: remove rail utils 2014-11-12 10:18:53 -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
Daniel Bungert 27fc3ee64d Fix multiple cases of use of uninitialized vars
* Zeroing xevent helped address some erratic behavior.
* valgrind complained about using xfBitmap uninitialized
  during shutdown, traced it back to the initialization.
  Bitmap_Prototype->size > sizeof(rdpBitmap).
* Early exit from recv_tpkt_pdu is necessary to address
  a shutdown crash - the channelId value was being used
  without being set in the disconnect case.
2014-08-20 03:54:05 -06:00
Marc-André Moreau 95a0d96b58 xfreerdp: fix build warnings 2014-06-23 12:08:34 -04:00
Marc-André Moreau 78d3c82798 xfreerdp: fix multiple egfx-related memory leaks 2014-06-20 13:52:13 -04:00
Armin Novak b1770c33fd Now using posix shared memory with process specific identifier. 2014-05-23 13:09:11 +02:00
Dan Bungert dd88d7194e xfreerdp: Fix disappearing rail windows.
Rail windows currently disappear on resize and on implicit resize
(calc changing view type from standard to scientific).

The bitmask that we send to XCreateWindow() must match the actual
attributes that we are sending (see xf_create_window()).
Because of this we were unintentionally zeroing out some of the
window attributes rather than using their default values.
2014-02-12 16:22:18 -07:00
Armin Novak a3b531c036 Fixed issues found with clang-analyzer 2013-09-05 12:14:33 +02:00
C-o-r-E 340c3a4246 merged completely (painful) from awakecoding's tree 2013-06-25 20:41:32 -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 fe78d6d1bc attempt fixing big merge 2013-05-13 14:41:06 -04:00
Marc-André Moreau b4151bff2f xfreerdp: fix building with Xi 2013-05-10 17:51:09 -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 cca413a5b9 xfreerdp-client: some changes to support other clients 2013-05-06 15:43:34 -04:00
C-o-r-E 84f285401a xfreerdp-client: integrated changes from awakecoding 2013-05-05 18:20:44 -04:00
Marc-André Moreau 12ec6c60db xfreerdp: add support for selecting individual monitors 2013-04-28 18:48:27 -04:00
Marc-André Moreau 1cfda17da9 xfreerdp: partial multimonitor patch from Hans-Peter Jansen 2013-04-28 16:27:23 -04:00
Marc-André Moreau fc3f75d867 xfreerdp: start experimenting with multitouch 2013-04-25 17:00:43 -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 3b0afd8b16 xfreerdp: add special extended window style WS_EX_DECORATIONS for XRDP 2013-03-28 23:47:39 -04:00
Marc-André Moreau 4ca064352f xfreerdp: fix round corners in RemoteApp 2013-03-28 23:34:26 -04:00
Marc-André Moreau d70c1e4d5e xfreerdp: fix RemoteApp decorations 2013-03-28 23:09:28 -04:00
David Barth 96290efd76 add wm-class option 2013-03-26 17:33:09 +01:00
Marc-André Moreau c19c8a40dd libfreerdp-core: fix some async updates race conditions 2013-02-14 17:43:37 -05:00
Marc-André Moreau 2d38f99db0 libfreerdp-core: add true asynchronous input and update 2013-02-06 21:57:49 -05:00