The rdesktop window used to move to a new position on the screen after
leaving fullscreen. This commit restores the window to the position it
had before entering fullscreen.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
This fixes a problem where HeightOfScreen and WidthOfScreen returned
old, incorrect sizes after the root window was resized while rdesktop
was not in fullscreen. Calling XRRUpdateConfiguration ensures that the
HeightOfScreen and WidthOfScreen macros return the proper values.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
This adds support for resizing the RDP session dynamically based on
the window size. Some complicated logic has been added to avoid
sending excessive amounts of resize requests to the RDP server.
When supported, this resize mechanism should use the RDPEDISP way of
signalling the server to initiate a Deactivate/Activate sequence, but
rdesktop will fall back on Disconnect/Reconnect if RDPEDISP is not
supported by the server.
ui_select has been refactored and most functionality has been broken
out into three new functions, simplifying ui_select into a loop.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
Toggling out of seamless mode is piggy backed on toggle fullscreen.
This introduces a broken behaviour were you get out of seamless mode
and subsequent calls to toggle fullscreen will not take you back.
Just toggle the window between windowed and fullscreen mode.
This refactoring will disable toggle between fullscreen and windowed
mode when rdesktop is started in seamless mode. Still there is a
problem were you can not go back into seamless mode when deactivated.
Signed-off-by: Henrik Andersson <hean01@cendio.com>
Signed-off-by: Thomas Nilefalk <thoni56@cendio.se>
When adding support for multi fragments, we started to read and
use length from fast path packet. However a packet can be
compressed and uncompressed length should be used instead.
Fix issue #185
SCARD_AUTOALLOCATE is a define with value -1, which is compared
to an uint32. There was some missassumtion of whenever its -1 or
0xffffffff through the code.
To enable 32-bit color depths a earlyCapabilityFlag in the CS_CORE
packet is required. When 32-bit color depth is requested, this
RNS_UD_CS_WANT_32BPP_SESSION flag will now be set. We also advertise
support for 32-bit color depths through the RNS_UD_32BPP_SUPPORT flag.