Xpra: Ticket #980: unable to click in window after a new display is connected

Testing with 0.15.5 r10308 osx client against 0.15.4 r10209 fedora 21 server... and also reproduced with 0.16.0 r10380 osx client against 0.16.0 r10508 fedora 21 server.

I started a gedit application from an xterm (obviously also reproducible with all browsers).

I typed something into the doc, then clicked the "+" button to open a new doc and typed something-else into it.

I then plug in a second display configured to be "left" (and above) the original display... requiring, I assume, a "re-location" of the application in order to keep it on the same display as before, despite the changes of the overall desktop layout.

When I then mouse to the original tab/doc (the one I typed something into) and click on it, the application is non-responsive ... and I can't use the mouse to switch between tabs as expected.

(Note - with browsers that behave in cooperation with the WM, if I move the application to the left-more display, then the tabs become responsive again... but gedit and google-chrome are not behaving, so I can't move them around the desktop... which is a separate issue, but I thought I would note it here.)

I'll attach xpra-info from before the adding of the second display, and after.



Wed, 09 Sep 2015 00:39:32 GMT - alas: attachment set

info for multi-tab gedit application before adding second display


Wed, 09 Sep 2015 00:40:21 GMT - alas: attachment set

info for multi-tab gedit application after adding second display


Wed, 09 Sep 2015 01:45:42 GMT - alas:

Display output (server side with 0.15.4) from initial connection and then once the second display is added:

2015-09-08 17:14:51,704 server virtual display now set to 1680x1050
2015-09-08 17:14:51,705 received updated display dimensions
2015-09-08 17:14:51,705 client root window size is 1680x1050 with 1 displays:
2015-09-08 17:14:51,706   'schadenfreude.local' (592x370 mm - DPI: 72x72)
2015-09-08 17:14:51,706     monitor 1
2015-09-08 17:14:51,723 DPI set to 72 x 72
2015-09-08 17:14:51,726 sent updated screen size to 1 clients: 1680x1050 (max 8192x4096)
2015-09-08 17:15:37,621 server virtual display now set to 3000x2560 (best match for 2960x2490)
2015-09-08 17:15:37,622 received updated display dimensions
2015-09-08 17:15:37,622 client root window size is 2960x2490 with 1 displays:
2015-09-08 17:15:37,622   'schadenfreude.local' (1044x878 mm - DPI: 72x72)
2015-09-08 17:15:37,622     monitor 1 1680x1050 at 1280x1440 (592x370 mm - DPI: 72x72)
2015-09-08 17:15:37,622     monitor 2 2560x1440 (903x508 mm - DPI: 72x72)
2015-09-08 17:15:37,626 DPI set to 72 x 72
2015-09-08 17:15:37,631 sent updated screen size to 1 clients: 3000x2560 (max 8192x4096)

Will also add a screenshot of the display configuration (the larger top-left is the one I add as a second display).


Wed, 09 Sep 2015 01:46:32 GMT - alas: attachment set

shot of display configuration


Wed, 09 Sep 2015 01:47:17 GMT - alas:

shot of display configuration


Wed, 09 Sep 2015 10:01:42 GMT - Antoine Martin: owner changed

Could be related to #349 and #728, see also #601.

FYI: I don't have the hardware to test multiple monitors from my win32 and osx systems yet..


Wed, 09 Sep 2015 10:16:00 GMT - Antoine Martin:

Assuming that the problem is to do with a missing notification from the OS that the window's coordinates have changed - r10572 allows us to force all windows to be re-initialized after every desktop geometry change:

XPRA_MONITOR_CHANGE_REINIT=1 xpra attach ...

If that fixes the problem we can make it the default for the platforms affected (I doubt X11 is).


Fri, 11 Sep 2015 00:17:59 GMT - alas:

Setting XPRA_MONITOR_CHANGE_REINIT=1 xpra attach ... with 0.16.0 r10607 windows client and fedora 21 server - after adding a second display the applications with "tabs" (firefox with 3 tabs, gedit with 2 unsaved documents arranged in a tab-like pattern of display) the "tabs" are still clickable/navigable as expected.

However, it looks like all the start-child and start-child spawned windows are shifting left as I add a new display which is configured to be left of the initial display.

I'll attach screen shots and a shot of the control center display layout. (The tiny display to the left is the one being added as a second display - and likewise, in the above layout, the large display at top and slightly left-er is the second display that was added.)

I'll also attach new xpra info from before and after, as well as a number of the bug report items. Note, however, that the screenshots taken by the bug report tool came out as 1 kb .txt files with the word width as their sole contents.

Just in case it is useful, here's the layout infor from the win32 client for the initial connection (well, for one of the iterations in which it re-init'd to one display):

2015-09-10 16:10:36,579 screen size change: will reinit the windows
2015-09-10 16:12:09,306 sending updated screen size to server: 3840x2160 with 1 screens
2015-09-10 16:12:09,306   Default (1016x571 mm - DPI: 96x96) workarea: 3840x2120
2015-09-10 16:12:09,306     DISPLAY1 (621x341 mm - DPI: 157x160)
2015-09-10 16:12:09,306 screen size change: will reinit the windows

And, upon re-connecting the second display yet again:

2015-09-10 16:19:34,377 sending updated screen size to server: 5120x2160 with 1 screens
2015-09-10 16:19:34,377   Default (1354x571 mm - DPI: 96x96)
2015-09-10 16:19:34,377     DISPLAY1 3840x2160 at 1280x0 (621x341 mm - DPI: 157x160) workarea: 5120x2160
2015-09-10 16:19:34,377     DISPLAY2 1280x720 (597x336 mm - DPI: 54x54) workarea: 5120x2160
2015-09-10 16:19:34,391 screen size change: will reinit the windows

Fri, 11 Sep 2015 00:20:07 GMT - alas: attachment set

screenshot of windows display layout, big 4K is initial display, little upper left display added as second


Fri, 11 Sep 2015 00:24:35 GMT - alas: attachment set

edited to maybe fit screenshot of 4k display and application locations before adding second display


Fri, 11 Sep 2015 00:25:25 GMT - alas: attachment set

screenshot, edited for size, of 4k display applications layout after adding second little display to left


Fri, 11 Sep 2015 00:26:47 GMT - alas: attachment set

xpra info pre-attaching of second display


Fri, 11 Sep 2015 00:27:49 GMT - alas: attachment set

bug tool system info for session, before adding second display (should be same for after?)


Fri, 11 Sep 2015 00:29:00 GMT - alas: attachment set

xpra info after adding second display left of original 4k, position of applications appear to have changed


Fri, 11 Sep 2015 00:29:54 GMT - alas: attachment set

Xorg server log after attachment of second display (presumably still relevant even though initial guesses of causes was probably wrong?)


Fri, 11 Sep 2015 00:31:41 GMT - alas:

Quick reference shot for layout of this pass (our osx 0.16 build had some issues, so I had to test with slightly different setup than originally shown in ticket):

screenshot of windows display layout, big 4K is initial display, little upper left display added as second


Fri, 11 Sep 2015 01:30:19 GMT - Antoine Martin:

$ xpra -h | grep xinerama
    --fake-xinerama=yes|no
                        Setup fake xinerama support for the session. Default:

Fri, 11 Sep 2015 03:50:48 GMT - Antoine Martin: summary changed

Editing the ticket title and summarizing some information missing from the latest comments:


The better fix done in r10608 (suitable for 0.15.x branch and actually smaller than r10572) is to force the window to tell the server about its new relative location. Tested with virtualbox and this seems to work for me.

Note: because of the way we process screen change events, there will be a delay of 1 second between the time we are notified of the change in geometry and the time we send the new window location to the server. Any mouse events received during that time will still land in the wrong location. I don't think this is a huge problem or worth the extra coding effort. This goes up to 5 seconds when this change happens after a suspend + resume cycle (but usually this leads to a dropped connection anyway).

@afarr:


Fri, 11 Sep 2015 05:36:57 GMT - Antoine Martin: priority changed

PS: I want to release a stable update asap (to include the fix for the embarrassing security issue r10598), so I have fast tracked this backport: r10612 applies it to both v0.14.x and v0.15.x. Please confirm that all branches are fixed.

PS2: when a display is added or removed, I see a very noticeable OS message in the client output: unexpected message: WM_MOVE (msdn docs: WM_MOVE message). r10614 catches this event and triggers the same code as the screen-size-change handler, so it should be redundant but avoids the warning. @afarr: You must not be looking at the client console output? and also not using one of the key new features of 0.15: remote logging (#786). This means missing out on many important issues that will only show up in the log output, ouch. I can spend weeks at a time improving the logging and error reporting, but if you don't even look at it, that is time completely wasted.


Fri, 11 Sep 2015 22:02:30 GMT - alas:

Tested with 0.16.0 r10624 client against 0.16.0 r10621 fedora 21 client.

I am using windows 8.1 (and osx 10.9) to test with... in neither case am I seeing unexpected message: WM_MOVE in console output, neither before nor after connecting/disconnecting a second display. Are you perhaps using a different windows (maybe 10?). I have also switched my old default screen background, which used to give a host of unexpected messages... was that perhaps happening in the middle of your tests?

This is the output I get with the windows 0.16.0 r10624 client with -d geometry:

C:\Program Files (x86)\Xpra>xpra_cmd.exe attach tcp:10.0.32.147:2200 -d geometry
2015-09-11 14:32:25,326 xpra gtk2 client version 0.16.0-r10624
2015-09-11 14:32:26,091 OpenGL_accelerate module loaded
2015-09-11 14:32:26,207  detected keyboard: layout=us
2015-09-11 14:32:26,207  desktop size is 3840x2160 with 1 screen(s):
2015-09-11 14:32:26,209   Default (1016x571 mm - DPI: 96x96) workarea: 3840x2120
2015-09-11 14:32:26,209     DISPLAY1 (621x341 mm - DPI: 157x160)
2015-09-11 14:32:26,344 server: Linux Fedora 21 Twenty One, Xpra version 0.16.0-r10621
2015-09-11 14:32:26,375 Attached to tcp:10.0.32.147:2200 (press Control-C to detach)
2015-09-11 14:32:26,469 ['configure-window', 1, 8, 44, 499, 316, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 1, (2186, 375), ['mod2']]
2015-09-11 14:32:26,469 map-window for wid=1 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:32:26,469 ['configure-window', 1, 8, 44, 499, 316, {'screen': 0}, 0, {}, False, 1, (2186, 375), ['mod2']]
2015-09-11 14:32:26,469 ['configure-window', 2, 8, 44, 1147, 849, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 2, (2186, 375), ['mod2']]
2015-09-11 14:32:26,469 map-window for wid=2 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:32:26,469 ['configure-window', 2, 8, 44, 1147, 849, {'screen': 0}, 0, {}, False, 2, (2186, 375), ['mod2']]
2015-09-11 14:32:26,469 ['configure-window', 3, 530, 567, 1150, 851, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 3, (2186, 375), ['mod2']]
2015-09-11 14:32:26,469 map-window for wid=3 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:32:26,469 ['configure-window', 3, 530, 567, 1150, 851, {'screen': 0}, 0, {}, False, 3, (2186, 375), ['mod2']]
2015-09-11 14:32:27,578 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3)
2015-09-11 14:32:41,460 sending updated screen size to server: 5120x2160 with 1 screens
2015-09-11 14:32:41,460   Default (1354x571 mm - DPI: 96x96) workarea: 5120x2120
2015-09-11 14:32:41,460     DISPLAY1 3840x2160 at 1280x0 (621x341 mm - DPI: 157x160) workarea: 5120x2120
2015-09-11 14:32:41,460     DISPLAY2 1280x720 (597x336 mm - DPI: 54x54) workarea: 5120x2120

With r10607:

C:\Program Files (x86)\Xpra>xpra_cmd.exe attach tcp:10.0.32.147:2200 -d geometry
2015-09-11 14:46:45,838 xpra gtk2 client version 0.16.0-r10607
2015-09-11 14:46:46,805 OpenGL_accelerate module loaded
2015-09-11 14:46:46,914  detected keyboard: layout=us
2015-09-11 14:46:46,914  desktop size is 3840x2160 with 1 screen(s):
2015-09-11 14:46:46,914   Default (1016x571 mm - DPI: 96x96) workarea: 3840x2120
2015-09-11 14:46:46,914     DISPLAY1 (621x341 mm - DPI: 157x160)
2015-09-11 14:46:47,102 server: Linux Fedora 21 Twenty One, Xpra version 0.16.0-r10621
2015-09-11 14:46:47,134 Attached to tcp:10.0.32.147:2200 (press Control-C to detach)
2015-09-11 14:46:47,227 ['configure-window', 1, 8, 382, 499, 316, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV4
44P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 1, (1920, 1080), ['mod2']]
2015-09-11 14:46:47,227 map-window for wid=1 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:46:47,227 ['configure-window', 1, 8, 382, 499, 316, {'screen': 0}, 0, {}, False, 1, (1920, 1080), ['mod2']]
2015-09-11 14:46:47,227 map-window for wid=2 with client props={'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P
', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:46:47,227 ['configure-window', 2, 8, 31, 1147, 849, {'screen': 0}, 0, {}, False, 2, (1920, 1080), ['mod2']]
2015-09-11 14:46:47,227 ['configure-window', 3, 1288, 545, 1150, 851, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', '
YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 3, (1920, 1080), ['mod2']]
2015-09-11 14:46:47,227 map-window for wid=3 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:46:47,227 ['configure-window', 3, 1288, 545, 1150, 851, {'screen': 0}, 0, {}, False, 3, (1920, 1080), ['mod2']]
2015-09-11 14:46:48,197 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3)
2015-09-11 14:46:59,092 sending updated screen size to server: 5120x2160 with 1 screens
2015-09-11 14:46:59,092   Default (1354x571 mm - DPI: 96x96) workarea: 5120x2128
2015-09-11 14:46:59,092     DISPLAY1 3840x2160 at 1280x0 (621x341 mm - DPI: 157x160) workarea: 5120x2128
2015-09-11 14:46:59,092     DISPLAY2 1280x720 (597x336 mm - DPI: 54x54) workarea: 5120x2128
2015-09-11 14:47:15,690 sending updated screen size to server: 3840x2160 with 1 screens
2015-09-11 14:47:15,690   Default (1016x571 mm - DPI: 96x96) workarea: 3840x2120
2015-09-11 14:47:15,690     DISPLAY1 (621x341 mm - DPI: 157x160)

With r10556:

C:\Program Files (x86)\Xpra>xpra_cmd.exe attach tcp:10.0.32.147:2200 -d geometry
2015-09-11 14:50:02,372 xpra gtk2 client version 0.16.0-r10556
2015-09-11 14:50:03,430 OpenGL_accelerate module loaded
2015-09-11 14:50:03,555  detected keyboard: layout=us
2015-09-11 14:50:03,555  desktop size is 3840x2160 with 1 screen(s):
2015-09-11 14:50:03,555   Default (1016x571 mm - DPI: 96x96) workarea: 3840x2120
2015-09-11 14:50:03,555     DISPLAY1 (621x341 mm - DPI: 157x160)
2015-09-11 14:50:03,677 server: Linux Fedora 21 Twenty One, Xpra version 0.16.0-r10621
2015-09-11 14:50:03,684 Attached to tcp:10.0.32.147:2200 (press Control-C to detach)
2015-09-11 14:50:03,763 ['configure-window', 1, 8, 382, 499, 316, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV4
44P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 1, (1723, 508), ['mod2']]
2015-09-11 14:50:03,763 map-window for wid=1 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:50:03,763 ['configure-window', 1, 8, 382, 499, 316, {'screen': 0}, 0, {}, False, 1, (1723, 508), ['mod2']]
2015-09-11 14:50:03,779 map-window for wid=2 with client props={'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P
', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:50:03,779 ['configure-window', 2, 8, 31, 1147, 849, {'screen': 0}, 0, {}, False, 2, (1723, 508), ['mod2']]
2015-09-11 14:50:03,779 ['configure-window', 3, 1288, 545, 1150, 851, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', '
YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 3, (1723, 508), ['mod2']]
2015-09-11 14:50:03,779 map-window for wid=3 with client props={}, state={'frame': (8, 8, 31, 8)}
2015-09-11 14:50:03,779 ['configure-window', 3, 1288, 545, 1150, 851, {'screen': 0}, 0, {}, False, 3, (1723, 508), ['mod2']]
2015-09-11 14:50:04,779 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3)
2015-09-11 14:50:15,727 sending updated screen size to server: 5120x2160 with 1 screens
2015-09-11 14:50:15,730   Default (1354x571 mm - DPI: 96x96)
2015-09-11 14:50:15,732     DISPLAY1 3840x2160 at 1280x0 (621x341 mm - DPI: 157x160) workarea: 5120x2160
2015-09-11 14:50:15,733     DISPLAY2 1280x720 (597x336 mm - DPI: 54x54) workarea: 5120x2160

These are all with the previously shown windows display configuration.

I will post more with the earlier branch tests when I get a chance.


Sat, 12 Sep 2015 00:30:35 GMT - alas:

Tested with windows and osx 0.14.30 r10624 clients against 0.14.30 r10624 fedora 21 server.

The applications were non-responsive to mouse clicks after a second display was added, becoming responsive again after the new display was again removed.

Obviously, the -d geometry flag didn't produce any output, but I did see some interesting gtk warnings with the window client (not sure if it was just about the build or something related to the r10624...):

C:\Program Files (x86)\Xpra>xpra_cmd.exe attach tcp:10.0.32.147:2200 -d geometry
2015-09-11 17:11:31,855 xpra client version 0.14.30
2015-09-11 17:11:32,321 OpenGL_accelerate module loaded
2015-09-11 17:11:32,321 Using accelerated ArrayDatatype
2015-09-11 17:11:32,430 detected keyboard: layout=us
2015-09-11 17:11:32,430 desktop size is 3840x2160 with 1 screen(s):
2015-09-11 17:11:32,430   '1\WinSta-Default' (1016x571 mm)
2015-09-11 17:11:32,430     DISPLAY1 (621x341 mm)
2015-09-11 17:11:32,632 server: Linux Fedora 21 Twenty One, Xpra version 0.14.30 (r10624)
2015-09-11 17:11:32,710 Attached to tcp:10.0.32.147:2200 (press Control-C to detach)
2015-09-11 17:11:34,349 using audio codec: MPEG 1 Audio, Layer 3 (MP3)
2015-09-11 17:13:11,233 sending updated screen size to server: 5120x2160 with 1 screens
2015-09-11 17:13:11,233   '1\WinSta-Default' (1354x571 mm)
2015-09-11 17:13:11,233     DISPLAY1 3840x2160 at 1280x0 (621x341 mm)
2015-09-11 17:13:11,233     DISPLAY2 1280x720 (597x336 mm)
2015-09-11 17:14:00,167 received console event CTRL_C
C:\Program Files (x86)\Xpra\library.zip\xpra\client\gtk2\client.py:527: GtkWarning: gdk_window_set_group not implemented
C:\Program Files (x86)\Xpra\library.zip\xpra\client\gtk_base\gtk_client_window_base.py:196: GtkWarning: gdk_window_set_group not implemented

The OSX client had no interesting output.


Sat, 12 Sep 2015 18:15:32 GMT - Antoine Martin:

in neither case am I seeing unexpected message: WM_MOVE in console output


As per comment:9: r10614 catches this event and triggers the same code as the screen-size-change handler, so it should be redundant but avoids the warning. You should be able to see it with -d win32. I see it reliably with XP and win7.


I did see some interesting gtk warnings with the window client GtkWarning: gdk_window_set_group not implemented


See ticket:799#comment:12. Now backported to v0.14.x in r10629.


The Windows client, however, still has applications that are not responsive to mouse clicks


Are you sure that your environment is clean? I don't see how it is possible to detect the screen change and not get new configure events sent. I have tested again every version, and I get the configure packets every time. (easy to spot with -d geometry on the server)

As of r10630, you can get more diagnostics with -d screen,geometry client side too.


Tue, 15 Sep 2015 01:03:58 GMT - alas: owner changed

Well, I am now completely confused.

I double checked, and I am still not seeing WM_MOVE, though with -d win32 I am seeing a whole lot of WM_DISPLAYCHANGE, WM_WINDOWPOSCHANGING, etc.

What's really baffling though, is that using the same client and the same server, it looks like the application windows now ARE respecting mouse/cursor click events.

Maybe my environment was dirtier than I thought (the only cleaning I did was to finally do a windows update that the machine was nagging about for... over a week?).

I've just gone through it half a dozen times... and it worked everytime. Looks like 0.16.0 r10624 client side and 0.16.0 r10621 server side was sufficient after all.

I'll pass this back to you to shake your head over, and then close.

(Also confirmed working with 0.15.6 r10632 win client v. 0.15.6 r10639 fedora 21 server, and 0.14.30 r10632 server and windows client.)


Thu, 17 Sep 2015 03:30:24 GMT - Antoine Martin: status changed; resolution set

WM_DISPLAYCHANGE is already caught by GTK for us, so not going to bother with it.

Closing.


Fri, 18 Sep 2015 03:16:55 GMT - alas: status changed; resolution deleted

Ok, looks like I either have more gremlins in my systems, or my head.

Testing again I'm seeing this issue isn't fixed with OSX in either the 0.15 or 0.16 branches. (I could swear it was...)

Testing with 0.16.0 r10655 osx client against 0.16.0 r10624 fedora 21 server.

Got the following client side with -d geometry (connect, click on firefox window, add display, osx config listed well above, then click on firefox window some more):

2015-09-17 20:04:40,128 xpra gtk2 client version 0.16.0-r10655
2015-09-17 20:04:40,915 Warning: libvpx ABI version 5 is too old:
2015-09-17 20:04:40,915  disabling YUV444P support with VP9
2015-09-17 20:04:41,310 OpenGL_accelerate module loaded
2015-09-17 20:04:41,589  using default keyboard settings
2015-09-17 20:04:41,896  desktop size is 1680x1050 with 1 screen(s):
2015-09-17 20:04:41,897   schadenfreude.local (592x370 mm - DPI: 72x72)
2015-09-17 20:04:41,897     monitor 1
2015-09-17 20:04:42,038 server: Linux Fedora 21 Twenty One, Xpra version 0.16.0-r10624
2015-09-17 20:04:42,045 no UI watcher available, cannot watch for clipboard events
2015-09-17 20:04:42,055 Attached to tcp:10.0.32.136:2200 (press Control-C to detach)
2015-09-17 20:04:42,165 ['configure-window', 1, 1181, 730, 499, 316, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 1, (45, 269), ['mod2']]
2015-09-17 20:04:42,166 ['configure-window', 1, 1181, 730, 499, 316, {}, 0, {}, False, 1, (45, 269), ['mod2']]
2015-09-17 20:04:42,168 map-window for wid=1 with client props={}, state={'frame': (0, 0, 22, 0)}
2015-09-17 20:04:42,168 ['configure-window', 2, 1181, 730, 499, 316, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 2, (45, 269), ['mod2']]
2015-09-17 20:04:42,169 ['configure-window', 2, 1181, 730, 499, 316, {}, 0, {}, False, 2, (45, 269), ['mod2']]
2015-09-17 20:04:42,169 map-window for wid=2 with client props={}, state={'frame': (0, 0, 22, 0)}
2015-09-17 20:04:42,170 ['configure-window', 3, 460, 214, 1220, 832, {'screen': 0, 'encoding.transparency': False, 'encodings.rgb_formats': ['YUV420P', 'YUV422P', 'YUV444P', 'GBRP', 'BGRA', 'BGRX', 'RGBA', 'RGBX', 'RGB', 'BGR']}, 0, {}, False, 3, (45, 269), ['mod2']]
2015-09-17 20:04:42,170 ['configure-window', 3, 460, 214, 1220, 832, {}, 0, {}, False, 3, (45, 269), ['mod2']]
2015-09-17 20:04:42,171 map-window for wid=3 with client props={}, state={'frame': (0, 0, 22, 0)}
2015-09-17 20:04:42,804 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3)[0m
2015-09-17 20:04:48,272 ['configure-window', 3, 190, 186, 1220, 832, {'screen': 0}, 0, {}, False, 3, (585, 173), ['mod2']]
2015-09-17 20:04:48,629 ['configure-window', 3, 195, 186, 1220, 832, {'screen': 0}, 0, {}, False, 3, (590, 173), ['mod2']]
2015-09-17 20:04:52,367 ['configure-window', 3, -15, 109, 1220, 832, {'screen': 0}, 0, {}, False, 3, (380, 96), ['mod2']]
2015-09-17 20:04:53,588 ['configure-window', 3, 122, 66, 1220, 832, {'screen': 0}, 0, {}, False, 3, (518, 54), ['mod2']]
2015-09-17 20:04:53,890 ['configure-window', 3, 124, 60, 1220, 832, {'screen': 0}, 0, {}, False, 3, (520, 48), ['mod2']]
2015-09-17 20:04:54,203 ['configure-window', 3, 127, 67, 1220, 832, {'screen': 0}, 0, {}, False, 3, (522, 54), ['mod2']]
2015-09-17 20:04:54,831 ['configure-window', 3, 127, 68, 1220, 832, {'screen': 0}, 0, {}, False, 3, (522, 55), ['mod2']]
2015-09-17 20:05:14,627 ['configure-window', 3, 321, 380, 1220, 832, {'screen': 0}, 0, {}, False, 3, (933, 366), ['mod2']]
2015-09-17 20:05:15,371 ['configure-window', 3, 43, 621, 1220, 832, {'screen': 0}, 0, {}, False, 3, (654, 607), ['mod2']]
2015-09-17 20:05:15,868 ['configure-window', 3, 94, 1007, 1220, 832, {'screen': 0}, 0, {}, False, 3, (706, 993), ['mod2']]
2015-09-17 20:05:16,654 ['configure-window', 3, 150, 661, 1220, 832, {'screen': 0}, 0, {}, False, 3, (762, 646), ['mod2']]
2015-09-17 20:05:17,333 ['configure-window', 3, 176, 338, 1220, 832, {'screen': 0}, 0, {}, False, 3, (788, 324), ['mod2']]
2015-09-17 20:05:18,161 ['configure-window', 3, 150, 183, 1220, 832, {'screen': 0}, 0, {}, False, 3, (762, 169), ['mod2']]
2015-09-17 20:05:19,133 ['configure-window', 3, 61, 82, 1220, 832, {'screen': 0}, 0, {}, False, 3, (673, 68), ['mod2']]
2015-09-17 20:05:25,334 ['configure-window', 2, 1200, 556, 499, 316, {'screen': 0}, 0, {}, False, 2, (1318, 549), ['mod1', 'mod2']]
2015-09-17 20:05:25,892 ['configure-window', 2, 1172, 518, 499, 316, {'screen': 0}, 0, {}, False, 2, (1291, 512), ['mod1', 'mod2']]
2015-09-17 20:06:01,744 sending updated screen size to server: 2960x2490 with 1 screens
2015-09-17 20:06:01,744   schadenfreude.local (1044x878 mm - DPI: 72x72)
2015-09-17 20:06:01,744     monitor 1 1680x1050 at 1280x1440 (592x370 mm - DPI: 72x72)
2015-09-17 20:06:01,745     monitor 2 2560x1440 (903x508 mm - DPI: 72x72)
2015-09-17 20:06:01,745 screen size change: will reinit the windows
2015-09-17 20:06:01,745 ['configure-window', 1, 2461, 2170, 499, 316, {'screen': 0}, 0, {}, False, 3, (1892, 1528), ['mod1', 'mod2']]
2015-09-17 20:06:01,745 ['configure-window', 2, 2452, 1958, 499, 316, {'screen': 0}, 0, {}, False, 3, (1892, 1528), ['mod1', 'mod2']]
2015-09-17 20:06:01,745 ['configure-window', 3, 1341, 1522, 1220, 832, {'screen': 0}, 0, {}, False, 3, (1892, 1528), ['mod1', 'mod2']]

The xrandr output seems to be somewhat long columns of numbers apt to clutter the ticket, so I'll just attach a pre- (from before the second display is connected) and a post- (from after, surprisingly enough).

Behavior was the same with 0.15.6 r10632.


Fri, 18 Sep 2015 03:18:10 GMT - alas: attachment set

xrandr output, previous to adding second display


Fri, 18 Sep 2015 03:18:54 GMT - alas: attachment set

xrandr output, post adding second display


Fri, 18 Sep 2015 07:32:29 GMT - Antoine Martin: owner, status changed

Where was monitor 2 supposed to be added relative to monitor 1? Is this supposed to be the same layout as comment:2 with monitor 2 on top?

sending updated screen size to server: 2960x2490 with 1 screens
  schadenfreude.local (1044x878 mm - DPI: 72x72)
    monitor 1 1680x1050 at 1280x1440 (592x370 mm - DPI: 72x72)
    monitor 2 2560x1440 (903x508 mm - DPI: 72x72)

This says monitor 1 is now below and to the right of monitor 2, starting half way across. (it starts at 1280x1440)

The total screen size also looks that way: the width is 2960=1280+1680, the height is 2490=1050+1440. At least that's consistent.

This would definitely cause problems if we later send mouse coordinates that are based on the monitors NOT actually being arranged that way.

I assume the window you use for testing is number 3? It is reported as being located at 1341x1522, which is exactly where it was before (61x82) if you shift it by 1280x1440. Which looks right - assuming the monitor size and position detection is correct.

The xrandr output also looks correct.

Does moving or resizing the window fix things? Does focusing the window in/out help? (there are some known focus issues with GTK on osx)


no UI watcher available, cannot watch for clipboard events

Fixed in r10664.


Fri, 18 Sep 2015 23:20:29 GMT - alas:

You were exactly correct, the setup from comment:2. The lower & right-er display is the laptop main display, the upper-er and left-er is an external display that I am connecting/disconnecting. Since I am spawning two xterms as start-childs, I am presuming that window 3 would be the one I'm testing with.

Moving the window does not help, unless I move the window all the way to the other display - at which point the window interacts with the mouse/cursor as expected. Resizing also doesn't help.

Neitherwise does focusing in/out/in/out help... nor mixing in focus changes between various of my three xpra windows (xterms v. firefox v. other xterms).

Double checked all of the above on 0.15.6 r10632 as well.

Just on the off chance there might be something interesting, I'll attach a client log (0.15.6 r10632) with -d geometry,window that includes not only the connection of the new display, but also then moving the window to the new display, at which point the mouse/cursor interactions work again as expected.


Fri, 18 Sep 2015 23:22:13 GMT - alas: attachment set

client logs, attach second monitor (layout as in comment:2), then move to new display


Sat, 19 Sep 2015 01:10:59 GMT - alas:

Well... turns out that the windows fix is also not-so-fixed, if I reverse the display set up and repeat my tests from before.

Using the setup from comment:6 (with 0.16.0 r10655 win client) - if I connect with only the left-most (tiny) display and only after initiating the session, connect the 4k display on the right, then the mouse clicks are not registered on the windows, resizing doesn't help, and neither does shifting focus in/out.

Interestingly, when I do the test that way, upon connecting the significantly larger display right of the original display, the application windows all "jump" to the newly connected display, in addition to becoming non-responsive to the mouse/cursor.

If I then move the windows back to the tiny right-most display, then the mouse/cursor clicks work as expected.

(Likewise, as long as I'm just connecting/disconnecting the left-most display, the mouse/cursor clicks work as expected no matter how many connections/disconnections occur.)

I grabbed similar client-side logs to the above... -d geometry,window from connection, adding the second display (at which point the windows all "jump" to the added right-most display), clicking on the windows, then moving the windows back to the "original" right-most display (where the clicks again work as expected). Attaching.


Sat, 19 Sep 2015 01:12:30 GMT - alas: attachment set

title about says it all...


Sat, 19 Sep 2015 06:04:18 GMT - Antoine Martin:

I don't think this is the source of the problem there is an obvious error in your log, which should have been highlighted in red:

Traceback (most recent call last):
88	  File "xpra\client\ui_client_base.pyc", line 800, in do_process_screen_size_change
89	  File "xpra\client\gtk_base\gtk_client_window_base.pyc", line 861, in send_configure
90	  File "xpra\client\gtk_base\gtk_client_window_base.pyc", line 870, in process_configure_event
91	AssertionError

This one is fixed in r10670.

But I fear that the only solution may be to do a full window re-init (same as when we toggle opengl on or off, or when up/down scaling): r10671. If that finally fixes, it will need to be backported to v0.15.x


Tue, 22 Sep 2015 01:45:31 GMT - alas:

Tested with 0.16.0 r10673 windows client against 0.16.0 r10624 fedroa 21 server.

comment:6 layout, using the left-most monitor as initial, and then adding the right-most (4K) after starting session. Doesn't seem to be behaving any differently.

Were my guesses of -d geometry,window something that I should run again? Would some other flags (client or server side) be of more use? (Do I need a more up to date server? As I was taking notes I realized that's mildly old.)


Fri, 23 Oct 2015 01:43:21 GMT - alas: owner changed

Assigning to you antoine.


Thu, 29 Oct 2015 11:19:55 GMT - Antoine Martin: owner changed

I've done extensive testing using a Fedora 22 server running xpra 0.16.0-r11083, with a Windows 7 x86_64 running the same version. I am testing using a simple xterm and dragging the mouse to see if the mouse click and motion events land in the right place. (until proven otherwise, which applications is used makes no difference at all - and this one is simple). xev is also quite useful for testing as it shows the mouse events in both relative and absolute coordinates.

I have tried adding and removing the extra monitor:

I have not had a single instance where the mouse events did not get recorded in the correct location.

For debugging (please include both before and after the screen layout changes):


Fri, 30 Oct 2015 22:15:01 GMT - alas:

This bug is really... bugging me now.

Tried to get repro steps for OSX client (0.16.0 r11077) against a 0.16.0 r11031 fedora 21 server. I failed. It seems to be solved completely on osx.

Trying on windows (0.16.0 r11074 against the same server as above) - I had almost given up, but then I seem to have stumbled across it.

The secret to repro isn't a 4K monitor, it's the need to connect to the xpra session with a primary monitor disconnected - and after the xpra session has been started, then you have to connect the primary monitor. (Yes, you read that correctly, at this point, as long as a user isn't disconnecting & reconnecting a designated primary monitor on a windows client system, I can't find any repro for this bug.)

That said...


GTK_info.exe doesn't have anything that looks glaringly different between to before and after of re-connecting the primary monitor (though, oddly, in both cases there's just a "screen[0]" and in both case the "screen[0].primary_monitor" value is "0" (posting the both, in case there's something... ran everything with XPRA_WIN32_DEBUG=1)).

NativeGUI_info.exe looks virtually the same before and after, except for a difference of 1 in vertical-refresh, and the differences in the workareas:

* antialias.contrast               : 1200
* antialias.enabled                : True
* antialias.hinting                : True
* antialias.orientation            : RGB
* antialias.type                   : ClearType
* cursor_size                      : 32
* desktop_names                    : []
* desktops                         : 1
* double_click.distance            : (4, 4)
* double_click.time                : 500
* dpi.x                            : 96
* dpi.y                            : 96
* fixed_cursor_size                : (32, 32)
* icon_size                        : 16
* native_notifiers                 : ['Win32_Notifier']
* native_system_trays              : ['Win32Tray']
* native_tray_menu_helpers         : []
* native_trays                     : ['Win32Tray']
* system_bell                      : system_bell
* vertical-refresh                 : 59
* window_frame.border              : 1
* window_frame.caption             : 23
* window_frame.fixed               : (3, 3)
* window_frame.frame               : (8, 8, 31, 8)
* window_frame.menu-bar            : 20
* window_frame.minimum             : (140, 39)
* window_frame.normal              : (8, 8)
* window_frame.offset              : (8, 31)
* workarea                         : (0, 0, 4480, 1400)
* workareas                        : [(0, 0, 2560, 1400), (0, 0, 1920, 1040)]
C:\Program Files (x86)\Xpra>xpra_cmd.exe attach tcp:10.0.32.136:2200 --desktop-scaling=off
2015-10-30 14:10:36,256 SetProcessDPIAware()=1
2015-10-30 14:10:36,256 SetProcessDPIAwareness(1) failed: function 'SetProcessDPIAwareness' not found
2015-10-30 14:10:36,256  (not available on MS Windows before version 8
2015-10-30 14:10:36,334 Xpra gtk2 client version 0.16.0-r11074
2015-10-30 14:10:36,334  running on Microsoft Windows 8
2015-10-30 14:10:37,164 OpenGL_accelerate module loaded
2015-10-30 14:10:37,178 OpenGL enabled with Intel(R) HD Graphics 4000
2015-10-30 14:10:37,256 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico) using image type=ICON
2015-10-30 14:10:37,256 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico)=-739303107
2015-10-30 14:10:37,273 calling win32api.SetConsoleCtrlHandler(<bound method ClientExtras.handle_console_event of <xpra.platform.win32.gui.ClientExtras object at 0x0
489F710>>, True)
2015-10-30 14:10:37,273 detect_win32_session_events() hwnd=4720846
2015-10-30 14:10:37,273 Win32EventListener create with hwnd=4720846
2015-10-30 14:10:37,273  detected keyboard: layout=us
2015-10-30 14:10:37,273 get_workareas() GetMonitorInfo(<PyHANDLE:1909639>)={'Device': '\\\\.\\DISPLAY1', 'Work': (0, 0, 1920, 1040), 'Flags': 1, 'Monitor': (0, 0, 19
20, 1080)}
2015-10-30 14:10:37,273 get_workareas()=[(0, 0, 1920, 1040)]
2015-10-30 14:10:37,273 get_workarea() absolute total monitor area: (0, 0, 1920, 1080)
2015-10-30 14:10:37,273  total monitor dimensions: (1920, 1080)
2015-10-30 14:10:37,273  desktop size is 1920x1080 with 1 screen(s):
2015-10-30 14:10:37,273   Default (508x285 mm - DPI: 96x96) workarea: 1920x1040
2015-10-30 14:10:37,273     DISPLAY1 (600x340 mm - DPI: 81x80)
2015-10-30 14:10:37,273 get_vrefresh()=60
2015-10-30 14:10:37,289 callbacks for event WM_DWMNCRENDERINGCHANGED: None
2015-10-30 14:10:37,289 WM_DWMNCRENDERINGCHANGED: 1 / 0
2015-10-30 14:10:37,460 Xpra X11 server version 0.16.0-r11031
2015-10-30 14:10:37,460  running on Linux Fedora 21 Twenty One
2015-10-30 14:10:37,476 Attached to tcp:10.0.32.136:2200 (press Control-C to detach)
2015-10-30 14:10:37,476 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico) using image type=ICON
2015-10-30 14:10:37,476 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico)=-1005051397
2015-10-30 14:10:37,476 do_set_icon(-1005051397)
2015-10-30 14:10:37,492 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=True,
 MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:10:37,492 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) gdk window=<gtk.gdk.Window object at 0x48d5c60 (GdkWindow at
0x38b2370)>, hwnd=0x3b010c
2015-10-30 14:10:37,492 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,492 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,492 fixup_window_style() unchanged style 0x6cf0000 on window 0x3b010c
2015-10-30 14:10:37,492 Win32Hooks: window frame size is 8x8
2015-10-30 14:10:37,492 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x048E5170>>
}
2015-10-30 14:10:37,506 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) added hooks for hwnd 0x3b010c: <xpra.platform.win32.window_ho
oks.Win32Hooks object at 0x048E5170>
2015-10-30 14:10:37,506 apply_maxsize_hints(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:10:37,506 apply_geometry_hints({'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width
': 25, 'base_height': 4})
2015-10-30 14:10:37,506 apply_maxsize_hints(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:10:37,506 win32 hooks: set_group(0x62088e)
2015-10-30 14:10:37,506 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F40804>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F320>)
2015-10-30 14:10:37,506 callbacks for event WM_ACTIVATEAPP: [<bound method ClientExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x0489F710>>]
2015-10-30 14:10:37,506 WM_ACTIVATEAPP: 1/5832 client=gtk2.client
2015-10-30 14:10:37,506 fixup_window_style() unchanged style 0x6cf0000 on window 0x3b010c
2015-10-30 14:10:37,523 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=True,
 MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:10:37,523 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) gdk window=<gtk.gdk.Window object at 0x48e85d0 (GdkWindow at
0x38b24d0)>, hwnd=0x600b36
2015-10-30 14:10:37,523 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,523 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,523 fixup_window_style() unchanged style 0x6cf0000 on window 0x600b36
2015-10-30 14:10:37,523 Win32Hooks: window frame size is 8x8
2015-10-30 14:10:37,523 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x04883CD0>>
}
2015-10-30 14:10:37,523 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) added hooks for hwnd 0x600b36: <xpra.platform.win32.window_ho
oks.Win32Hooks object at 0x04883CD0>
2015-10-30 14:10:37,523 apply_maxsize_hints(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:10:37,523 apply_geometry_hints({'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width
': 25, 'base_height': 4})
2015-10-30 14:10:37,523 apply_maxsize_hints(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:10:37,523 win32 hooks: set_group(0x62088e)
2015-10-30 14:10:37,523 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F40804>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F460>)
2015-10-30 14:10:37,539 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=Tru
e, MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:10:37,539 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) gdk window=<gtk.gdk.Window object at 0x48e8bc0 (GdkWindow a
t 0x38b26e0)>, hwnd=0x15e0942
2015-10-30 14:10:37,539 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,539 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:10:37,539 fixup_window_style() unchanged style 0x6cf0000 on window 0x15e0942
2015-10-30 14:10:37,539 Win32Hooks: window frame size is 8x8
2015-10-30 14:10:37,539 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x048E5210>>
}
2015-10-30 14:10:37,539 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) added hooks for hwnd 0x15e0942: <xpra.platform.win32.window
_hooks.Win32Hooks object at 0x048E5210>
2015-10-30 14:10:37,539 apply_maxsize_hints(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None)), {'max_width': 4096, 'min_height': 199, 'base_width': 0,
'max_height': 4096, 'min_width': 581, 'base_height': 0}) found max: 4096x4096
2015-10-30 14:10:37,539 apply_geometry_hints({'max_width': 4096, 'min_height': 199, 'base_width': 0, 'max_height': 4096, 'min_width': 581, 'base_height': 0})
2015-10-30 14:10:37,539 apply_maxsize_hints(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None)), {'max_width': 4096, 'min_height': 199, 'base_width': 0,
'max_height': 4096, 'min_width': 581, 'base_height': 0}) found max: 4096x4096
2015-10-30 14:10:37,539 win32 hooks: set_group(0x9b00e2)
2015-10-30 14:10:37,539 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F406E4>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F230>)
2015-10-30 14:10:37,553 LoadImage(C:\Program Files (x86)\Xpra\icons\clipboard.ico) using image type=ICON
2015-10-30 14:10:37,553 LoadImage(C:\Program Files (x86)\Xpra\icons\clipboard.ico)=-1506472631
2015-10-30 14:10:37,553 do_set_icon(-1506472631)
2015-10-30 14:10:37,553 after_window_state_updated()
2015-10-30 14:10:37,553 fixup_window_style() unchanged style 0x16cf0000 on window 0x3b010c
2015-10-30 14:10:37,569 after_window_state_updated()
2015-10-30 14:10:37,569 fixup_window_style() unchanged style 0x16cf0000 on window 0x600b36
2015-10-30 14:10:37,569 after_window_state_updated()
2015-10-30 14:10:37,569 fixup_window_style() unchanged style 0x16cf0000 on window 0x15e0942
2015-10-30 14:10:37,694 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico) using image type=ICON
2015-10-30 14:10:37,694 LoadImage(C:\Program Files (x86)\Xpra\icons\xpra.ico)=-1029037519
2015-10-30 14:10:37,694 do_set_icon(-1029037519)
2015-10-30 14:10:38,444 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3)
2015-10-30 14:11:12,697 callbacks for event WM_DISPLAYCHANGE: None
2015-10-30 14:11:12,697 WM_DISPLAYCHANGE: 32 / 94374400
2015-10-30 14:11:12,713 on_getminmaxinfo(22939970, 36, 0, 1633064) max_size=(4096, 4096), frame=8x8, minmaxinfo size=4112x4135
2015-10-30 14:11:12,713 on_getminmaxinfo(6294326, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:12,713 on_getminmaxinfo(3866892, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:12,713 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-30 14:11:12,713 WM_WINDOWPOSCHANGING: 0 / 1635832
2015-10-30 14:11:12,747 callbacks for event WM_GETMINMAXINFO: None
2015-10-30 14:11:12,747 WM_GETMINMAXINFO: 0 / 1633728
2015-10-30 14:11:12,750 callbacks for event WM_WINDOWPOSCHANGED: None
2015-10-30 14:11:12,750 WM_WINDOWPOSCHANGED: 0 / 1635832
2015-10-30 14:11:12,752 callbacks for event WM_MOVE: [<bound method ClientExtras.wm_move of <xpra.platform.win32.gui.ClientExtras object at 0x0489F710>>]
2015-10-30 14:11:12,753 WM_MOVE: 0/10420360 client=gtk2.client
2015-10-30 14:11:13,526 get_workareas() GetMonitorInfo(<PyHANDLE:155067071>)={'Device': '\\\\.\\DISPLAY1', 'Work': (0, 0, 2560, 1440), 'Flags': 1, 'Monitor': (0, 0,
2560, 1440)}
2015-10-30 14:11:13,526 get_workareas() GetMonitorInfo(<PyHANDLE:1975175>)={'Device': '\\\\.\\DISPLAY2', 'Work': (-1920, 0, 0, 1080), 'Flags': 0, 'Monitor': (-1920,
0, 0, 1080)}
2015-10-30 14:11:13,526 get_workareas()=[(0, 0, 2560, 1440), (0, 0, 1920, 1080)]
2015-10-30 14:11:13,526 get_workarea() absolute total monitor area: (-1920, 0, 2560, 1440)
2015-10-30 14:11:13,526  total monitor dimensions: (4480, 1440)
2015-10-30 14:11:13,542 sending updated screen size to server: 4480x1440 with 1 screens
2015-10-30 14:11:13,542   Default (1185x381 mm - DPI: 96x96)
2015-10-30 14:11:13,558     DISPLAY1 2560x1440 at 1920x0 (597x336 mm - DPI: 108x108) workarea: 2560x1440
2015-10-30 14:11:13,558     DISPLAY2 1920x1080 (600x340 mm - DPI: 81x80) workarea: 1920x1080
2015-10-30 14:11:13,558 screen size change: will reinit the windows
2015-10-30 14:11:13,605 remove_window_hooks(GLClientWindow(1 : None)) found <xpra.platform.win32.window_hooks.Win32Hooks object at 0x048E5170>
2015-10-30 14:11:13,605 cleanup()
2015-10-30 14:11:13,704 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=True,
 MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:11:13,720 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) gdk window=<gtk.gdk.Window object at 0x49088a0 (GdkWindow at
0x38b28f0)>, hwnd=0x3c010c
2015-10-30 14:11:13,720 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:13,720 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:13,736 fixup_window_style() unchanged style 0x6cf0000 on window 0x3c010c
2015-10-30 14:11:13,736 Win32Hooks: window frame size is 8x8
2015-10-30 14:11:13,736 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x047A20F0>>
}
2015-10-30 14:11:13,736 add_window_hooks(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None))) added hooks for hwnd 0x3c010c: <xpra.platform.win32.window_ho
oks.Win32Hooks object at 0x047A20F0>
2015-10-30 14:11:13,736 apply_maxsize_hints(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:11:13,736 apply_geometry_hints({'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width
': 25, 'base_height': 4})
2015-10-30 14:11:13,736 apply_maxsize_hints(GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:11:13,736 win32 hooks: set_group(0x62088e)
2015-10-30 14:11:13,736 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F40B04>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F0C8>)
2015-10-30 14:11:13,815 remove_window_hooks(GLClientWindow(2 : None)) found <xpra.platform.win32.window_hooks.Win32Hooks object at 0x04883CD0>
2015-10-30 14:11:13,815 cleanup()
2015-10-30 14:11:13,877 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=True,
 MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:11:13,877 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) gdk window=<gtk.gdk.Window object at 0x48fa648 (GdkWindow at
0x38b2a50)>, hwnd=0x610b36
2015-10-30 14:11:13,877 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:13,877 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:13,877 fixup_window_style() unchanged style 0x6cf0000 on window 0x610b36
2015-10-30 14:11:13,877 Win32Hooks: window frame size is 8x8
2015-10-30 14:11:13,877 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x048E5290>>
}
2015-10-30 14:11:13,877 add_window_hooks(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None))) added hooks for hwnd 0x610b36: <xpra.platform.win32.window_ho
oks.Win32Hooks object at 0x048E5290>
2015-10-30 14:11:13,892 apply_maxsize_hints(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:11:13,892 apply_geometry_hints({'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width
': 25, 'base_height': 4})
2015-10-30 14:11:13,892 apply_maxsize_hints(GLClientWindow(2 : gtk2.GLWindowBacking(2, (499, 316), None)), {'width_inc': 6, 'height_inc': 13, 'max_width': 4093, 'min
_height': 17, 'base_width': 19, 'max_height': 4086, 'min_width': 25, 'base_height': 4}) found max: 4093x4086
2015-10-30 14:11:13,892 win32 hooks: set_group(0x62088e)
2015-10-30 14:11:13,892 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F408F4>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F0A0>)
2015-10-30 14:11:13,990 remove_window_hooks(GLClientWindow(22 : None)) found <xpra.platform.win32.window_hooks.Win32Hooks object at 0x048E5210>
2015-10-30 14:11:13,990 cleanup()
2015-10-30 14:11:14,038 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) WINDOW_HOOKS=True, GROUP_LEADER=True, UNDECORATED_STYLE=Tru
e, MAX_SIZE_HINT=True, GEOMETRY=True
2015-10-30 14:11:14,038 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) gdk window=<gtk.gdk.Window object at 0x4908bc0 (GdkWindow a
t 0x38b2bb0)>, hwnd=0xad0882
2015-10-30 14:11:14,053 win32 hooks: propsys=<module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:14,053 hooked group leader override using <module 'win32com.propsys.propsys' from 'C:\Program Files (x86)\Xpra\win32com.propsys.propsys.pyd'>
2015-10-30 14:11:14,053 fixup_window_style() unchanged style 0x6cf0000 on window 0xad0882
2015-10-30 14:11:14,053 Win32Hooks: window frame size is 8x8
2015-10-30 14:11:14,069 Win32Hooks: message_map={36: <bound method Win32Hooks.on_getminmaxinfo of <xpra.platform.win32.window_hooks.Win32Hooks object at 0x04904550>>
}
2015-10-30 14:11:14,069 add_window_hooks(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None))) added hooks for hwnd 0xad0882: <xpra.platform.win32.window_
hooks.Win32Hooks object at 0x04904550>
2015-10-30 14:11:14,069 apply_maxsize_hints(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None)), {'max_width': 4096, 'min_height': 199, 'base_width': 0,
'max_height': 4096, 'min_width': 581, 'base_height': 0}) found max: 4096x4096
2015-10-30 14:11:14,085 apply_geometry_hints({'max_width': 4096, 'min_height': 199, 'base_width': 0, 'max_height': 4096, 'min_width': 581, 'base_height': 0})
2015-10-30 14:11:14,085 apply_maxsize_hints(GLClientWindow(22 : gtk2.GLWindowBacking(22, (900, 700), None)), {'max_width': 4096, 'min_height': 199, 'base_width': 0,
'max_height': 4096, 'min_width': 581, 'base_height': 0}) found max: 4096x4096
2015-10-30 14:11:14,101 win32 hooks: set_group(0x9b00e2)
2015-10-30 14:11:14,101 win32 hooks: calling <built-in method SetValue of PyIPropertyStore object at 0x01F40B94>((IID('{9F4C2855-9F79-4B39-A8D0-E1D42DE1D5F3}'), 5),
<PyPROPVARIANT object at 0x0470F078>)
2015-10-30 14:11:14,190 after_window_state_updated()
2015-10-30 14:11:14,190 fixup_window_style() unchanged style 0x16cf0000 on window 0x3c010c
2015-10-30 14:11:14,237 after_window_state_updated()
2015-10-30 14:11:14,237 fixup_window_style() unchanged style 0x16cf0000 on window 0x610b36
2015-10-30 14:11:14,253 after_window_state_updated()
2015-10-30 14:11:14,269 fixup_window_style() unchanged style 0x16cf0000 on window 0xad0882
2015-10-30 14:11:14,269 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-30 14:11:14,269 WM_WINDOWPOSCHANGING: 0 / 1635832
2015-10-30 14:11:14,285 callbacks for event WM_GETMINMAXINFO: None
2015-10-30 14:11:14,285 WM_GETMINMAXINFO: 0 / 1633728
2015-10-30 14:11:14,285 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,285 WM_WININICHANGE: 24 / 582872
2015-10-30 14:11:14,315 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-30 14:11:14,315 WM_WINDOWPOSCHANGING: 0 / 1635832
2015-10-30 14:11:14,315 callbacks for event WM_GETMINMAXINFO: None
2015-10-30 14:11:14,315 WM_GETMINMAXINFO: 0 / 1633728
2015-10-30 14:11:14,315 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,332 WM_WININICHANGE: 47 / 0
2015-10-30 14:11:14,339 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,341 WM_WININICHANGE: 47 / 0
2015-10-30 14:11:14,344 on_getminmaxinfo(11339906, 36, 0, 1633064) max_size=(4096, 4096), frame=8x8, minmaxinfo size=4112x4135
2015-10-30 14:11:14,346 on_getminmaxinfo(6359862, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:14,351 on_getminmaxinfo(3932428, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:14,352 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-30 14:11:14,354 WM_WINDOWPOSCHANGING: 0 / 1635832
2015-10-30 14:11:14,365 callbacks for event WM_GETMINMAXINFO: None
2015-10-30 14:11:14,368 WM_GETMINMAXINFO: 0 / 1633728
2015-10-30 14:11:14,385 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,385 WM_WININICHANGE: 47 / 0
2015-10-30 14:11:14,385 on_getminmaxinfo(11339906, 36, 0, 1633064) max_size=(4096, 4096), frame=8x8, minmaxinfo size=4112x4135
2015-10-30 14:11:14,385 on_getminmaxinfo(6359862, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:14,401 on_getminmaxinfo(3932428, 36, 0, 1633064) max_size=(4093, 4086), frame=8x8, minmaxinfo size=4109x4125
2015-10-30 14:11:14,401 callbacks for event WM_WINDOWPOSCHANGING: None
2015-10-30 14:11:14,417 WM_WINDOWPOSCHANGING: 0 / 1635832
2015-10-30 14:11:14,417 callbacks for event WM_GETMINMAXINFO: None
2015-10-30 14:11:14,417 WM_GETMINMAXINFO: 0 / 1633728
2015-10-30 14:11:14,433 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,433 WM_WININICHANGE: 47 / 0
2015-10-30 14:11:14,448 callbacks for event WM_WININICHANGE: None
2015-10-30 14:11:14,448 WM_WININICHANGE: 24 / 582872
2015-10-30 14:11:14,871 callbacks for event WM_DEVICECHANGE: None
2015-10-30 14:11:14,871 WM_DEVICECHANGE: 7 / 0
2015-10-30 14:11:14,871 callbacks for event WM_DEVICECHANGE: None
2015-10-30 14:11:14,871 WM_DEVICECHANGE: 7 / 0
2015-10-30 14:11:15,105 callbacks for event WM_DEVICECHANGE: None
2015-10-30 14:11:15,121 WM_DEVICECHANGE: 7 / 0
2015-10-30 14:11:30,920 callbacks for event WM_ACTIVATEAPP: [<bound method ClientExtras.activateapp of <xpra.platform.win32.gui.ClientExtras object at 0x0489F710>>]
2015-10-30 14:11:30,920 WM_ACTIVATEAPP: 0/1604 client=gtk2.client
2015-10-30 14:11:30,920 fixup_window_style() unchanged style 0x16cf0000 on window 0x3c010c
2015-10-30 14:11:30,920 fixup_window_style() unchanged style 0x16cf0000 on window 0x610b36
2015-10-30 14:11:30,920 fixup_window_style() unchanged style 0x16cf0000 on window 0xad0882

I'll attach the screenshot to show the displays' desktops as well as a screenshot of the display layout (the display on the left in the screenshot is the one on the left in the layout screenshot, i.e. display 2... and the one on the right is the primary as indicated by the strange icon in the layout screenshot).


Fri, 30 Oct 2015 22:18:40 GMT - alas: attachment set

screenshot of entire two display desktop, left is secondary monitor (#2)


Fri, 30 Oct 2015 22:20:56 GMT - alas: attachment set

control panel's notion of layout, left is left in screenshot, right is primary


Mon, 02 Nov 2015 07:00:36 GMT - Antoine Martin:

The secret to repro isn't a 4K monitor, it's the need to connect to the xpra session with a primary monitor disconnected - and after the xpra session has been started, then you have to connect the primary monitor. (Yes, you read that correctly, at this point, as long as a user isn't disconnecting & reconnecting a designated primary monitor on a windows client system, I can't find any repro for this bug.)


Still no problem here with win7. Maybe this issue is Windows 8 / 8.1 specific? r11106 makes some minor improvements to the debug output.

Please see comment:22


The only events we see after re-initializing the windows are:


Mon, 02 Nov 2015 07:29:56 GMT - Antoine Martin: owner, status changed

Spoke too soon, I can reproduce it now if the primary monitor starts disconnected and configured to appear on the right of the other monitor only. (which was mentioned previously in this ticket, but not in the steps given in comment:23)



Mon, 02 Nov 2015 10:20:26 GMT - Antoine Martin: attachment set

prevents windows from being moved off-screen


Mon, 02 Nov 2015 11:43:29 GMT - Antoine Martin: owner, status changed

What seems be happening here is that the window is moved to its new location (shifted to the right as the new monitor is inserted to the left) before we have had a chance to update the virtual display's size. (which takes a while, and we delay it a little bit more to ensure we only do it only once, as various things get updated in turns, all triggering a new message).

The window ends up being off-screen and moving it back on-screen later is not enough to make it interactive again - maybe something gets wedged in GTK?

r11114 fixes that for trunk (r11115 should not be strictly necessary) by clamping the window to the maximum size of the root window (the current size of the virtual display). Backported to v0.15.x in r11116. (may backport to v0.14.x later)

A more elegant solution would be to delay all window configuration events until we know that the server's virtual screen is up to date, but this would be much harder to implement.

@afarr: please test both branches and let me know if you can still break it.


Tue, 03 Nov 2015 02:59:40 GMT - alas:

Tested with 0.16.0 r11118, against a fedora 21 0.16.0 r11118, and it worked despite my best efforts (to be fair, the doubtful cases have become rather narrow).

Will have to bother mr. smo for a 0.15 client...


Wed, 04 Nov 2015 00:08:21 GMT - alas:

Hmm.. tested with windows 0.15.8 r11122 against 0.15.8 r11099 fedora 21 server... and alas, the fix didn't take.

Disconnected my primary display, started the session, connected the primary display. Neither a gedit nor a chromium window started from an xterm before the connection of the primary display, nor any started after the connection was at all responsive to mouse clicks. I couldn't resize or move or even minimize in an attempt to make the window responsive.

The 0.15.8 r11122 osx client does work as expected/hoped though - even when disconnecting the display that the menu bar is assigned to (apparently the osx equivalent to setting a "primary" display).


Digging in with the windows 0.15.8 client a bit...

Sounds like you can repro... but I've run out of ideas of things to try to speed process further for you with the 0.15.8 ...


Wed, 04 Nov 2015 04:07:43 GMT - Antoine Martin:

Hmm.. tested with windows 0.15.8 r11122 against 0.15.8 r11099 fedora 21 server... and alas, the fix didn't take.


As per comment:26, the fix is in r11116, server-side. (you can figure out that the change is server side by following the link to the changeset and looking at the name of the file(s) changed, that's often enough to figure it out)


Wed, 04 Nov 2015 18:06:28 GMT - alas: status changed; resolution set

Yes... good point about the versions. Had a hiccup in my auto-build process and didn't spot my versioning had failed me.

Apologies.

Sorted it out, and with that same 0.15.8 r11122 windows client against a more reasonable 0.15.8 r11145 fedora 21 server - all worked as expected/hoped.

I think we're out of corner cases.

I'll close this for now... though if you decide to backport to 0.14.x then I suppose a quick re-opening will be called for.


Tue, 13 Sep 2016 15:20:31 GMT - Antoine Martin:

Somewhat related:


Sat, 23 Jan 2021 05:11:30 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/980