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>
Solves problem with hidden cursors at login screen (part of
issue #165)
Signed-off-by: Karl Mikaelsson <derfian@cendio.se>
Signed-off-by: Henrik Andersson <hean01@cendio.se>
The new cursor rendering code that was added will render
1bpp XOR cursors as plain black cursors. This introduces
a problem were the cursor is not visible on dark backgrounds.
This change adds a white outlined rendering of the shape to
those specific cursors.
This commit enables support for color cursors with alpha,
however this raises the requirement of libXcursor which is
not such a big deal.
Fixes issue #86 and #21
The previous fix for clipping problems was not enough, reverted
that change in xwin.c in favor for adding reset of window clipping
rect at reconnect.
Fix issue #117
The introduction of setting session size using percentages of both
with and height of screen like -g 50%x100%, commit 3140824be
introduced a bug when using seamless rdp. This commit fixes this bug.
This commit will add a logging system to solve the problem that
one actually need to recompile rdesktop from source to enable
different debug logging.
- Same logging api for all kind of logging and messages to
end user.
- Adding -v for verbose output when running rdesktop.
- All messages are logged into a subject and with a type, eg:
logger(Keyboard, Notice, "Autos-electing %s based on locale.", locale);
- Debug logging is enabled trough a environment variable RDEKSTOP_DEBUG,
which specifies subjects of interest, comma separated. There is a special
subject named All which includes all subject for debug loggin. There is also
a simple logic opeartor '!' = NOT which can be used in combination like:
RDESKTOP_DEBUG=All,!Graphics,!Sound
Which would give debug log output for All subject except Graphics and Sound.
is triggered. This will make a reconnect happen as fast as
possible and prevent waiting for any xwin inputs or data
on rdp channel.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1846 423420c4-83ab-492f-b58f-81f9feb106b5
and implement the usage of the new command in rdesktop.
If a seamless command is specified the persistent mode
of the session will be changed to non-persistent.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1822 423420c4-83ab-492f-b58f-81f9feb106b5
new window is created. This fixes issues with seamless
protocol parser between reconnects.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1820 423420c4-83ab-492f-b58f-81f9feb106b5
Fixes problem were a new seamless application is spawned
upon a reconnection due to resize or network failure.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1809 423420c4-83ab-492f-b58f-81f9feb106b5
of 1 second for ConfigureNotify. Lower this to 0.5 seconds.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1747 423420c4-83ab-492f-b58f-81f9feb106b5
("_NET_WM_STATE_ABOVE") windows relating to non-topmost windows.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1746 423420c4-83ab-492f-b58f-81f9feb106b5
* Fix ewmhints.c:ewmh_get_window_state was not working on 64 bit
platforms.
* In EWMH, HIDDEN overrides MAXIMIZED_VERT/MAXIMIZED_HORZ.
* Finally, if we receive a POSITION when window is maximized or
minimized, it's wrong to simply ignore the POSITION and simply set
the local values to what the server gave us. Instead, we are sending
back a new POSITION.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1739 423420c4-83ab-492f-b58f-81f9feb106b5
X mouse scroll events comes as mouse button press and release
events. On the windows sider the release is interpreted as an
additional scroll down event.
Thanks goes to David Fries for this patch.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1699 423420c4-83ab-492f-b58f-81f9feb106b5
breaks backward compabilities with old commandline arguments.
The -A argument does now require an string to seamlessrdp shell,
and argument -s has now a splitted meaning, in seamless mode it
does specify a application to start, and in standard mode it works
just like it worked before.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1692 423420c4-83ab-492f-b58f-81f9feb106b5
- Implementation of ctrl functionality were slaves can call
a method into existing master process, more information is
found in doc/ctrl.txt
- Implementation of new seamless SPAWN functionality so which
is used by the ctrl to spawn processes in a seamless rdp session
out of process.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1689 423420c4-83ab-492f-b58f-81f9feb106b5
functionality, added event processing and wait for DestroyNotify for
the testing windows to empty the queue before leaving the test function.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1663 423420c4-83ab-492f-b58f-81f9feb106b5
size, and the screen size is changed, rdesktop will automatically
reconnect using the new screen size. This feature uses the previously
implemented autoreconnect feature.
The new UI function ui_seamless_end() has been introduced, to make it
possible to resize in seamless mode as well.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1556 423420c4-83ab-492f-b58f-81f9feb106b5
ui_destroy_window, for symmetry. This is also necessary when
reconnecting with a different size, since the backing store size needs
to be changed.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1555 423420c4-83ab-492f-b58f-81f9feb106b5
and percent of screen) by abusing the g_width variable. However, this
is only works once, since g_width in this case is calculated using
itself. This will not work if we want to support xrandr. Besides, it's
quite ugly.
The patch changes this so that a separate variable, g_sizeopt, is used.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1551 423420c4-83ab-492f-b58f-81f9feb106b5