Commit Graph

263 Commits

Author SHA1 Message Date
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
Marc-André Moreau 9b9fbd2ab1 xfreerdp: fix fullscreen mode 2015-02-10 15:15:30 -05:00
Marc-André Moreau b025d83919 Merge pull request #2374 from bjcollins/master
Apply correct exit code to xfreerdp application for certain log offs
2015-02-10 10:41:10 -05:00
bjcollins bb87599f80 Apply correct exit code to xfreerdp application for log off from certain flavors of Windows. 2015-02-09 17:15:07 -06:00
Armin Novak b4db02867a Fixed resource cleanup on disconnect. 2015-02-09 17:33:55 +01:00
Marc-André Moreau 82d58086db xfreerdp: partial reconnect fixes 2015-02-05 17:01:56 -05:00
Marc-André Moreau 7c6948cd5c xfreerdp: make use of freerdp_get_event_handles 2015-01-30 09:47:02 -05:00
Marc-André Moreau 9bc32c2a85 Revert "Moved channel loading, now only loading before connect."
This reverts commit f7756efca6.
2015-01-20 10:15:37 -05:00
Armin Novak f7756efca6 Moved channel loading, now only loading before connect. 2015-01-20 12:13:08 +01:00
Armin Novak 5bc1e41109 Using freerdp_channels_disconnect now. 2015-01-20 11:24:58 +01:00
Armin Novak 7dda510dda Resetting disconnect flag on client start.
Fixed initialisation of variable to avoid NULL dereference.
2015-01-13 12:43:27 +01:00
Armin Novak 524e4635fd Fixed typos.
gdi_free now done on disconnect.
2015-01-13 12:00:51 +01:00
Marc-André Moreau f1bd547580 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/X11/xf_client.c
2014-12-15 15:55:51 -05:00
Norbert Federa 5c68b1cf22 xfreerdp: fix RDP order color conversion
Note: /gdi:sw was working fine, this commit fixes /gdi:hw

* calculate color channel shifts based on X11 visual color masks
* fast path to skip conversion if visual color masks equal rdp color masks
* successfully tested 8/15/16/24/32 bpp rdp sessions on 16/24/32 bpp visuals
2014-12-15 16:34:09 +01:00
Marc-André Moreau e2f377ae11 libfreerdp-core: fix TSG thread shutdown and input freeze problem 2014-12-15 09:42:04 -05:00
Bernhard Miklautz 67b6cc7518 xfreerdp: clean up AuthenticationOnly
* removed dead code path: user name is always set now
* update message if no password was set
2014-12-08 18:13:54 +01:00
Bernhard Miklautz 2dca3f3356 xfreerdp: use login name if no user name was set
If no user name is set with /u:.. use the login name of the current user will be
used as user name.
2014-12-08 18:07:05 +01:00
Marc-André Moreau 53686e414a Merge pull request #2259 from erbth/master
fixed shutdown of input thread in xfreerdp
2014-12-08 10:01:27 -05:00
erbth 9f068ca0f7 fixed shutdown of input thread in xfreerdp 2014-12-05 21:48:24 +01:00
Norbert Federa 443ee42db5 gdi: don't pollute invalid region with empty rects 2014-12-05 19:47:29 +01:00
Marc-André Moreau d5414c33a5 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-12-04 13:32:59 -05:00
Norbert Federa 415a0a158e xfreerdp: smart sizing fix
Standard format PictStandardRGB24 is not always available.
Use XRenderFindVisualFormat instead of XRenderFindStandardFormat
2014-12-04 17:52:54 +01:00
Marc-André Moreau 75e0e84130 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-12-04 10:00:10 -05:00
Bernhard Miklautz 7b55c3a48e xfreerdp: fix formating - indentation 2014-12-03 18:23:20 +01:00
Bernhard Miklautz bd8c3f448e xfreerdp: fix a possible re-size race condition
In case of server side initiated desktop resize it could happen that the
client was "scaling" even if smart-sizing was disabled. The reason for
this was that the "scaled" width and height was set when the X Configure
event arrived but not in xf_desktop_resize.
2014-12-03 18:08:01 +01:00
Marc-André Moreau 01ac15a879 libfreerdp-core: fix crash on failed redirect 2014-12-03 11:48:27 -05: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 1225c6b5ce xfreerdp: separate app windows from desktop windows 2014-11-11 22:27:33 -05:00
Marc-André Moreau d955851052 xfreerdp: remove RAIL dependency on deprecated event system 2014-11-11 18:32:18 -05:00
Marc-André Moreau f3d1830eb4 xfreerdp: partially migrate RAIL to callback interface 2014-11-11 17:49:29 -05:00
Marc-André Moreau b2f7c488ab xfreerdp: cleanup and fix RemoteApp 2014-11-11 16:35:30 -05:00
Marc-André Moreau ee7299ec3f channels/tsmf: remove dependency on deprecated eventing system 2014-11-10 16:33:34 -05:00
Marc-André Moreau edd4aa797c xfreerdp/tsmf: migrate to callback interface 2014-11-10 16:23:04 -05:00
Marc-André Moreau 23e4963102 xfreerdp: remove dependency on clrconv 2014-10-21 22:19:11 -04:00
Marc-André Moreau 38bac22204 xfreerdp: migrate to cliprdr callback interface 2014-10-15 21:30:11 -04:00
Marc-André Moreau 94da63f980 xfreerdp: start migrating to cliprdr callback interface 2014-10-14 22:58:01 -04:00
Marc-André Moreau 0abe24a1c0 xfreerdp: start refactoring cliprdr 2014-10-14 22:24:07 -04:00
Bernhard Miklautz 36c2523d68 xfreerdp: add support to set keyboard indicators
* add generic function to check for X extensions
* detect x keyboard support
* add callbacks and client code to set/clear keyboard indicators
2014-10-06 10:37:37 +02:00
Bernhard Miklautz d7a3d78279 xfreerdp: add support for PlaySound
Using X keyboard bell.
2014-10-03 16:04:15 +02:00
Marc-André Moreau 2a5192b027 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	client/Windows/wf_cliprdr.h
	client/Windows/wf_event.h
	client/X11/xf_client.c
	client/X11/xf_gdi.c
	libfreerdp/gdi/gdi.c
	server/Mac/mf_input.c
2014-09-17 19:09:56 -04:00
Marc-André Moreau 48b35be953 xfreerdp: fix X11 16bpp mode 2014-09-17 14:29:56 -04:00
Marc-André Moreau 1b7a84419c xfreerdp: partial fix for X11 16bpp mode 2014-09-16 19:12:26 -04:00
Marc-André Moreau 501386b790 libfreerdp-gdi: partial support for internal ABGR buffer format 2014-09-15 16:08:06 -04:00
Armin Novak 7913a57bc5 Using wlog for logging in clients now. 2014-09-15 08:55:00 +02:00
Marc-André Moreau 45d2bab95d xfreerdp: optimize bitmap updates 2014-09-11 22:29:09 -04:00
Bernhard Miklautz c8e8ed60b9 xfreerdp: fix segfault
codec contexts are now generated and freed within core/codecs.c
2014-09-11 17:04:21 +02:00
Marc-André Moreau c71e4e18a1 libfreerdp-core: refactor codec context management 2014-09-10 00:42:41 -04:00
Marc-André Moreau bd516e04fa libfreerdp-primitives: cleanup YCoCg 2014-09-06 21:13:37 -04:00
Marc-André Moreau 66bbbf0519 libfreerdp-gdi: enable altsec frame markers 2014-09-05 16:06:19 -04:00
Marc-André Moreau 5107f07b52 Merge pull request #2057 from ptsekov/software-gdi-improvements
Adjust the X11 code to work with the new GDI color
2014-09-05 15:05:53 -04:00
Pavel Tsekov cdfcbeff5c X11: Convert GDI color to X11 color troughout.
* client/X11/xf_client.c (xf_pre_connect): Set the field `colormap' of
`struct xfContext' to the default colormap.
* client/X11/xfreerdp.h (xf_gdi_get_color): Declare new external function.
* client/X11/xf_gdi.c (xf_gdi_get_color): Define new external function.
Use xf_gdi_get_color() to get the appropriate X color index from the GDI
color representation.
* client/X11/xf_graphics.c: Likewise.
2014-09-04 12:44:03 +03:00
Marc-André Moreau 1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Norbert Federa 3c8700f62d Merge pull request #1963 from akallabeth/async-update-to-lib
Moved update thread from client to library.
2014-08-14 17:46:43 +02:00
Marc-André Moreau e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Armin Novak 0780c0993e Replaced fprintf(stderr with DEBUG_WARN 2014-08-07 22:21:07 +02:00
Marc-André Moreau e7fb6e67f5 shadow: add basic lobby functionality 2014-07-14 18:01:29 -04:00
Armin Novak 689902c995 Moved update thread from client to library. 2014-07-14 19:27:50 +02:00
Marc-André Moreau ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
Marc-André Moreau e42465372a xfreerdp: initial remote assistance controls (ctrl+alt+c to request/release control) 2014-06-30 17:17:06 -04:00
Marc-André Moreau 61eb7f2f8e libfreerdp-codec: fix ClearCodec decoding 2014-06-13 17:30:13 -04:00
Marc-André Moreau 42c83c25f8 Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/tsmf/client/tsmf_main.c
2014-06-12 12:08:15 -04:00
Marc-André Moreau 6f9a256c5c Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/drdynvc/client/dvcman.c
	client/X11/xf_client.c
	include/freerdp/dvc.h
2014-06-12 12:03:08 -04:00
Marc-André Moreau 2a82684521 channels: cleanup unused freerdp channels global functions 2014-06-11 16:27:31 -04:00
Marc-André Moreau 83edc68422 xfreerdp: start integrating graphics pipeline 2014-06-04 18:03:25 -04:00
Armin Novak 2a6253ecfa Abortion check now just tests for quit in the queue. 2014-05-27 09:32:58 +02:00
Armin Novak 7e481d31b2 Now processing input messages in async thread. 2014-05-26 22:54:34 +02:00
Armin Novak 0c77671a86 Fixed input_thread shutdown issue if not initiated by user. 2014-05-26 19:09:25 +02:00
Armin Novak 78f9472b41 Removed tsmf.tid hack. 2014-05-23 13:08:22 +02:00
Marc-André Moreau 784e9abd79 cmake: improve __FILE__ relative path hack 2014-04-21 14:42:24 -04:00
Marc-André Moreau 770defc706 xfreerdp: add registration of key combinations 2014-03-22 14:40:52 -04:00
Marc-André Moreau 186172fa78 xfreerdp: cleanup keyboard code 2014-03-13 21:10:22 -04:00
Marc-André Moreau f7bcdad775 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 16:55:24 -05:00
Marc-André Moreau c22490ec3b xfreerdp: disable auto-reconnect by default, add command-line option 2014-02-27 16:55:07 -05:00
Marc-André Moreau 4bbd78a80b libfreerdp-core: remove unnecessary usage of freerdp_channels_data 2014-02-15 15:26:34 -05:00
Marc-André Moreau 3782c2ad72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-01-25 16:34:34 -05:00
Mike McDonald c4f6dcc24f Added auto reconnect to FreeRDP core and X11 client 2014-01-16 17:38:56 -05:00
Marc-André Moreau e7974090bb freerdp: fix removal of OnParamChange event 2013-12-11 17:29:09 -05:00
Marc-André Moreau eb20d0f770 freerdp: fix order of OrderSupport initialization 2013-12-10 12:30:25 -05:00
Marc-André Moreau 1fc2d780f7 libfreerdp-core: fix memory leaks reported by valgrind 2013-10-31 23:35:24 -04:00
Marc-André Moreau 3bc47a2bf8 libfreerdp-core: fix leaks and potential use after free 2013-10-31 21:12:06 -04:00
Marc-André Moreau 518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Marc-André Moreau 336e47e82f Merge pull request #1460 from akallabeth/thread_handle_fixes
Thread handle fixes
2013-09-16 13:40:32 -07:00
Bernhard Miklautz b70835d73d Merge pull request #1470 from bmiklautz/issue/773
x11/client: win8/server 2k12 fix for kbd sync
2013-09-16 03:15:53 -07:00
Bernhard Miklautz a2ce481586 x11/client: win8/server 2k12 fix for kbd sync
Keyboard indicator sync (caps lock/num lock/..) didn't work properly
on reconnect for windows 8 and windows 2012 server.

fixes #773
2013-09-09 18:41:57 +02:00
Armin Novak f399951031 Fixed input thread shutdown caused by previous commit. 2013-09-06 09:41:00 +02:00
Armin Novak 81a5e727d6 Added proper thread sync for input thread.
Channels thread now listening to message pipe quit signal posted
when shutting down the channel.
2013-09-06 09:02:46 +02:00
Armin Novak f2bc161f13 Fixed duplicate WaitForSingleObject on client thread. 2013-09-05 14:44:35 +02:00
Armin Novak 4c1708e290 Fixed channel closing before waiting for thread to quit. 2013-09-05 14:36:06 +02:00
Armin Novak 8442c79e10 Added assertions and ExitThread calls. 2013-09-05 14:27:34 +02:00
Armin Novak e5c138a5b9 Fixed various memory leaks, allocation size issues and API misuse
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Marc-André Moreau ee36541fb7 freerdp: merge with master 2013-09-03 18:49:48 -04:00
Armin Novak 2f20a8c12b Fixed various memory leaks and resource deallocation problems. 2013-08-19 17:44:52 +02:00
Marc-André Moreau 0fd705c6c7 channels/cliprdr: start server-side implementation 2013-08-16 16:46:47 -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 5926fa36dd libfreerdp-client: use PubSub for OnChannelConnected/OnChannelDisconnected 2013-07-11 08:53:15 -07:00
C-o-r-E e85d793aa9 fixed initialization of xf_input 2013-06-27 20:26:31 -04:00
C-o-r-E 51a63db00b xfreerdp: added event handler for ScalingFactorChange 2013-06-27 15:07:40 -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 27cb96e577 work in progress 2013-06-27 03:59:49 -04:00
C-o-r-E ebdf1ea6a2 picked some changes from awakecoding's branch 2013-06-26 21:56:37 -04:00
C-o-r-E 11b0a9f185 xfreerdp-client: attempted fixing build 2013-06-26 19:16:28 -04:00
Marc-André Moreau c8a09f3f76 xfreerdp: add ParamChange event handler 2013-06-26 18:57:16 -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 508bae674b libwinpr-utils: improve PubSub with automatic strongly-typed helpers 2013-06-18 00:39:48 -04:00
Marc-André Moreau 59b7c53c5f freerdp: remove temporary rdpClient* interface and replace with pubSub hooks 2013-06-15 17:39:45 -04:00
Marc-André Moreau 6c9a3b8e64 freerdp: start using pubSub for client GUI events 2013-06-15 17:01:10 -04:00
Marc-André Moreau 95a129eb69 libfreerdp-client: start splitting termination and printing logic for CLI parsing 2013-06-15 15:13:38 -04:00
Marc-André Moreau b5bb3619b8 xfreerdp: rename xf_interface.h to xf_client.h 2013-06-15 13:41:05 -04:00