After launching xpra, minimize it and try to restore the window by clicking on the Xpra icon from Docs. It does not restore it as it is expected to. When tried with a local browser, it works as it is supposed to.
Xpra version: 15.4 OS: Client-Mac OSX 10.10.4 and Server: Fedora 21 Revision: Client-10209
Please provide more details. See wiki/ReportingBugs
With the following versions,
Client----0.16.0----r10655----OSX 10.10.3 Server---0.16.0----r10656----Fedora 21
I launched xpra with -d window
on both client and server sides. Below is the output for each ----
NOTE: I had one child xterm and one google chrome browser window during the session In all the below mentioned cases, the client side gave no logs.
2015-09-17 13:36:23,483 Giving focus to %#x 2015-09-17 13:36:23,486 ... using XSetInputFocus 2015-09-17 13:36:23,488 focus_in_event(<X11:FocusIn {'delivered_to': '0xa00022', 'send_event': 0, 'detail': 3, 'window': '0xa00022', 'mode': 0, 'serial': '0x29c0', 'type': 9, 'display': ':13'}>) mode=NotifyNormal, detail=NotifyNonlinear 2015-09-17 13:36:23,490 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:36:23,490 damage(<WindowModel object at 0x7fe0ec157dc0 (xpra+x11+gtk2+models+window+WindowModel at 0x1e54060)>, 203, 301, 6, 13, {}) 2015-09-17 13:36:23,491 update_quality() info={'backlog_factor': 100, 'latency_factor': 2016, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:36:23,491 damage(203, 301, 6, 13, {}) wid=1, sending now with sequence 306 2015-09-17 13:36:23,492 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 157684, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 5, 'decoding_latency.factor': 25, 'min_speed': 0, 'damage_latency.avg': 5, 'damage_latency.ref': 35}, speed=34 2015-09-17 13:36:23,493 update_encoding_options(False) want_alpha=False, lossless threshold: 81 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(1 : (499, 316))> 2015-09-17 13:36:23,494 process_damage_regions: wid=1, adding pixel data to encode queue (6x13 - rgb24), elapsed time: 3.6 ms, request time: 1.0 ms 2015-09-17 13:36:23,494 make_data_packet: image=XShmImageWrapper(BGRX: 203, 301, 6, 13), damage data: (1, 203, 301, 6, 13, 'rgb24') 2015-09-17 13:36:23,495 rgb_encode using level=1, lz4 compressed 6x13 in rgb24/BGRX: 312 bytes down to 16 2015-09-17 13:36:23,495 compress: 0.4ms for 6x13 pixels for wid=1 using rgb24 with ratio 5.1% ( 0KB to 0KB), client_options={'lz4': 1, 'rgb_format': 'BGRX'} 2015-09-17 13:36:23,495 free_image_wrapper(XShmImageWrapper(BGRX: 203, 301, 6, 13)) thread_safe=0 2015-09-17 13:36:23,496 auto refresh: rgb24 screen update (quality=100), nothing to do (region=rectangle[203, 301, 6, 13], refresh regions=[]) 2015-09-17 13:36:23,498 packet decoding sequence 306 for window 1: 6x13 took 0.5ms 2015-09-17 13:36:24,490 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:36:24,491 update_quality() info={'backlog_factor': 100, 'latency_factor': 4610, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:36:24,492 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 157684, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 4, 'decoding_latency.factor': 25, 'min_speed': 0, 'damage_latency.avg': 4, 'damage_latency.ref': 35}, speed=34 2015-09-17 13:36:24,493 update_encoding_options(False) want_alpha=False, lossless threshold: 81 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(1 : (499, 316))>
2015-09-17 13:38:15,531 Giving focus to %#x 2015-09-17 13:38:15,531 ... using XSetInputFocus 2015-09-17 13:38:15,536 WindowModel.do_xpra_configure_event(<X11:ConfigureNotify {'delivered_to': '0x400038', 'send_event': 0, 'height': 495, 'width': 587, 'window': '0x400038', 'above': 4194350L, 'y': 216, 'x': 1018, 'serial': '0x2b0b', 'border_width': 0, 'type': 22, 'display': ':13'}>) corral=0x400038, client=0xe00001, managed=True 2015-09-17 13:38:15,537 WindowModel.do_xpra_configure_event: event is not on the client window 2015-09-17 13:38:15,537 invalidating named pixmap 2015-09-17 13:38:15,543 focus_in_event(<X11:FocusIn {'delivered_to': '0xe00001', 'send_event': 0, 'detail': 3, 'window': '0xe00001', 'mode': 0, 'serial': '0x2b0d', 'type': 9, 'display': ':13'}>) mode=NotifyNormal, detail=NotifyNonlinear 2015-09-17 13:38:15,554 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:38:15,554 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 0, 587, 111, {}) 2015-09-17 13:38:15,554 update_quality() info={'backlog_factor': 100, 'latency_factor': 1940, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:38:15,555 damage(0, 0, 587, 111, {}) wid=2, scheduling batching expiry for sequence 213 in 0.0 ms 2015-09-17 13:38:15,555 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 3, 'mpixels': 0, 'low_limit': 290565, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 16, 'decoding_latency.factor': 17, 'min_speed': 0, 'damage_latency.avg': 19, 'damage_latency.ref': 35}, speed=17 2015-09-17 13:38:15,556 update_encoding_options(False) want_alpha=False, lossless threshold: 78 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(2 : (587, 495))> 2015-09-17 13:38:15,556 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 111, 587, 111, {}) 2015-09-17 13:38:15,557 damage(0, 111, 587, 111, {}) wid=2, using existing delayed h264 regions created 0.0ms ago 2015-09-17 13:38:15,557 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 222, 587, 111, {}) 2015-09-17 13:38:15,557 damage(0, 222, 587, 111, {}) wid=2, using existing delayed h264 regions created 0.0ms ago 2015-09-17 13:38:15,558 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 333, 587, 111, {}) 2015-09-17 13:38:15,558 damage(0, 333, 587, 111, {}) wid=2, using existing delayed h264 regions created 0.0ms ago 2015-09-17 13:38:15,559 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 444, 587, 51, {}) 2015-09-17 13:38:15,559 damage(0, 444, 587, 51, {}) wid=2, using existing delayed h264 regions created 0.0ms ago 2015-09-17 13:38:15,560 send_delayed for wid 2, batch delay is 0, elapsed time is 7 ms 2015-09-17 13:38:15,561 send_delayed_regions: bytes_cost=295685, bytes_threshold=174339, pixel_count=290565 2015-09-17 13:38:15,561 send_delayed_regions: using full window update 587x495 with png 2015-09-17 13:38:15,561 refreshing named pixmap 2015-09-17 13:38:15,564 process_damage_regions: wid=2, adding pixel data to encode queue (587x495 - png), elapsed time: 12.0 ms, request time: 2.5 ms 2015-09-17 13:38:15,564 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 587, 495), damage data: (2, 0, 0, 587, 495, 'png') 2015-09-17 13:38:15,570 client configured window 2 - <WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, at: (1018, 216, 587, 495) 2015-09-17 13:38:15,571 Property changed on 0xe00001: _NET_WM_USER_TIME 2015-09-17 13:38:15,591 compress: 26.2ms for 587x495 pixels for wid=2 using png with ratio 3.5% ( 1135KB to 39KB), client_options={'compress_level': 4} 2015-09-17 13:38:15,591 free_image_wrapper(XShmImageWrapper(BGRX: 0, 0, 587, 495)) thread_safe=0 2015-09-17 13:38:15,592 auto refresh: png screen update (quality=100), nothing to do (region=rectangle[0, 0, 587, 495], refresh regions=[]) 2015-09-17 13:38:15,603 packet decoding sequence 213 for window 2: 587x495 took 9.5ms 2015-09-17 13:38:15,724 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 254, 85, 318, 206, {}) 2015-09-17 13:38:15,724 damage(254, 85, 318, 206, {}) wid=2, sending now with sequence 214 2015-09-17 13:38:15,725 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 254, 291, 318, 50, {}) 2015-09-17 13:38:15,725 damage(254, 291, 318, 50, {}) wid=2, sending now with sequence 214 2015-09-17 13:38:15,726 process_damage_regions: wid=2, adding pixel data to encode queue (318x206 - webp), elapsed time: 2.2 ms, request time: 0.5 ms 2015-09-17 13:38:15,726 process_damage_regions: wid=2, adding pixel data to encode queue (318x50 - png), elapsed time: 1.8 ms, request time: 0.5 ms
2015-09-17 13:46:35,773 Giving focus to %#x 2015-09-17 13:46:35,775 ... using XSetInputFocus 2015-09-17 13:46:35,777 focus_in_event(<X11:FocusIn {'delivered_to': '0xe00001', 'send_event': 0, 'detail': 3, 'window': '0xe00001', 'mode': 0, 'serial': '0x39da', 'type': 9, 'display': ':13'}>) mode=NotifyNormal, detail=NotifyNonlinear 2015-09-17 13:46:35,798 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 0, 587, 111, {}) 2015-09-17 13:46:35,799 damage(0, 0, 587, 111, {}) wid=2, sending now with sequence 482 2015-09-17 13:46:35,802 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:46:35,803 update_quality() info={'backlog_factor': 100, 'latency_factor': 1821, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:46:35,804 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 290565, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 54, 'decoding_latency.factor': 59, 'min_speed': 0, 'damage_latency.avg': 33, 'damage_latency.ref': 35}, speed=56 2015-09-17 13:46:35,804 update_encoding_options(False) want_alpha=False, lossless threshold: 86 / 20, small_as_rgb=24330, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(2 : (587, 495))> 2015-09-17 13:46:35,805 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 111, 587, 111, {}) 2015-09-17 13:46:35,810 damage(0, 111, 587, 111, {}) wid=2, sending now with sequence 482 2015-09-17 13:46:35,811 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 222, 587, 111, {}) 2015-09-17 13:46:35,811 damage(0, 222, 587, 111, {}) wid=2, sending now with sequence 482 2015-09-17 13:46:35,811 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 333, 587, 111, {}) 2015-09-17 13:46:35,812 damage(0, 333, 587, 111, {}) wid=2, sending now with sequence 482 2015-09-17 13:46:35,812 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 444, 587, 51, {}) 2015-09-17 13:46:35,812 damage(0, 444, 587, 51, {}) wid=2, sending now with sequence 482 2015-09-17 13:46:35,813 process_damage_regions: wid=2, adding pixel data to encode queue (587x111 - webp), elapsed time: 15.5 ms, request time: 0.9 ms 2015-09-17 13:46:35,814 process_damage_regions: wid=2, adding pixel data to encode queue (587x111 - webp), elapsed time: 9.5 ms, request time: 0.2 ms 2015-09-17 13:46:35,815 process_damage_regions: wid=2, adding pixel data to encode queue (587x111 - webp), elapsed time: 4.2 ms, request time: 0.3 ms 2015-09-17 13:46:35,815 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 587, 111), damage data: (2, 0, 0, 587, 111, 'webp') 2015-09-17 13:46:35,816 process_damage_regions: wid=2, adding pixel data to encode queue (587x111 - webp), elapsed time: 4.6 ms, request time: 0.3 ms 2015-09-17 13:46:35,817 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 0, 587, 111) from BGRX to RGB using PIL 2015-09-17 13:46:35,817 process_damage_regions: wid=2, adding pixel data to encode queue (587x51 - webp), elapsed time: 5.1 ms, request time: 0.2 ms 2015-09-17 13:46:35,818 rgb_reformat(XShmImageWrapper(RGB: 0, 0, 587, 111), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (260628 bytes) to RGB (195471 bytes) in 2.1ms, rowstride=1761 2015-09-17 13:46:35,819 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,831 compress: 14.8ms for 587x111 pixels for wid=2 using webp with ratio 5.0% ( 254KB to 12KB), client_options={'quality': 99} 2015-09-17 13:46:35,831 free_image_wrapper(XShmImageWrapper(RGB: 0, 0, 587, 111)) thread_safe=0 2015-09-17 13:46:35,832 auto refresh: webp screen update (quality= 99), scheduling refresh in 118ms (pct=22, batch=0) (region=rectangle[0, 0, 587, 111], refresh regions=[R(0, 0, 587, 111)]) 2015-09-17 13:46:35,832 make_data_packet: image=XShmImageWrapper(BGRX: 0, 111, 587, 111), damage data: (2, 0, 111, 587, 111, 'webp') 2015-09-17 13:46:35,832 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 111, 587, 111) from BGRX to RGB using PIL 2015-09-17 13:46:35,833 rgb_reformat(XShmImageWrapper(RGB: 0, 111, 587, 111), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (260628 bytes) to RGB (195471 bytes) in 0.5ms, rowstride=1761 2015-09-17 13:46:35,833 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,838 compress: 6.1ms for 587x111 pixels for wid=2 using webp with ratio 0.5% ( 254KB to 1KB), client_options={'quality': 99} 2015-09-17 13:46:35,839 free_image_wrapper(XShmImageWrapper(RGB: 0, 111, 587, 111)) thread_safe=0 2015-09-17 13:46:35,839 packet decoding sequence 482 for window 2: 587x111 took 6.0ms 2015-09-17 13:46:35,839 auto refresh: webp screen update (quality= 99), re-scheduling refresh (due in 110ms, 0ms added - sched_delay=51, pct=22, batch=0) (region=rectangle[0, 111, 587, 111], refresh regions=[R(0, 0, 587, 111), R(0, 111, 587, 111)]) 2015-09-17 13:46:35,840 make_data_packet: image=XShmImageWrapper(BGRX: 0, 222, 587, 111), damage data: (2, 0, 222, 587, 111, 'webp') 2015-09-17 13:46:35,840 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 222, 587, 111) from BGRX to RGB using PIL 2015-09-17 13:46:35,840 rgb_reformat(XShmImageWrapper(RGB: 0, 222, 587, 111), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (260628 bytes) to RGB (195471 bytes) in 0.5ms, rowstride=1761 2015-09-17 13:46:35,840 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,850 compress: 9.9ms for 587x111 pixels for wid=2 using webp with ratio 3.7% ( 254KB to 9KB), client_options={'quality': 99} 2015-09-17 13:46:35,850 packet decoding sequence 483 for window 2: 587x111 took 3.3ms 2015-09-17 13:46:35,851 free_image_wrapper(XShmImageWrapper(RGB: 0, 222, 587, 111)) thread_safe=0 2015-09-17 13:46:35,851 auto refresh: webp screen update (quality= 99), re-scheduling refresh (due in 98ms, 0ms added - sched_delay=51, pct=22, batch=0) (region=rectangle[0, 222, 587, 111], refresh regions=[R(0, 0, 587, 111), R(0, 111, 587, 111), R(0, 222, 587, 111)]) 2015-09-17 13:46:35,852 make_data_packet: image=XShmImageWrapper(BGRX: 0, 333, 587, 111), damage data: (2, 0, 333, 587, 111, 'webp') 2015-09-17 13:46:35,852 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 333, 587, 111) from BGRX to RGB using PIL 2015-09-17 13:46:35,853 rgb_reformat(XShmImageWrapper(RGB: 0, 333, 587, 111), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (260628 bytes) to RGB (195471 bytes) in 0.7ms, rowstride=1761 2015-09-17 13:46:35,853 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,859 compress: 7.3ms for 587x111 pixels for wid=2 using webp with ratio 1.0% ( 254KB to 2KB), client_options={'quality': 99} 2015-09-17 13:46:35,859 packet decoding sequence 484 for window 2: 587x111 took 4.7ms 2015-09-17 13:46:35,860 free_image_wrapper(XShmImageWrapper(RGB: 0, 333, 587, 111)) thread_safe=0 2015-09-17 13:46:35,860 auto refresh: webp screen update (quality= 99), re-scheduling refresh (due in 89ms, 0ms added - sched_delay=51, pct=22, batch=0) (region=rectangle[0, 333, 587, 111], refresh regions=[R(0, 0, 587, 111), R(0, 111, 587, 111), R(0, 222, 587, 111), R(0, 333, 587, 111)]) 2015-09-17 13:46:35,860 make_data_packet: image=XShmImageWrapper(BGRX: 0, 444, 587, 51), damage data: (2, 0, 444, 587, 51, 'webp') 2015-09-17 13:46:35,861 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 444, 587, 51) from BGRX to RGB using PIL 2015-09-17 13:46:35,861 rgb_reformat(XShmImageWrapper(RGB: 0, 444, 587, 51), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (119748 bytes) to RGB (89811 bytes) in 0.4ms, rowstride=1761 2015-09-17 13:46:35,861 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,865 compress: 4.5ms for 587x51 pixels for wid=2 using webp with ratio 1.9% ( 116KB to 2KB), client_options={'quality': 99} 2015-09-17 13:46:35,865 free_image_wrapper(XShmImageWrapper(RGB: 0, 444, 587, 51)) thread_safe=0 2015-09-17 13:46:35,866 packet decoding sequence 485 for window 2: 587x111 took 3.6ms 2015-09-17 13:46:35,867 auto refresh: webp screen update (quality= 99), re-scheduling refresh (due in 83ms, 0ms added - sched_delay=39, pct=10, batch=0) (region=rectangle[0, 444, 587, 51], refresh regions=[R(0, 0, 587, 111), R(0, 111, 587, 111), R(0, 222, 587, 111), R(0, 333, 587, 111), R(0, 444, 587, 51)]) 2015-09-17 13:46:35,870 packet decoding sequence 486 for window 2: 587x51 took 2.3ms 2015-09-17 13:46:35,950 timer_full_refresh() after 118ms, regions=[R(0, 0, 587, 111), R(0, 111, 587, 111), R(0, 222, 587, 111), R(0, 333, 587, 111), R(0, 444, 587, 51)] 2015-09-17 13:46:35,951 timer_full_refresh() size=(587, 495), encoding=webp, best=webp, auto_refresh_encodings=['webp', 'jpeg', 'rgb24', 'png', 'rgb32'], refresh_encodings=['webp', 'jpeg', 'rgb24', 'png', 'rgb32'], options={'speed': 50, 'quality': 100, 'optimize': False, 'auto_refresh': True} 2015-09-17 13:46:35,952 send_delayed_regions: bytes_cost=295685, bytes_threshold=174339, pixel_count=290565 2015-09-17 13:46:35,952 send_delayed_regions: using full window update 587x495 with webp 2015-09-17 13:46:35,953 process_damage_regions: wid=2, adding pixel data to encode queue (587x495 - webp), elapsed time: 2.9 ms, request time: 0.4 ms 2015-09-17 13:46:35,954 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 587, 495), damage data: (2, 0, 0, 587, 495, 'webp') 2015-09-17 13:46:35,955 rgb_reformat: converting XShmImageWrapper(BGRX: 0, 0, 587, 495) from BGRX to RGB using PIL 2015-09-17 13:46:35,957 rgb_reformat(XShmImageWrapper(RGB: 0, 0, 587, 495), ['RGB', 'RGBX', 'RGBA'], True) converted from BGRX (1162260 bytes) to RGB (871695 bytes) in 3.6ms, rowstride=1761 2015-09-17 13:46:35,958 using PIL fallback for webp: enc_webp=<module 'xpra.codecs.webp.encode' from '/usr/lib64/python2.7/site-packages/xpra/codecs/webp/encode.so'>, stride=1761, pixel format=RGB 2015-09-17 13:46:35,991 compress: 37.6ms for 587x495 pixels for wid=2 using webp with ratio 2.4% ( 1135KB to 27KB), client_options={'quality': 99} 2015-09-17 13:46:35,992 free_image_wrapper(XShmImageWrapper(RGB: 0, 0, 587, 495)) thread_safe=0 2015-09-17 13:46:35,993 auto-refresh webp packet sent 2015-09-17 13:46:36,013 packet decoding sequence 487 for window 2: 587x495 took 18.7ms 2015-09-17 13:46:36,806 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:46:36,807 update_quality() info={'backlog_factor': 100, 'latency_factor': 2752, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:46:36,808 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 290565, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 55, 'decoding_latency.factor': 53, 'min_speed': 0, 'damage_latency.avg': 34, 'damage_latency.ref': 35}, speed=54 2015-09-17 13:46:36,809 update_encoding_options(False) want_alpha=False, lossless threshold: 85 / 20, small_as_rgb=16220, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(2 : (587, 495))>
2015-09-17 13:48:51,554 cancel_damage() wid=1, dropping delayed region None, 0 queued encodes, and all sequences up to 395 2015-09-17 13:48:51,557 cancel_damage() wid=2, dropping delayed region None, 0 queued encodes, and all sequences up to 565 2015-09-17 13:48:51,559 cancel_damage() wid=1, dropping delayed region None, 0 queued encodes, and all sequences up to 395 2015-09-17 13:48:51,560 damage(<WindowModel object at 0x7fe0ec157dc0 (xpra+x11+gtk2+models+window+WindowModel at 0x1e54060)>, 0, 0, 499, 316, {'quality': 100}) 2015-09-17 13:48:51,561 damage(0, 0, 499, 316, {'quality': 100}) wid=1, sending now with sequence 395 2015-09-17 13:48:51,562 get_default_window_icon() using ('xterm', 'XTerm') 2015-09-17 13:48:51,563 <gtk.IconTheme object at 0x7fe0dc1d0e60 (GtkIconTheme at 0x1f9e060)>.lookup_icon(xterm)=None 2015-09-17 13:48:51,564 cancel_damage() wid=2, dropping delayed region None, 0 queued encodes, and all sequences up to 565 2015-09-17 13:48:51,564 damage(<WindowModel object at 0x7fe0dc201640 (xpra+x11+gtk2+models+window+WindowModel at 0x1fb9a40)>, 0, 0, 587, 495, {'quality': 100}) 2015-09-17 13:48:51,564 damage(0, 0, 587, 495, {'quality': 100}) wid=2, sending now with sequence 565 2015-09-17 13:48:51,569 process_damage_regions: wid=1, adding pixel data to encode queue (499x316 - png), elapsed time: 8.4 ms, request time: 2.3 ms 2015-09-17 13:48:51,570 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 499, 316), damage data: (1, 0, 0, 499, 316, 'png') 2015-09-17 13:48:51,577 process_damage_regions: wid=2, adding pixel data to encode queue (587x495 - png), elapsed time: 13.4 ms, request time: 3.0 ms 2015-09-17 13:48:51,590 compress: 19.0ms for 499x316 pixels for wid=1 using png with ratio 2.4% ( 615KB to 14KB), client_options={'compress_level': 3} 2015-09-17 13:48:51,590 free_image_wrapper(XShmImageWrapper(BGRX: 0, 0, 499, 316)) thread_safe=0 2015-09-17 13:48:51,591 auto refresh: png screen update (quality=100), nothing to do (region=rectangle[0, 0, 499, 316], refresh regions=[]) 2015-09-17 13:48:51,591 make_data_packet: image=XShmImageWrapper(BGRX: 0, 0, 587, 495), damage data: (2, 0, 0, 587, 495, 'png') 2015-09-17 13:48:51,599 packet decoding sequence 395 for window 1: 499x316 took 6.2ms 2015-09-17 13:48:51,600 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:48:51,601 update_quality() info={'backlog_factor': 100, 'latency_factor': 9233, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:48:51,601 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 0, 'frame_delay': 0, 'mpixels': 0, 'low_limit': 157684, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 23, 'decoding_latency.factor': 31, 'min_speed': 0, 'damage_latency.avg': 21, 'damage_latency.ref': 35}, speed=32 2015-09-17 13:48:51,601 update_encoding_options(False) want_alpha=False, lossless threshold: 81 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(1 : (499, 316))> 2015-09-17 13:48:51,615 compress: 23.6ms for 587x495 pixels for wid=2 using png with ratio 3.8% ( 1135KB to 43KB), client_options={'compress_level': 3} 2015-09-17 13:48:51,615 free_image_wrapper(XShmImageWrapper(BGRX: 0, 0, 587, 495)) thread_safe=0 2015-09-17 13:48:51,615 auto refresh: png screen update (quality=100), nothing to do (region=rectangle[0, 0, 587, 495], refresh regions=[]) 2015-09-17 13:48:51,626 packet decoding sequence 565 for window 2: 587x495 took 9.2ms 2015-09-17 13:48:52,602 update_quality() suspended=False, mmap=None, encoding=h264 2015-09-17 13:48:52,603 update_quality() info={'backlog_factor': 100, 'latency_factor': 8687, 'min_quality': 30, 'batch_factor': 102}, quality=99 2015-09-17 13:48:52,603 update_speed() info={'damage_latency.target': 35, 'damage_latency.abs_factor': 1, 'frame_delay': 1, 'mpixels': 0, 'low_limit': 290565, 'decoding_latency.target': 8000000, 'damage_latency.rel_factor': 51, 'decoding_latency.factor': 25, 'min_speed': 0, 'damage_latency.avg': 37, 'damage_latency.ref': 35}, speed=50 2015-09-17 13:48:52,603 update_encoding_options(False) want_alpha=False, lossless threshold: 85 / 20, small_as_rgb=5068, get_best_encoding=<bound method WindowVideoSource.get_best_encoding_video of WindowVideoSource(2 : (587, 495))>
Attached the information gathered from ----> xpra info :13 | grep window
-----> ticket965_grep_window_info.txt
and
Attached the information gathered during the entire session -----> ticket965_window_info.txt
Please let me know if there is any other debugging flag that I could make use of. Will be happy to provide you the info.
try to use the NSApplicationDidBecomeActive signal to restore the windows
In all the below mentioned cases, the client side gave no logs.
That's impossible, you must be doing something wrong. Please ask afarr to help.
The patch above attempts to use the NSApplicationDidBecomeActive signal to trigger un-minimize. It does sort-of-work, but has an undesirable side effect: "become-active" fires every time we focus one of our windows (not just when we click on the dock) and so we end up restoring the windows too often.
No easy way to fix that since the other signals are not exposed via GtkosxApplication.
Links:
I don't have time for this in this release though. Re-scheduling.
With the above mentioned patch, I tested the issue with -d focus
and this is what I observed----
Case 1 Don't have focus on xpra, and just minimize the xpra windows. Click on xpra icon from the OSX dock. This will restore xpra windows
Client Logs:
2015-09-18 15:51:14,448 UI thread is now blocked 2015-09-18 15:51:14,449 focus-in-event for wid=1 2015-09-18 15:51:14,449 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change((ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:51:14,449 update_focus(1, True) focused=None, grabbed=None 2015-09-18 15:51:14,450 send_focus(1) 2015-09-18 15:51:14,471 UI thread is running again, resuming 2015-09-18 15:51:14,471 focus-out-event for wid=1 2015-09-18 15:51:14,471 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change((ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:51:14,471 update_focus(1, False) focused=1, grabbed=None 2015-09-18 15:51:14,473 focus-in-event for wid=2 2015-09-18 15:51:14,473 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change((ClientWindow(2), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:51:14,473 update_focus(2, True) focused=None, grabbed=None 2015-09-18 15:51:14,474 send_focus(2) 2015-09-18 15:51:14,519 re-starting speaker because of overrun 2015-09-18 15:51:14,519 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change(('initial',)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:51:14,519 update_focus(1, False) focused=2, grabbed=None 2015-09-18 15:51:14,519 window 1 lost a focus it did not have!? (simulating focus before losing it) 2015-09-18 15:51:14,519 send_focus(1) 2015-09-18 15:51:14,520 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change(('initial',)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:51:14,520 update_focus(2, True) focused=None, grabbed=None 2015-09-18 15:51:14,521 send_focus(2) ** Message: pygobject_register_sinkfunc is deprecated (GstObject) 2015-09-18 15:51:17,007 sound-sink using audio codec: MPEG 1 Audio, Layer 3 (MP3) 2015-09-18 15:51:21,870 focus-out-event for wid=2 2015-09-18 15:51:21,871 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change((ClientWindow(2), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:51:21,871 update_focus(2, False) focused=2, grabbed=None 2015-09-18 15:51:21,892 send_focus(0)
Server Logs:
2015-09-18 15:51:14,270 process_focus: wid=1 2015-09-18 15:51:14,271 focus wid=1 has_focus=1 2015-09-18 15:51:14,297 process_focus: wid=2 2015-09-18 15:51:14,298 focus wid=2 has_focus=1 2015-09-18 15:51:14,298 focus: giving focus to <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> 2015-09-18 15:51:14,299 focus: will set modified mask to ('mod2',) 2015-09-18 15:51:14,300 Giving focus to %#x 2015-09-18 15:51:14,300 ... using XSetInputFocus 2015-09-18 15:51:14,341 process_focus: wid=1 2015-09-18 15:51:14,342 focus wid=1 has_focus=2 2015-09-18 15:51:14,342 focus: giving focus to <WindowModel object at 0x7f1f04067e60 (xpra+x11+gtk2+models+window+WindowModel at 0x2259f00)> 2015-09-18 15:51:14,342 focus: will set modified mask to ('mod2',) 2015-09-18 15:51:14,343 process_focus: wid=2 2015-09-18 15:51:14,343 focus wid=2 has_focus=1 2015-09-18 15:51:14,343 focus: giving focus to <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> 2015-09-18 15:51:14,343 focus: will set modified mask to ('mod2',) 2015-09-18 15:51:14,345 Giving focus to %#x 2015-09-18 15:51:14,345 ... using XSetInputFocus 2015-09-18 15:51:14,351 Giving focus to %#x 2015-09-18 15:51:14,351 ... using XSetInputFocus 2015-09-18 15:51:14,607 using pulseaudio device: 2015-09-18 15:51:14,607 'Monitor of Dummy Output' 2015-09-18 15:51:21,712 process_focus: wid=0 2015-09-18 15:51:21,712 focus wid=0 has_focus=2 2015-09-18 15:51:21,713 reset_focus() 2 / <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> had focus (toplevel=WorldWindow(0x40001e)) 2015-09-18 15:51:21,713 reset_x_focus: widget with focus: None 2015-09-18 15:51:21,714 Take Focus -> world window 2015-09-18 15:51:21,715 sending WM_TAKE_FOCUS: 0x40001e, X11 timestamp=612510867L
Attached the relevant info grabbed during the session --- ticket965_restore_without_focus.txt
=========================================================================================================================================================
Case 2
Have the focus on xpra and minimize xpra windows. Click on xpra icon from the OSX dock. This will not restore xpra windows
Client Logs:
2015-09-18 15:54:47,297 focus-in-event for wid=1 2015-09-18 15:54:47,297 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change((ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:54:47,298 update_focus(1, True) focused=None, grabbed=None 2015-09-18 15:54:47,298 send_focus(1) 2015-09-18 15:54:47,328 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change(('initial',)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:54:47,328 update_focus(1, True) focused=1, grabbed=None 2015-09-18 15:54:47,328 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change(('initial',)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:54:47,329 update_focus(2, False) focused=1, grabbed=None 2015-09-18 15:54:47,329 window 2 lost a focus it did not have!? (simulating focus before losing it) 2015-09-18 15:54:47,329 send_focus(2) 2015-09-18 15:54:47,350 send_focus(0) 2015-09-18 15:54:50,797 focus-out-event for wid=1 2015-09-18 15:54:50,798 GLClientWindow(1 : gtk2.GLWindowBacking(1, (499, 316), None)) focus_change((ClientWindow(1), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:54:50,798 update_focus(1, False) focused=None, grabbed=None 2015-09-18 15:54:50,811 focus-in-event for wid=2 2015-09-18 15:54:50,811 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change((ClientWindow(2), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=True, _been_mapped=True 2015-09-18 15:54:50,812 update_focus(2, True) focused=None, grabbed=None 2015-09-18 15:54:50,812 send_focus(2) 2015-09-18 15:54:53,445 focus-out-event for wid=2 2015-09-18 15:54:53,446 GLClientWindow(2 : gtk2.GLWindowBacking(2, (590, 362), YUV444P)) focus_change((ClientWindow(2), <GParamBoolean 'has-toplevel-focus'>)) has-toplevel-focus=False, _been_mapped=True 2015-09-18 15:54:53,446 update_focus(2, False) focused=2, grabbed=None 2015-09-18 15:54:53,478 send_focus(0) 2015-09-18 15:55:02,112 _unfocus() wid=3, focused=None
Server Logs:
Sever —— 2015-09-18 15:54:47,114 process_focus: wid=1 2015-09-18 15:54:47,115 focus wid=1 has_focus=0 2015-09-18 15:54:47,115 focus: giving focus to <WindowModel object at 0x7f1f04067e60 (xpra+x11+gtk2+models+window+WindowModel at 0x2259f00)> 2015-09-18 15:54:47,115 focus: will set modified mask to ('mod2',) 2015-09-18 15:54:47,116 Giving focus to %#x 2015-09-18 15:54:47,117 ... using XSetInputFocus 2015-09-18 15:54:47,142 process_focus: wid=2 2015-09-18 15:54:47,143 focus wid=2 has_focus=1 2015-09-18 15:54:47,143 focus: giving focus to <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> 2015-09-18 15:54:47,143 focus: will set modified mask to ('mod2',) 2015-09-18 15:54:47,144 Giving focus to %#x 2015-09-18 15:54:47,145 ... using XSetInputFocus 2015-09-18 15:54:47,163 process_focus: wid=0 2015-09-18 15:54:47,163 focus wid=0 has_focus=2 2015-09-18 15:54:47,163 reset_focus() 2 / <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> had focus (toplevel=WorldWindow(0x40001e)) 2015-09-18 15:54:47,164 reset_x_focus: widget with focus: None 2015-09-18 15:54:47,164 Take Focus -> world window 2015-09-18 15:54:47,165 sending WM_TAKE_FOCUS: 0x40001e, X11 timestamp=612716316L 2015-09-18 15:54:50,626 process_focus: wid=2 2015-09-18 15:54:50,627 focus wid=2 has_focus=0 2015-09-18 15:54:50,627 focus: giving focus to <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> 2015-09-18 15:54:50,628 focus: will set modified mask to ('mod1', 'mod2') 2015-09-18 15:54:50,631 Giving focus to %#x 2015-09-18 15:54:50,631 ... using XSetInputFocus 2015-09-18 15:54:53,291 process_focus: wid=0 2015-09-18 15:54:53,292 focus wid=0 has_focus=2 2015-09-18 15:54:53,292 reset_focus() 2 / <WindowModel object at 0x7f1efc5214b0 (xpra+x11+gtk2+models+window+WindowModel at 0x22b4660)> had focus (toplevel=WorldWindow(0x40001e)) 2015-09-18 15:54:53,293 reset_x_focus: widget with focus: None 2015-09-18 15:54:53,293 Take Focus -> world window 2015-09-18 15:54:53,294 sending WM_TAKE_FOCUS: 0x40001e, X11 timestamp=612722446L
Attached the relevant info grabbed during the session --- ticket965_restore_focus.txt
Please let me know if there is any other debugging flag I could use to fetch you the logs.
Like I said above, it only sort-of works and I don't have time for this in this release though. Re-scheduling. for 0.17. There are things that are scheduled for 0.16 and are actually ready for testing, this is not one of them.
Asked the gtk-osx user mailing list: https://mail.gnome.org/archives/gtk-osx-users-list/2016-March/msg00024.html.
work in progress patch
This reply https://github.com/quodlibet/quodlibet/blob/master/quodlibet/quodlibet/__init__.py#L678.
The patch above copies that code and adds it to the osx platform gui hooks class.
Still TODO:
Done in r12162, ready for testing. (probably worth double checking #1137, maybe this has helped?)
This could be considered for backports.
Applied to v0.16.x in r12187.
Tested with r12162:
I get the following output from the client (Of course I got it a lot since I clicked....quite a few times to be sure.)
2016-03-24 13:46:26.980 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:33.926 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:34.381 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:34.550 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:34.725 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:37.264 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:37.430 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:37.791 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:37.965 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows' 2016-03-24 13:46:38.126 Xpra[28730:6595163] <type 'exceptions.AttributeError'>: 'XpraClient' object has no attribute 'deiconify_windows'
Also not sure if I should give you anything more specific. Is there an OSX equivalent to -d win32
?
Very odd. Maybe the packaging got messed up.
I've tested and uploaded a new build (no changes in this area..), maybe that will work better for you.
Tested it with the new r12211 Build:
Passing back to you for now.
Closing - this may get backported at some point.
This code was changed a bit, see ticket:1137#comment:2.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/965