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
windows that no longer exists. (This shouldn't happen with the current
code base, but will be a problem when multiple main windows and
created and destroyed through the process lifetime.)
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1546 423420c4-83ab-492f-b58f-81f9feb106b5
behaviour of setting the session size in ui_init is not going to work,
due to xrandr, as pointed out in r1538. However, the approach
implemented in this revision doesn't work either: When the window is
created before the connection, this means that as soon as X11 events
are recieved, this is going to trigger RDP transmissions. For example,
a call to reset_modifiers_keys. But if the RDP connection is not
ready, the WTS is not prepared to handle such data. We must wait with,
for example, keyboard input until the connection is READY. OTOH, we
can't just ignore those X11 events; that might lead to that we are not
sending information that we need to send.
So, it is actually better to wait with creating the window until we
have been connected. An additional advantage of this is that for the
load balancing / session directory case, there's no risk of confusion
of which RDP connection we are actually sending data to.
The previous behaviour of creating the window after we have been
connected has been restored.
Since we still need to set connection data (currently screen size) on
a per connection basis, we need to create a new UI function for this.
Non-X11 backends need to implement this new function.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1545 423420c4-83ab-492f-b58f-81f9feb106b5
ui_create_window. ui_init is only called once during the execution,
but the size of the screen can change, for example, when resizing
using Xrandr.
Note however that this also means that ui_create_window must be called
before rdp_connect. rdesktop.c has been modified accordingly. One
additional advantage is that you will get a window during the
connection phase, which gives the user better feedback in case the
connection takes time.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1538 423420c4-83ab-492f-b58f-81f9feb106b5