Commit Graph

1533 Commits

Author SHA1 Message Date
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
Peter Åstrand
feece41363 Enable large file support
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1114 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-13 09:27:10 +00:00
Peter Åstrand
7b4304a21c Implemented seamless_send_state.
seamless_send is now a varargs function.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1109 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 15:19:52 +00:00
Peter Åstrand
0c70be11d4 Checking return value from seamless_get_window_* everywhere
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1106 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 14:09:16 +00:00
Peter Åstrand
0146173a59 ui_seamless_setstate: Support for leaving iconic state.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1104 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 13:46:15 +00:00
Peter Åstrand
26df0c0c94 Always call strtol with zero base, to be tolerant
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1103 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 13:34:41 +00:00
Peter Åstrand
b557b2dc63 ui_seamless_create_window: Only search for parent if not zero
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1102 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 13:32:18 +00:00
Peter Åstrand
e6cb9fee3b Setting WM_TRANSIENT_FOR, when necessary
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1100 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 12:56:38 +00:00
Peter Åstrand
95f39af2d3 Parsing the new CREATE command, with parent parameter.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1097 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 12:44:32 +00:00
Pierre Ossman
6903b4e52d Add a field to the create command to be able to indicate child windows.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1094 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 12:22:51 +00:00
Peter Åstrand
f756bec8c3 SETSTATE is not two ops: TITLE and STATE
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1093 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 10:40:50 +00:00
Peter Åstrand
6c76781ce0 Using American english
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1091 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 09:20:03 +00:00
Peter Åstrand
63b6684562 Removed the version numbers from SeamlessRDP commands
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1089 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 09:01:51 +00:00
Peter Åstrand
b06a70bf51 Initial support for SeamlessRDP
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1088 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 08:50:43 +00:00
Pierre Ossman
fddda415b1 Update to the seamless protocol spec. Removed the version number from the
commands and added some new commands to send window events to the server.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1087 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 08:44:55 +00:00
Peter Åstrand
ea93ffc466 Added Emacs header, indicating c-basic-offset.
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1086 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 07:14:30 +00:00
Peter Åstrand
0894805d0a Documented the -A option
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1085 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 06:47:31 +00:00
Peter Åstrand
8bd87114d3 Added seamlessrdp protocol definition
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/branches/seamlessrdp-branch/rdesktop@1084 423420c4-83ab-492f-b58f-81f9feb106b5
2006-03-10 06:36:44 +00:00
Peter Åstrand
b4c4c0195f * If fullscreen mode, set g_using_full_workarea = True;
* 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
2006-03-07 08:17:40 +00:00