Commit Graph

1101 Commits

Author SHA1 Message Date
Peter Åstrand
6f0c28753f One more SeamlessRDP TODO:
* Add a client to server message for starting additional
    applications.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1189 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-22 15:33:37 +00:00
Peter Åstrand
a8bbd8c9a3 A few more TODOs for SeamlessRDP:
* Detect the "Windows Security" dialog.

  * Support cmd.exe.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1188 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-22 13:44:14 +00:00
Peter Åstrand
003a33d220 Do not warn upon no seamless info at ConfigureNotify or Expose: The window might already be destroyed.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1183 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-22 10:02:11 +00:00
Pierre Ossman
9babc7a978 Fix memory leak spotted by valgrind.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1182 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-22 09:49:21 +00:00
Pierre Ossman
d5fe3cead6 Must check outstanding_position since outpos_serial isn't valid otherwise.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1181 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-21 15:31:48 +00:00
Pierre Ossman
07667c4d7c Completely redraw a seamless window when our reposition is complete. This
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
2006-03-21 15:29:47 +00:00
Pierre Ossman
470048795d indent-all
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1179 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-21 15:16:48 +00:00
Pierre Ossman
8b98524485 Support for window groups and modal windows.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1176 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-21 14:42:25 +00:00
Peter Åstrand
acec377e87 Include TODOs for SeamlessRDP
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1175 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-21 12:58:39 +00:00
Peter Åstrand
6aa0d6524d Small correction for the SeamlessRDP description.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1174 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-21 12:58:23 +00:00
Peter Åstrand
39654aef29 SeamlessRDP: Initializing all of sw->outpos_ variables.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1173 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 16:14:02 +00:00
Peter Åstrand
68ceebd8e0 Removed WITH_DEBUG_SEAMLESS.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1172 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 16:10:33 +00:00
Peter Åstrand
c997751ac9 Removed unneccessary return.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1171 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 15:58:16 +00:00
Peter Åstrand
d9b1dc3e3c Do not explicitly specify override_redirect=False when creating
SeamlessRDP window; default false is fine.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1170 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 15:55:18 +00:00
Peter Åstrand
b09bdd7fac Cleaned up SeamlessRDP functions: All utility functions are prefixed with sw_.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1169 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 15:43:15 +00:00
Pierre Ossman
04df9b10c3 Add info about serials and ACK:s to the seamless protocol spec.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1168 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 15:21:53 +00:00
Pierre Ossman
a62da2d8fb Make sure we do not update seamless windows' offsets until we get an ACK
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
2006-03-20 14:39:00 +00:00
Pierre Ossman
62b1c67758 Basic infrastructure for receiving seamless ACK:s.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1165 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 12:36:14 +00:00
Pierre Ossman
56b4c2714a Increase length to include the newline character.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1163 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 12:00:09 +00:00
Pierre Ossman
9319c65dbb Add serial numbers to protocol.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1162 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-20 10:31:58 +00:00
Pierre Ossman
54bd012205 Set _NET_WM_STATE property manually for withdrawn windows.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1158 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-17 15:16:52 +00:00
Peter Åstrand
2e7aa4b8b4 Send back our local positions upon changes, but only after a small timeout.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1156 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-17 12:39:09 +00:00
Pierre Ossman
d54d68dccc Add some client side book keeping of window ordering and focus in order to
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
2006-03-17 10:48:11 +00:00
Pierre Ossman
b899e2f50f Detect focus changes and send FOCUS to the server.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1153 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-17 09:56:20 +00:00
Pierre Ossman
8d65411c21 Support for seamless window restacking (ZCHANGE).
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1150 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-17 08:52:29 +00:00
Pierre Ossman
905e228417 Don't activate seamless mode until we have a working connection with the
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
2006-03-16 15:27:59 +00:00
Pierre Ossman
7b5cd1c963 Add HELLO command to seamless spec.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1147 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-16 14:56:27 +00:00
Pierre Ossman
8eabb673ff Combine the functions to add and remove wm states into a single function.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1145 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-16 13:27:13 +00:00
Pierre Ossman
c6a5ea32e6 Only allocate the XWMHints structure where we need it.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1143 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-16 10:14:18 +00:00
Pierre Ossman
06b0c2eb6e Set _NET_WM_STATE atoms via the window manager (as required by the spec.).
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
2006-03-16 08:41:53 +00:00
Pierre Ossman
bb3bcfc8a2 Handle initially minimized windows through WM_HINTS.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1141 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-16 08:11:29 +00:00
Pierre Ossman
70af626e05 Spec says that the wm doesn't have to respect requests to change
_NET_WM_STATE_HIDDEN, so we shouldn't rely on it.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1140 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-16 08:09:41 +00:00
Pierre Ossman
f91d09e47a The logic for parent window was borked. Minor if-statement tweak.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1139 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 15:27:24 +00:00
Peter Åstrand
661a93ab08 Set _NET_WM_NAME
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1138 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 15:16:18 +00:00
Pierre Ossman
2e0cc034a0 Add info about parent-less popup windows to the protocol spec.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1137 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 15:11:53 +00:00
Pierre Ossman
f4cb53875c Handle popups without a parent by setting the window manager hints
_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
2006-03-15 15:10:21 +00:00
Pierre Ossman
7c9b0860e8 Update protocol spec to state string format.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1135 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 13:47:41 +00:00
Peter Åstrand
0c06b6b1ef Changed default WM_NAME. Changed WM_CLASS to
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
2006-03-15 13:15:51 +00:00
Peter Åstrand
bce447b305 Do not map seamless window until STATE is recieved
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1131 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 12:58:50 +00:00
Peter Åstrand
90aa81def6 Prototype for ui_seamless_syncbegin.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1126 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 11:48:32 +00:00
Pierre Ossman
456e775f90 Clarify the behaviour when windows are initially created.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1125 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 11:43:57 +00:00
Peter Åstrand
c90a9e7064 Use strtol for signed variables.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1124 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 11:34:55 +00:00
Peter Åstrand
34208b5634 SETSTATE -> TITLE and STATE
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1123 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 08:43:38 +00:00
Peter Åstrand
4a7a75d402 Support for SeamlessRDP SYNCBEGIN/SYNCEND
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1122 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 08:41:48 +00:00
Peter Åstrand
b198566f5f Ignoring CREATEs for existing windows - be idempotent.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1121 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 08:35:13 +00:00
Peter Åstrand
94d8419910 Changed strtoll/strtol to strtoul.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1120 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 08:18:05 +00:00
Peter Åstrand
1644b0aecd Using strtoll for window ids, since strtol is signed, and we need to
use all bits of a long.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1119 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 06:55:29 +00:00
Peter Åstrand
1894873fb3 When a seamless window is moved to a new desktop, move all other seamless windows as well.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1118 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-15 06:42:57 +00:00
Peter Åstrand
2a804a8b4f Implemented support for changing state normal/minimized/maximized via EWMH. Also, sending notifications to server when local state changes.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1117 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-14 13:56:50 +00:00
Peter Åstrand
5652570792 Always printing what we are sending, when DEBUG_SEAMLESS is enabled.
Use 0x%08lx instead of 0x%p.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1115 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-13 15:04:51 +00:00