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
might be different from the one generated when the key was
pressed. This can happen if the user physically releases the modifier
key before the symbol key. It can also happen with VNC servers such as
Xvnc, since it only "fakes" the correct modifiers during key
presses. So, we must remember which keysym that was used during the
key press, and use the same on release, otherwise keys such as the
Windows key can be stuck activated.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/rdesktop/trunk@1512 423420c4-83ab-492f-b58f-81f9feb106b5
ui_create_window. This seems to fix problems the WTS disconnecting the
session due to "DATA ENCRYPTION" errors. At this point, it's unknown
why this patch fixes the problem, but ui_create_window is a good place
for seamless_restack_test() in any case.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1462 423420c4-83ab-492f-b58f-81f9feb106b5
frusrtation with old metacity versions. Need to use gettimeofday.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1460 423420c4-83ab-492f-b58f-81f9feb106b5
* Since many window managers cannot properly restack a window between
two other windows, we need to check for this at startup.
* A new utility function, sw_wait_configurenotify, is used to wait for
the WM to process our restacking request.
* We are using XReconfigureWMWindow instead of XRestackWindows and
XRaiseWindow, to easier meet the demands of ICCCM. Restacking between
is only done if the WM is not broken, though.
* The error handler does not ignore BadMatch from ConfigureWindow
requests any longer. I haven't found any WM that gives BadMatch for
XReconfigureWMWindow.
* The test cases has been updated to test more stacking cases.
A somewhat related bug fix wrt focus handling is also included, which
prevents FOCUS messages when reverting focus from a destroyed window
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1458 423420c4-83ab-492f-b58f-81f9feb106b5
reference window (the "behind" window); not the window to restack.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1452 423420c4-83ab-492f-b58f-81f9feb106b5
they have finished playing. This also makes the queue system mandatory for
all backends.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1301 423420c4-83ab-492f-b58f-81f9feb106b5
will clear out any rendering bugs caused by the fact the meta-data channel
isn't synchronized with the main graphics channel.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1180 423420c4-83ab-492f-b58f-81f9feb106b5
back (i.e. when the request has been executed).
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1167 423420c4-83ab-492f-b58f-81f9feb106b5
not send unnecessary updates. This is done to avoid side effects for commands
that would seem to be no-ops.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1154 423420c4-83ab-492f-b58f-81f9feb106b5
remote server (i.e. when we get a HELLO).
Also change g_seamless_rdp to mean that -A was specified on the command line.
g_seamless_active now indicates if we're in seamless or "normal" mode.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1148 423420c4-83ab-492f-b58f-81f9feb106b5
Unfortunately, this means we have to wait for the window to leave the
withdrawn state.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1142 423420c4-83ab-492f-b58f-81f9feb106b5
_NET_WM_STATE_SKIP_TASKBAR and _NET_WM_STATE_SKIP_PAGER. That seems to get
the behaviour we want.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1136 423420c4-83ab-492f-b58f-81f9feb106b5
rdesktop/SeamlessRDP. This makes it easier to identify seamless
windows, but also shows a nicer title in kwin when WM_NAME is empty.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1132 423420c4-83ab-492f-b58f-81f9feb106b5
* When using -g workarea, if workarea fetch fails, do not set
g_using_full_workarea. Fall back to size of entire screen, instead
of 800x600.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1056 423420c4-83ab-492f-b58f-81f9feb106b5