Xpra-org / xpra

Persistent remote applications for X11; screen sharing for X11, MacOS and MSWindows.
https://xpra.org/
GNU General Public License v2.0
1.98k stars 169 forks source link

Client tray icons blank when using mmap #4401

Closed Voros-Roka closed 2 weeks ago

Voros-Roka commented 3 weeks ago

Describe the bug When connecting to a xpra server with mmap and vsock the client tray icons reserve space in the tray but the icons themself do not show up.

To Reproduce Steps to reproduce the behavior:

  1. server command: xpra start :0 --uid=1000 --gid=1000 --mdns=no --exit-with-client=no --exit-with-children=no --exit-with-windows=no --daemon=no --mmap=/sys/devices/pci0000:00/0000:00:08.0/resource2_wc --bind-vsock=auto:2000
  2. client command: XPRA_USE_NATIVE_TRAY=0 xpra attach vsock://4:2000 --mmap=/dev/shm/my-ivshmem --border=red,8 --opengl=no --sharing=yes
  3. start any program on the server that should show a tray icon on the client

System Information (please complete the following information):

Additional context The server runs with xdummy inside a qemu vm. LightDM and AwesomeWM are used on both server and client. I compared the version that last worked for me (I think it was 6.0.2.1) with the version that has the missing icons and could track down the error to commit 5e33862 that changed "xpra/client/gui/client_tray.py" and introduced the function "do_paint_rgb" (and later again changed by commit 260efe0). When xpra is using mmap the function argument "encoding" is set to "mmap" but the function errors out when "encoding" is not "rgb" (happens in line 241). The prev version had no such condition and worked without a problem. I changed the condition to not error out when the encoding is "mmap" and the icons get drawn again but it seems multiple times at slight different positions leaving uncleard pixels behind. tray_error I did not investigate further into why they are not drawn right.

totaam commented 3 weeks ago

What is the full error?

totaam commented 3 weeks ago

Changing the encoing check to allow mmap may be enough. If not, then re-using code similar to this function may be needed: https://github.com/Xpra-org/xpra/blob/83822072dec3038ee30f98f61cffcdc2a8fffca1/xpra/opengl/util.py#L46-L61

Voros-Roka commented 3 weeks ago

Like i already wrote, changing https://github.com/Xpra-org/xpra/blob/83822072dec3038ee30f98f61cffcdc2a8fffca1/xpra/client/gui/client_tray.py#L241 to if encoding != "rgb" and encoding != "mmap":

does somewhat work but the drawn icons then look like in the following picture: tray_error

But they should look like this (i only have examples for the last two icons): tray_no_error

I think the relevant log entrys are the following:

Just to be sure here are the full logs:

Log output with error and "-d tray" ``` 0-24 11:50:17,568 debug enabled for ['xpra.platform.posix.gui', 'posix', 'tray'] 2024-10-24 11:50:17,603 debug enabled for ['xpra.client.mixins.windows', 'client', 'tray'] 2024-10-24 11:50:17,615 debug enabled for ['xpra.client.mixins.tray', 'tray'] 2024-10-24 11:50:17,655 Xpra GTK3 X11 client version 6.2.0-r0 2024-10-24 11:50:17,673 running on Linux Artix rolling 2024-10-24 11:50:17,673 cpython 3.12 2024-10-24 11:50:17,674 window manager is 'awesome' 2024-10-24 11:50:17,682 debug enabled for ['xpra.client.gui.client_tray', 'tray'] 2024-10-24 11:50:17,683 window icon overlay: /usr/share/xpra/icons/xpra.png 2024-10-24 11:50:17,811 overlay_image= 2024-10-24 11:50:18,656 GStreamer version 1.24.8 2024-10-24 11:50:18,704 created unix domain sockets: 2024-10-24 11:50:18,704 '/run/user/1000/xpra/clients/Artix-30586' 2024-10-24 11:50:23,414 Error: frame queue timeout after 3000ms 2024-10-24 11:50:23,415 on 'buffer' of size 820 2024-10-24 11:50:23,415 of gstreamer-nvh264dec(YUV420P - 128x128) 2024-10-24 11:50:23,415 version : (5, 0) 2024-10-24 11:50:23,415 frames : 0 2024-10-24 11:50:23,415 width : 128 2024-10-24 11:50:23,415 height : 128 2024-10-24 11:50:23,415 encoding : h264 2024-10-24 11:50:23,415 colorspace : YUV420P 2024-10-24 11:50:23,415 Error on h264 128x128 test YUV420P frame 0 2024-10-24 11:50:23,450 gstreamer: h264 decoding failed: failed to decode test data for encoding 'h264' with colorspace 'YUV420P' 2024-10-24 11:50:23,468 make_tray_menu_helper() tray menu helper classes: (None, ) 2024-10-24 11:50:23,649 Using existing mmap file '/dev/shm/my-ivshmem': 2048MB 2024-10-24 11:50:23,649 Warning: missing valid socket filename 'host' to set mmap group 2024-10-24 11:50:23,650 Using existing mmap file '/dev/shm/my-ivshmem': 2048MB 2024-10-24 11:50:23,650 Warning: missing valid socket filename 'host' to set mmap group 2024-10-24 11:50:23,653 keyboard settings: rules=evdev, model=pc105, layout=us 2024-10-24 11:50:23,807 desktop size is 10880x2400: 2024-10-24 11:50:23,808 :0.0 (1462x321 mm - DPI: 189x190) 2024-10-24 11:50:23,808 SAM DP-4 3840x2160 at 0x0 (632x360 mm - DPI: 154x152) workarea: 3840x2160 2024-10-24 11:50:23,808 SAM DP-2 3840x2160 at 3840x0 (632x360 mm - DPI: 154x152) workarea: 3840x2160 at 3840x0 2024-10-24 11:50:23,809 WAC DP-1 3200x2400 at 7680x0 (432x324 mm - DPI: 188x188) workarea: 3200x2400 at 7680x0 2024-10-24 11:50:24,198 enabled fast mmap transfers using 2GB shared memory area 2024-10-24 11:50:24,198 enabled remote logging 2024-10-24 11:50:24,199 Xpra X11 seamless server version 6.2 2024-10-24 11:50:24,208 setup_xpra_tray() 2024-10-24 11:50:24,245 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:50:24,245 get_native_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:50:24,246 debug enabled for ['xpra.client.gui.tray_base', 'tray'] 2024-10-24 11:50:24,247 tray GUESS_GEOMETRY=False 2024-10-24 11:50:24,248 make_tray(0, , '4:2000', 'xpra', .xpra_tray_geometry at 0x79fb2e912f20>, .xpra_tray_click at 0x79fb2e912ca0>, .xpra_tray_mouseover at 0x79fb2e912de0>, .xpra_tray_exit at 0x79fb2e912e80>) tray classes=[] 2024-10-24 11:50:24,278 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:50:24,279 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:50:24,281 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,281 GTKStatusIconTray.get_geometry() geometry area rectangle=(3268, 2113, 1, 1) 2024-10-24 11:50:24,281 bogus tray icon size: 1x1 2024-10-24 11:50:24,282 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,282 GTKStatusIconTray.get_geometry() geometry area rectangle=(3268, 2113, 1, 1) 2024-10-24 11:50:24,282 set_icon_from_pixbuf() geometry=(3268, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:50:24,283 setup_xpra_tray(xpra)=Tray(0:4:2000) () 2024-10-24 11:50:24,284 .set_visible(True) 2024-10-24 11:50:24,285 Attached to xpra server at vsock://4:2000 2024-10-24 11:50:24,286 (press Control-C to detach) 2024-10-24 11:50:24,300 tray 1 metadata=typedict({'xid': 6291458, 'parent-xid': 2097179, 'client-machine': 'artix-live', 'pid': 3141, 'title': 'udiskie', 'command': '/usr/bin/python /bin/udiskie', 'class-instance': ('udiskie', 'Udiskie'), 'tray': True}) 2024-10-24 11:50:24,301 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:50:24,301 make_system_tray(1, None, 'udiskie', '', .tray_geometry at 0x79fb2e979580>, .tray_click at 0x79fb2e979300>, .tray_mouseover at 0x79fb2e979440>, .tray_exit at 0x79fb2e979620>) system tray classes=[] 2024-10-24 11:50:24,303 setup_system_tray(gtk3.client, 1, 1, 47, 47, 'udiskie') tray_widget=Tray(1:udiskie) 2024-10-24 11:50:24,303 .set_visible(True) 2024-10-24 11:50:24,303 ClientTray(gtk3.client, 1, 47, 47, Tray(1:udiskie), True, ) 2024-10-24 11:50:24,304 process_new_tray(('new-tray', 1, 47, 47, {'xid': 6291458, 'parent-xid': 2097179, 'client-machine': 'artix-live', 'pid': 3141, 'title': 'udiskie', 'command': '/usr/bin/python /bin/udiskie', 'class-instance': ('udiskie', 'Udiskie'), 'tray': True})) tray=ClientTray(1:udiskie) 2024-10-24 11:50:24,304 tray 5 metadata=typedict({'xid': 8388615, 'parent-xid': 2097206, 'client-machine': 'artix-live', 'pid': 3157, 'title': 'connman-gtk', 'command': 'connman-gtk', 'class-instance': ('connman-gtk', 'Connman-gtk'), 'tray': True}) 2024-10-24 11:50:24,304 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:50:24,304 make_system_tray(5, None, 'connman-gtk', '', .tray_geometry at 0x79fb2e979b20>, .tray_click at 0x79fb389d5a80>, .tray_mouseover at 0x79fb2e9799e0>, .tray_exit at 0x79fb2e979bc0>) system tray classes=[] 2024-10-24 11:50:24,306 setup_system_tray(gtk3.client, 5, 5, 47, 47, 'connman-gtk') tray_widget=Tray(5:connman-gtk) 2024-10-24 11:50:24,306 .set_visible(True) 2024-10-24 11:50:24,306 ClientTray(gtk3.client, 5, 47, 47, Tray(5:connman-gtk), True, ) 2024-10-24 11:50:24,306 process_new_tray(('new-tray', 5, 47, 47, {'xid': 8388615, 'parent-xid': 2097206, 'client-machine': 'artix-live', 'pid': 3157, 'title': 'connman-gtk', 'command': 'connman-gtk', 'class-instance': ('connman-gtk', 'Connman-gtk'), 'tray': True})) tray=ClientTray(5:connman-gtk) 2024-10-24 11:50:24,306 tray 22 metadata=typedict({'xid': 10485775, 'parent-xid': 2097665, 'client-machine': 'artix-live', 'pid': 3833, 'title': 'QtPass', 'command': 'qtpass', 'class-instance': ('qtpass', 'QtPass'), 'tray': True}) 2024-10-24 11:50:24,307 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:50:24,307 make_system_tray(22, None, 'QtPass', '', .tray_geometry at 0x79fb2e979e40>, .tray_click at 0x79fb2e910180>, .tray_mouseover at 0x79fb2e979d00>, .tray_exit at 0x79fb2e979ee0>) system tray classes=[] 2024-10-24 11:50:24,308 setup_system_tray(gtk3.client, 22, 22, 47, 47, 'QtPass') tray_widget=Tray(22:QtPass) 2024-10-24 11:50:24,309 .set_visible(True) 2024-10-24 11:50:24,309 ClientTray(gtk3.client, 22, 47, 47, Tray(22:QtPass), True, ) 2024-10-24 11:50:24,309 process_new_tray(('new-tray', 22, 47, 47, {'xid': 10485775, 'parent-xid': 2097665, 'client-machine': 'artix-live', 'pid': 3833, 'title': 'QtPass', 'command': 'qtpass', 'class-instance': ('qtpass', 'QtPass'), 'tray': True})) tray=ClientTray(22:QtPass) 2024-10-24 11:50:24,309 tray 25 metadata=typedict({'xid': 12582918, 'parent-xid': 2097692, 'client-machine': 'artix-live', 'pid': 3843, 'title': 'birdtray', 'command': 'birdtray', 'class-instance': ('birdtray', 'birdtray'), 'tray': True}) 2024-10-24 11:50:24,309 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:50:24,309 make_system_tray(25, None, 'birdtray', '', .tray_geometry at 0x79fb2e97a0c0>, .tray_click at 0x79fb2e910220>, .tray_mouseover at 0x79fb2e979c60>, .tray_exit at 0x79fb2e979f80>) system tray classes=[] 2024-10-24 11:50:24,311 setup_system_tray(gtk3.client, 25, 25, 47, 47, 'birdtray') tray_widget=Tray(25:birdtray) 2024-10-24 11:50:24,311 .set_visible(True) 2024-10-24 11:50:24,311 ClientTray(gtk3.client, 25, 47, 47, Tray(25:birdtray), True, ) 2024-10-24 11:50:24,311 process_new_tray(('new-tray', 25, 47, 47, {'xid': 12582918, 'parent-xid': 2097692, 'client-machine': 'artix-live', 'pid': 3843, 'title': 'birdtray', 'command': 'birdtray', 'class-instance': ('birdtray', 'birdtray'), 'tray': True})) tray=ClientTray(25:birdtray) 2024-10-24 11:50:24,361 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:50:24,362 running, 3 windows, 4 tray 2024-10-24 11:50:24,366 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e946700>]) 2024-10-24 11:50:24,367 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e946160>]) 2024-10-24 11:50:24,373 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e9476a0>]) 2024-10-24 11:50:24,374 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e947e20>]) 2024-10-24 11:50:24,461 set_tray_icon() DYNAMIC_TRAY_ICON=True, tray=Tray(0:4:2000) 2024-10-24 11:50:24,461 set_tray_icon() 3 windows, 3 icons, 2 missing 2024-10-24 11:50:24,461 set_tray_icon() using default icon 2024-10-24 11:50:24,461 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:50:24,461 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:50:24,463 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,463 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:50:24,463 bogus tray icon size: 1x1 2024-10-24 11:50:24,463 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,464 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:50:24,464 set_icon_from_pixbuf() geometry=(3409, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:50:24,465 set_tray_icon() DYNAMIC_TRAY_ICON=True, tray=Tray(0:4:2000) 2024-10-24 11:50:24,466 set_tray_icon() 3 windows, 3 icons, 1 missing 2024-10-24 11:50:24,466 set_tray_icon() using default icon 2024-10-24 11:50:24,466 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:50:24,466 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:50:24,467 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,467 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:50:24,467 bogus tray icon size: 1x1 2024-10-24 11:50:24,468 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,468 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:50:24,468 set_icon_from_pixbuf() geometry=(3409, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:50:24,469 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:50:24,483 audio playback found 1 audio output devices: 2024-10-24 11:50:24,484 audio playback * GP106 High Definition Audio Controller Digital Stereo (HDMI) 2024-10-24 11:50:24,484 audio playback alsa_output.pci-0000_03_00.1.hdmi-stereo 2024-10-24 11:50:24,484 audio playback to select a specific one, 2024-10-24 11:50:24,484 audio playback use the environment variable 'XPRA_PULSE_SINK_DEVICE_NAME' 2024-10-24 11:50:24,484 audio playback using default pulseaudio device 2024-10-24 11:50:24,559 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,560 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 47, 47) 2024-10-24 11:50:24,560 xpra_tray_geometry(, 47) geometry=(3409, 2113, 47, 47) 2024-10-24 11:50:24,560 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,561 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:50:24,561 tray_geometry((, 47)) widget=Tray(1:udiskie), geometry=(3456, 2113, 47, 47) tray=ClientTray(1:udiskie) 2024-10-24 11:50:24,561 ClientTray(1:udiskie).move_resize(3456, 2113, 47, 47) 2024-10-24 11:50:24,561 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,562 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:50:24,562 ClientTray(1:udiskie).reconfigure(True) geometry=(3456, 2113, 47, 47) 2024-10-24 11:50:24,562 ClientTray(1:udiskie).reconfigure(True) sending configure for geometry=(3456, 2113, 47, 47) : (3456, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:24,563 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,563 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:50:24,563 tray_geometry((, 47)) widget=Tray(5:connman-gtk), geometry=(3503, 2113, 47, 47) tray=ClientTray(5:connman-gtk) 2024-10-24 11:50:24,563 ClientTray(5:connman-gtk).move_resize(3503, 2113, 47, 47) 2024-10-24 11:50:24,564 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,564 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:50:24,564 ClientTray(5:connman-gtk).reconfigure(True) geometry=(3503, 2113, 47, 47) 2024-10-24 11:50:24,564 ClientTray(5:connman-gtk).reconfigure(True) sending configure for geometry=(3503, 2113, 47, 47) : (3503, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:24,565 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,565 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:50:24,565 tray_geometry((, 47)) widget=Tray(22:QtPass), geometry=(3550, 2113, 47, 47) tray=ClientTray(22:QtPass) 2024-10-24 11:50:24,566 ClientTray(22:QtPass).move_resize(3550, 2113, 47, 47) 2024-10-24 11:50:24,566 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,566 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:50:24,566 ClientTray(22:QtPass).reconfigure(True) geometry=(3550, 2113, 47, 47) 2024-10-24 11:50:24,566 ClientTray(22:QtPass).reconfigure(True) sending configure for geometry=(3550, 2113, 47, 47) : (3550, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:24,567 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,567 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:50:24,568 tray_geometry((, 47)) widget=Tray(25:birdtray), geometry=(3597, 2113, 47, 47) tray=ClientTray(25:birdtray) 2024-10-24 11:50:24,568 ClientTray(25:birdtray).move_resize(3597, 2113, 47, 47) 2024-10-24 11:50:24,568 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,568 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:50:24,569 ClientTray(25:birdtray).reconfigure(True) geometry=(3597, 2113, 47, 47) 2024-10-24 11:50:24,569 ClientTray(25:birdtray).reconfigure(True) sending configure for geometry=(3597, 2113, 47, 47) : (3597, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:24,628 window 28 has been moved to monitor 2: SAM DP-2 3840x2160 at 3840,0 2024-10-24 11:50:24,648 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,648 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:50:24,648 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:50:24,648 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,649 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:50:24,649 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:50:24,649 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,649 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:50:24,650 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:50:24,650 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:24,650 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:50:24,650 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:50:24,651 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e97a160>]) 2024-10-24 11:50:24,652 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,652 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,652 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,652 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,653 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,653 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,653 ClientTray(22:QtPass).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,653 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,653 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,654 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,654 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,654 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,655 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e947e20>]) 2024-10-24 11:50:24,656 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,656 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,657 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,657 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e97a160>]) 2024-10-24 11:50:24,657 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,658 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,658 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,658 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,658 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,658 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,667 window 39 has been moved to monitor 2: SAM DP-2 3840x2160 at 3840,0 2024-10-24 11:50:24,741 window 28 has been moved to monitor 0: SAM DP-4 3840x2160 at 0,0 2024-10-24 11:50:24,768 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e912fc0>]) 2024-10-24 11:50:24,769 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,769 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,770 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,770 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e97a160>]) 2024-10-24 11:50:24,770 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,771 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,771 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,779 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e912fc0>]) 2024-10-24 11:50:24,780 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,780 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,780 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,781 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e97a160>]) 2024-10-24 11:50:24,782 ClientTray(22:QtPass).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,782 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,782 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,822 window 39 has been moved to monitor 0: SAM DP-4 3840x2160 at 0,0 2024-10-24 11:50:24,867 window 39 has been moved to monitor 2: SAM DP-2 3840x2160 at 3840,0 2024-10-24 11:50:24,869 window 28 has been moved to monitor 2: SAM DP-2 3840x2160 at 3840,0 2024-10-24 11:50:24,956 window 39 has been moved to monitor 0: SAM DP-4 3840x2160 at 0,0 2024-10-24 11:50:24,958 window 28 has been moved to monitor 0: SAM DP-4 3840x2160 at 0,0 2024-10-24 11:50:24,990 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e9456c0>]) 2024-10-24 11:50:24,991 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e9454e0>]) 2024-10-24 11:50:24,991 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e946f20>]) 2024-10-24 11:50:24,992 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e946fc0>]) 2024-10-24 11:50:24,994 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,995 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,995 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,995 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,995 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,995 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,996 ClientTray(22:QtPass).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,996 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,996 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:24,996 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:24,997 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:24,997 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,000 audio playback using 'opus' audio codec 2024-10-24 11:50:25,304 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:25,305 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:50:25,305 ClientTray(1:udiskie).reconfigure(True) geometry=(3456, 2113, 47, 47) 2024-10-24 11:50:25,306 ClientTray(1:udiskie).reconfigure(True) sending configure for geometry=(3456, 2113, 47, 47) : (3456, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:25,308 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:25,308 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:50:25,308 ClientTray(5:connman-gtk).reconfigure(True) geometry=(3503, 2113, 47, 47) 2024-10-24 11:50:25,309 ClientTray(5:connman-gtk).reconfigure(True) sending configure for geometry=(3503, 2113, 47, 47) : (3503, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:25,310 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:25,311 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:50:25,311 ClientTray(22:QtPass).reconfigure(True) geometry=(3550, 2113, 47, 47) 2024-10-24 11:50:25,312 ClientTray(22:QtPass).reconfigure(True) sending configure for geometry=(3550, 2113, 47, 47) : (3550, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:25,313 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:50:25,313 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:50:25,314 ClientTray(25:birdtray).reconfigure(True) geometry=(3597, 2113, 47, 47) 2024-10-24 11:50:25,315 ClientTray(25:birdtray).reconfigure(True) sending configure for geometry=(3597, 2113, 47, 47) : (3597, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:50:25,343 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,344 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,344 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,345 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,348 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,349 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,350 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,350 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,356 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,357 ClientTray(22:QtPass).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,357 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,357 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,359 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,360 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,360 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,361 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,579 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,580 ClientTray(1:udiskie).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,581 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,581 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,582 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,582 ClientTray(5:connman-gtk).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,583 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,583 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,590 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,591 ClientTray(22:QtPass).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,591 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,591 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) 2024-10-24 11:50:25,596 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x79fb2e963380>]) 2024-10-24 11:50:25,597 ClientTray(25:birdtray).after_draw_update_tray(False, invalid encoding for tray: 'mmap') 2024-10-24 11:50:25,597 Warning: tray paint update failed: "invalid encoding for tray: 'mmap'" 2024-10-24 11:50:25,597 for 47x47 mmap update with options=typedict({'rgb_format': 'RGB', 'flush': 0, 'encoding': 'mmap'}) ```
Log output without error and "-d tray" ``` 24-10-24 11:57:14,973 debug enabled for ['xpra.platform.posix.gui', 'posix', 'tray'] 2024-10-24 11:57:15,009 debug enabled for ['xpra.client.mixins.windows', 'client', 'tray'] 2024-10-24 11:57:15,021 debug enabled for ['xpra.client.mixins.tray', 'tray'] 2024-10-24 11:57:15,062 Xpra GTK3 X11 client version 6.2.0-r0 2024-10-24 11:57:15,081 running on Linux Artix rolling 2024-10-24 11:57:15,081 cpython 3.12 2024-10-24 11:57:15,082 window manager is 'awesome' 2024-10-24 11:57:15,091 debug enabled for ['xpra.client.gui.client_tray', 'tray'] 2024-10-24 11:57:15,091 window icon overlay: /usr/share/xpra/icons/xpra.png 2024-10-24 11:57:15,221 overlay_image= 2024-10-24 11:57:16,179 GStreamer version 1.24.8 2024-10-24 11:57:16,214 created unix domain sockets: 2024-10-24 11:57:16,214 '/run/user/1000/xpra/clients/Artix-481' 2024-10-24 11:57:21,027 Error: frame queue timeout after 3000ms 2024-10-24 11:57:21,028 on 'buffer' of size 820 2024-10-24 11:57:21,028 of gstreamer-nvh264dec(YUV420P - 128x128) 2024-10-24 11:57:21,028 version : (5, 0) 2024-10-24 11:57:21,028 frames : 0 2024-10-24 11:57:21,028 width : 128 2024-10-24 11:57:21,028 height : 128 2024-10-24 11:57:21,028 encoding : h264 2024-10-24 11:57:21,028 colorspace : YUV420P 2024-10-24 11:57:21,028 Error on h264 128x128 test YUV420P frame 0 2024-10-24 11:57:21,068 gstreamer: h264 decoding failed: failed to decode test data for encoding 'h264' with colorspace 'YUV420P' 2024-10-24 11:57:21,100 make_tray_menu_helper() tray menu helper classes: (None, ) 2024-10-24 11:57:21,275 Using existing mmap file '/dev/shm/my-ivshmem': 2048MB 2024-10-24 11:57:21,275 Warning: missing valid socket filename 'host' to set mmap group 2024-10-24 11:57:21,275 Using existing mmap file '/dev/shm/my-ivshmem': 2048MB 2024-10-24 11:57:21,276 Warning: missing valid socket filename 'host' to set mmap group 2024-10-24 11:57:21,279 keyboard settings: rules=evdev, model=pc105, layout=us 2024-10-24 11:57:21,435 desktop size is 10880x2400: 2024-10-24 11:57:21,435 :0.0 (1462x321 mm - DPI: 189x190) 2024-10-24 11:57:21,436 SAM DP-4 3840x2160 at 0x0 (632x360 mm - DPI: 154x152) workarea: 3840x2160 2024-10-24 11:57:21,436 SAM DP-2 3840x2160 at 3840x0 (632x360 mm - DPI: 154x152) workarea: 3840x2160 at 3840x0 2024-10-24 11:57:21,436 WAC DP-1 3200x2400 at 7680x0 (432x324 mm - DPI: 188x188) workarea: 3200x2400 at 7680x0 2024-10-24 11:57:21,845 enabled fast mmap transfers using 2GB shared memory area 2024-10-24 11:57:21,846 enabled remote logging 2024-10-24 11:57:21,846 Xpra X11 seamless server version 6.2 2024-10-24 11:57:21,856 setup_xpra_tray() 2024-10-24 11:57:21,895 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:57:21,895 get_native_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:57:21,896 debug enabled for ['xpra.client.gui.tray_base', 'tray'] 2024-10-24 11:57:21,897 tray GUESS_GEOMETRY=False 2024-10-24 11:57:21,898 make_tray(0, , '4:2000', 'xpra', .xpra_tray_geometry at 0x74b70c0eed40>, .xpra_tray_click at 0x74b70c0eeac0>, .xpra_tray_mouseover at 0x74b70c0eec00>, .xpra_tray_exit at 0x74b70c0eeca0>) tray classes=[] 2024-10-24 11:57:21,924 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:57:21,924 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:57:21,926 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:21,926 GTKStatusIconTray.get_geometry() geometry area rectangle=(3268, 2113, 1, 1) 2024-10-24 11:57:21,927 bogus tray icon size: 1x1 2024-10-24 11:57:21,927 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:21,927 GTKStatusIconTray.get_geometry() geometry area rectangle=(3268, 2113, 1, 1) 2024-10-24 11:57:21,927 set_icon_from_pixbuf() geometry=(3268, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:57:21,928 setup_xpra_tray(xpra)=Tray(0:4:2000) () 2024-10-24 11:57:21,929 .set_visible(True) 2024-10-24 11:57:21,929 Attached to xpra server at vsock://4:2000 2024-10-24 11:57:21,929 (press Control-C to detach) 2024-10-24 11:57:21,942 tray 1 metadata=typedict({'xid': 6291458, 'parent-xid': 2097179, 'client-machine': 'artix-live', 'pid': 3141, 'title': 'udiskie', 'command': '/usr/bin/python /bin/udiskie', 'class-instance': ('udiskie', 'Udiskie'), 'tray': True}) 2024-10-24 11:57:21,943 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:57:21,943 make_system_tray(1, None, 'udiskie', '', .tray_geometry at 0x74b70c155580>, .tray_click at 0x74b70c155300>, .tray_mouseover at 0x74b70c155440>, .tray_exit at 0x74b70c155620>) system tray classes=[] 2024-10-24 11:57:21,945 setup_system_tray(gtk3.client, 1, 1, 47, 47, 'udiskie') tray_widget=Tray(1:udiskie) 2024-10-24 11:57:21,945 .set_visible(True) 2024-10-24 11:57:21,945 ClientTray(gtk3.client, 1, 47, 47, Tray(1:udiskie), True, ) 2024-10-24 11:57:21,945 process_new_tray(('new-tray', 1, 47, 47, {'xid': 6291458, 'parent-xid': 2097179, 'client-machine': 'artix-live', 'pid': 3141, 'title': 'udiskie', 'command': '/usr/bin/python /bin/udiskie', 'class-instance': ('udiskie', 'Udiskie'), 'tray': True})) tray=ClientTray(1:udiskie) 2024-10-24 11:57:21,946 tray 5 metadata=typedict({'xid': 8388615, 'parent-xid': 2097206, 'client-machine': 'artix-live', 'pid': 3157, 'title': 'connman-gtk', 'command': 'connman-gtk', 'class-instance': ('connman-gtk', 'Connman-gtk'), 'tray': True}) 2024-10-24 11:57:21,946 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:57:21,946 make_system_tray(5, None, 'connman-gtk', '', .tray_geometry at 0x74b70c155bc0>, .tray_click at 0x74b70c1559e0>, .tray_mouseover at 0x74b70c155a80>, .tray_exit at 0x74b70c155c60>) system tray classes=[] 2024-10-24 11:57:21,948 setup_system_tray(gtk3.client, 5, 5, 47, 47, 'connman-gtk') tray_widget=Tray(5:connman-gtk) 2024-10-24 11:57:21,949 .set_visible(True) 2024-10-24 11:57:21,949 ClientTray(gtk3.client, 5, 47, 47, Tray(5:connman-gtk), True, ) 2024-10-24 11:57:21,950 process_new_tray(('new-tray', 5, 47, 47, {'xid': 8388615, 'parent-xid': 2097206, 'client-machine': 'artix-live', 'pid': 3157, 'title': 'connman-gtk', 'command': 'connman-gtk', 'class-instance': ('connman-gtk', 'Connman-gtk'), 'tray': True})) tray=ClientTray(5:connman-gtk) 2024-10-24 11:57:21,950 tray 22 metadata=typedict({'xid': 10485775, 'parent-xid': 2097665, 'client-machine': 'artix-live', 'pid': 3833, 'title': 'QtPass', 'command': 'qtpass', 'class-instance': ('qtpass', 'QtPass'), 'tray': True}) 2024-10-24 11:57:21,950 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:57:21,951 make_system_tray(22, None, 'QtPass', '', .tray_geometry at 0x74b70c155e40>, .tray_click at 0x74b70c0ec0e0>, .tray_mouseover at 0x74b8b8bdb560>, .tray_exit at 0x74b70c155ee0>) system tray classes=[] 2024-10-24 11:57:21,952 setup_system_tray(gtk3.client, 22, 22, 47, 47, 'QtPass') tray_widget=Tray(22:QtPass) 2024-10-24 11:57:21,953 .set_visible(True) 2024-10-24 11:57:21,953 ClientTray(gtk3.client, 22, 47, 47, Tray(22:QtPass), True, ) 2024-10-24 11:57:21,953 process_new_tray(('new-tray', 22, 47, 47, {'xid': 10485775, 'parent-xid': 2097665, 'client-machine': 'artix-live', 'pid': 3833, 'title': 'QtPass', 'command': 'qtpass', 'class-instance': ('qtpass', 'QtPass'), 'tray': True})) tray=ClientTray(22:QtPass) 2024-10-24 11:57:21,954 tray 25 metadata=typedict({'xid': 12582918, 'parent-xid': 2097692, 'client-machine': 'artix-live', 'pid': 3843, 'title': 'birdtray', 'command': 'birdtray', 'class-instance': ('birdtray', 'birdtray'), 'tray': True}) 2024-10-24 11:57:21,954 get_native_system_tray_classes()=[] (USE_NATIVE_TRAY=False) 2024-10-24 11:57:21,955 make_system_tray(25, None, 'birdtray', '', .tray_geometry at 0x74b70c1560c0>, .tray_click at 0x74b70c0ec180>, .tray_mouseover at 0x74b70c155f80>, .tray_exit at 0x74b70c156160>) system tray classes=[] 2024-10-24 11:57:21,957 setup_system_tray(gtk3.client, 25, 25, 47, 47, 'birdtray') tray_widget=Tray(25:birdtray) 2024-10-24 11:57:21,957 .set_visible(True) 2024-10-24 11:57:21,957 ClientTray(gtk3.client, 25, 47, 47, Tray(25:birdtray), True, ) 2024-10-24 11:57:21,958 process_new_tray(('new-tray', 25, 47, 47, {'xid': 12582918, 'parent-xid': 2097692, 'client-machine': 'artix-live', 'pid': 3843, 'title': 'birdtray', 'command': 'birdtray', 'class-instance': ('birdtray', 'birdtray'), 'tray': True})) tray=ClientTray(25:birdtray) 2024-10-24 11:57:22,006 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:57:22,006 running, 3 windows, 4 tray 2024-10-24 11:57:22,010 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c122840>]) 2024-10-24 11:57:22,013 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c1391c0>]) 2024-10-24 11:57:22,014 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c138cc0>]) 2024-10-24 11:57:22,100 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c0eede0>]) 2024-10-24 11:57:22,103 set_tray_icon() DYNAMIC_TRAY_ICON=True, tray=Tray(0:4:2000) 2024-10-24 11:57:22,103 set_tray_icon() 3 windows, 3 icons, 2 missing 2024-10-24 11:57:22,104 set_tray_icon() using default icon 2024-10-24 11:57:22,104 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:57:22,104 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:57:22,114 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,114 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:57:22,114 bogus tray icon size: 1x1 2024-10-24 11:57:22,115 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,115 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:57:22,116 set_icon_from_pixbuf() geometry=(3409, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:57:22,118 set_tray_icon() DYNAMIC_TRAY_ICON=True, tray=Tray(0:4:2000) 2024-10-24 11:57:22,118 set_tray_icon() 3 windows, 3 icons, 1 missing 2024-10-24 11:57:22,118 set_tray_icon() using default icon 2024-10-24 11:57:22,119 set_icon() using filename='/usr/share/xpra/icons/xpra.png' 2024-10-24 11:57:22,119 set_icon_from_file(/usr/share/xpra/icons/xpra.png) tray_widget= 2024-10-24 11:57:22,120 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,121 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:57:22,121 bogus tray icon size: 1x1 2024-10-24 11:57:22,121 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,121 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 1, 1) 2024-10-24 11:57:22,122 set_icon_from_pixbuf() geometry=(3409, 2113, 1, 1), icon size=(48, 48) 2024-10-24 11:57:22,123 get_tray_title()='4:2000' (items=['4:2000']) 2024-10-24 11:57:22,136 audio playback found 1 audio output devices: 2024-10-24 11:57:22,137 audio playback * GP106 High Definition Audio Controller Digital Stereo (HDMI) 2024-10-24 11:57:22,137 audio playback alsa_output.pci-0000_03_00.1.hdmi-stereo 2024-10-24 11:57:22,137 audio playback to select a specific one, 2024-10-24 11:57:22,137 audio playback use the environment variable 'XPRA_PULSE_SINK_DEVICE_NAME' 2024-10-24 11:57:22,137 audio playback using default pulseaudio device 2024-10-24 11:57:22,205 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,205 GTKStatusIconTray.get_geometry() geometry area rectangle=(3409, 2113, 47, 47) 2024-10-24 11:57:22,205 xpra_tray_geometry(, 47) geometry=(3409, 2113, 47, 47) 2024-10-24 11:57:22,206 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,206 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,207 tray_geometry((, 47)) widget=Tray(1:udiskie), geometry=(3456, 2113, 47, 47) tray=ClientTray(1:udiskie) 2024-10-24 11:57:22,207 ClientTray(1:udiskie).move_resize(3456, 2113, 47, 47) 2024-10-24 11:57:22,208 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,208 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,208 ClientTray(1:udiskie).reconfigure(True) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,208 ClientTray(1:udiskie).reconfigure(True) sending configure for geometry=(3456, 2113, 47, 47) : (3456, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,209 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,209 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,210 tray_geometry((, 47)) widget=Tray(5:connman-gtk), geometry=(3503, 2113, 47, 47) tray=ClientTray(5:connman-gtk) 2024-10-24 11:57:22,210 ClientTray(5:connman-gtk).move_resize(3503, 2113, 47, 47) 2024-10-24 11:57:22,210 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,210 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,211 ClientTray(5:connman-gtk).reconfigure(True) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,211 ClientTray(5:connman-gtk).reconfigure(True) sending configure for geometry=(3503, 2113, 47, 47) : (3503, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,212 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,212 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,212 tray_geometry((, 47)) widget=Tray(22:QtPass), geometry=(3550, 2113, 47, 47) tray=ClientTray(22:QtPass) 2024-10-24 11:57:22,212 ClientTray(22:QtPass).move_resize(3550, 2113, 47, 47) 2024-10-24 11:57:22,213 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,213 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,213 ClientTray(22:QtPass).reconfigure(True) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,213 ClientTray(22:QtPass).reconfigure(True) sending configure for geometry=(3550, 2113, 47, 47) : (3550, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,214 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,214 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,214 tray_geometry((, 47)) widget=Tray(25:birdtray), geometry=(3597, 2113, 47, 47) tray=ClientTray(25:birdtray) 2024-10-24 11:57:22,215 ClientTray(25:birdtray).move_resize(3597, 2113, 47, 47) 2024-10-24 11:57:22,215 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,215 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,215 ClientTray(25:birdtray).reconfigure(True) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,216 ClientTray(25:birdtray).reconfigure(True) sending configure for geometry=(3597, 2113, 47, 47) : (3597, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,279 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,279 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,279 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,280 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,280 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,280 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,281 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,281 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,281 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,282 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,282 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,282 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,283 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:22,284 tray backing=, data: True 2024-10-24 11:57:22,284 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:22,284 tray backing=, data: True 2024-10-24 11:57:22,285 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:22,285 tray backing=, data: True 2024-10-24 11:57:22,286 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c138cc0>]) 2024-10-24 11:57:22,286 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:22,286 tray backing=, data: True 2024-10-24 11:57:22,288 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c139120>]) 2024-10-24 11:57:22,288 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,289 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c122e80>]) 2024-10-24 11:57:22,290 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,290 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,291 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,291 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,291 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,292 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,292 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,292 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,292 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,293 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,293 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,293 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,294 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,294 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,294 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,295 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,295 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,295 ClientTray(22:QtPass).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,296 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,296 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,296 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,297 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,297 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,297 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,297 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,298 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,298 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:22,298 tray backing=, data: True 2024-10-24 11:57:22,298 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,301 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,302 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,302 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,302 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,303 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,303 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,303 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,303 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,304 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:22,304 tray backing=, data: True 2024-10-24 11:57:22,306 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:22,306 tray backing=, data: True 2024-10-24 11:57:22,306 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:22,306 tray backing=, data: True 2024-10-24 11:57:22,307 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,307 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,307 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,308 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,308 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,308 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,309 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,309 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,309 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,309 ClientTray(22:QtPass).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,310 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,310 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,311 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,311 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,311 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,312 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,312 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,312 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,313 ClientTray(1:udiskie).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,325 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,325 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,326 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,326 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,326 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,327 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,327 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,327 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,328 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,328 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,329 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,329 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,329 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,330 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,330 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,330 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,330 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,400 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,401 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:22,401 tray backing=, data: True 2024-10-24 11:57:22,402 ClientTray(22:QtPass).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,403 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,403 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,404 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,404 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,404 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,405 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,405 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,405 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,406 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c138cc0>]) 2024-10-24 11:57:22,407 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:22,407 tray backing=, data: True 2024-10-24 11:57:22,408 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,409 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,409 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,410 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,410 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,410 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,411 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,411 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,412 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,447 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,448 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:22,448 tray backing=, data: True 2024-10-24 11:57:22,448 ClientTray(1:udiskie).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,449 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,450 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,450 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,451 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,451 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,452 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,452 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,452 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,453 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,454 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:22,454 tray backing=, data: True 2024-10-24 11:57:22,455 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,455 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,456 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,456 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,457 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,457 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,458 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,458 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,458 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,619 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,620 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c139120>]) 2024-10-24 11:57:22,627 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:22,627 tray backing=, data: True 2024-10-24 11:57:22,628 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:22,628 tray backing=, data: True 2024-10-24 11:57:22,629 ClientTray(22:QtPass).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,636 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,637 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,638 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,638 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,638 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,639 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,640 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,640 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,641 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,642 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,642 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,643 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,644 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,644 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,645 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,645 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,645 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,647 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,648 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:22,649 tray backing=, data: True 2024-10-24 11:57:22,649 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:22,649 tray backing=, data: True 2024-10-24 11:57:22,650 ClientTray(1:udiskie).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,651 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,651 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,652 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,652 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,652 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,653 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,653 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,654 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,654 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,656 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,656 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,657 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,657 audio playback using 'opus' audio codec 2024-10-24 11:57:22,657 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,657 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,658 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,658 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,659 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,954 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,955 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:22,955 ClientTray(1:udiskie).reconfigure(True) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:22,956 ClientTray(1:udiskie).reconfigure(True) sending configure for geometry=(3456, 2113, 47, 47) : (3456, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,957 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,958 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:22,958 ClientTray(5:connman-gtk).reconfigure(True) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:22,959 ClientTray(5:connman-gtk).reconfigure(True) sending configure for geometry=(3503, 2113, 47, 47) : (3503, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,960 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,961 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,961 ClientTray(22:QtPass).reconfigure(True) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,962 ClientTray(22:QtPass).reconfigure(True) sending configure for geometry=(3550, 2113, 47, 47) : (3550, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,962 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,963 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:22,963 ClientTray(25:birdtray).reconfigure(True) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:22,963 ClientTray(25:birdtray).reconfigure(True) sending configure for geometry=(3597, 2113, 47, 47) : (3597, 2113, 47, 47, {'encoding.transparency': True, 'encodings.rgb_formats': ['RGBA', 'RGB', 'RGBX'], 'orientation': 'HORIZONTAL'}) 2024-10-24 11:57:22,988 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,989 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:22,989 tray backing=, data: True 2024-10-24 11:57:22,990 ClientTray(22:QtPass).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:22,991 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,992 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,993 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,994 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,994 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:22,995 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:22,995 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:22,996 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:22,997 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:22,998 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:22,998 tray backing=, data: True 2024-10-24 11:57:22,999 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:22,999 tray backing=, data: True 2024-10-24 11:57:22,999 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:23,001 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,001 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,002 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,003 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,003 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,004 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,004 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,005 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:23,005 ClientTray(1:udiskie).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:23,006 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,007 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:23,008 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,008 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:23,008 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,010 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,010 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:23,010 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:23,012 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:23,012 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:23,012 tray backing=, data: True 2024-10-24 11:57:23,013 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:23,014 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,014 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,015 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,015 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,015 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,016 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,017 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,017 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) 2024-10-24 11:57:23,228 ClientTray(22:QtPass).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:23,230 ClientTray(22:QtPass).after_draw_update_tray(True, ) 2024-10-24 11:57:23,230 tray backing=, data: True 2024-10-24 11:57:23,231 ClientTray(1:udiskie).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c138a40>]) 2024-10-24 11:57:23,233 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,233 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:23,234 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,235 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:23,236 set_icon_from_pixbuf() geometry=(3550, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,237 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,237 GTKStatusIconTray.get_geometry() geometry area rectangle=(3550, 2113, 47, 47) 2024-10-24 11:57:23,238 ClientTray(22:QtPass).reconfigure(False) geometry=(3550, 2113, 47, 47) 2024-10-24 11:57:23,239 ClientTray(1:udiskie).after_draw_update_tray(True, ) 2024-10-24 11:57:23,239 tray backing=, data: True 2024-10-24 11:57:23,240 ClientTray(25:birdtray).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70c139120>]) 2024-10-24 11:57:23,242 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,243 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:23,243 set_icon_from_pixbuf() geometry=(3456, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,244 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,245 GTKStatusIconTray.get_geometry() geometry area rectangle=(3456, 2113, 47, 47) 2024-10-24 11:57:23,245 ClientTray(1:udiskie).reconfigure(False) geometry=(3456, 2113, 47, 47) 2024-10-24 11:57:23,245 ClientTray(25:birdtray).after_draw_update_tray(True, ) 2024-10-24 11:57:23,246 tray backing=, data: True 2024-10-24 11:57:23,246 ClientTray(25:birdtray).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:23,247 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,247 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,247 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,247 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,248 set_icon_from_pixbuf() geometry=(3597, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,249 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,249 GTKStatusIconTray.get_geometry() geometry area rectangle=(3597, 2113, 47, 47) 2024-10-24 11:57:23,249 ClientTray(25:birdtray).reconfigure(False) geometry=(3597, 2113, 47, 47) 2024-10-24 11:57:23,250 ClientTray(5:connman-gtk).draw_region(0, 0, 47, 47, 'mmap', '1 bytes', 141, typedict({'rgb_format': 'RGB', 'flush': 0}), [.record_decode_time at 0x74b70e3dd080>]) 2024-10-24 11:57:23,251 ClientTray(5:connman-gtk).after_draw_update_tray(True, ) 2024-10-24 11:57:23,251 tray backing=, data: True 2024-10-24 11:57:23,252 ClientTray(5:connman-gtk).set_tray_icon(RGB, 47, 47, 141, 6627 bytes) 2024-10-24 11:57:23,253 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,254 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,254 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,255 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,255 set_icon_from_pixbuf() geometry=(3503, 2113, 47, 47), icon size=(47, 47) 2024-10-24 11:57:23,256 GTKStatusIconTray.get_geometry() .get_geometry()=(True, screen=, area=, orientation=) 2024-10-24 11:57:23,256 GTKStatusIconTray.get_geometry() geometry area rectangle=(3503, 2113, 47, 47) 2024-10-24 11:57:23,257 ClientTray(5:connman-gtk).reconfigure(False) geometry=(3503, 2113, 47, 47) ```

You said to reuse something like https://github.com/Xpra-org/xpra/blob/83822072dec3038ee30f98f61cffcdc2a8fffca1/xpra/opengl/util.py#L46-L61

Where would i need add it for testing?

totaam commented 3 weeks ago

Where would i need add it for testing?

I don't think this would help.

LightDM and AwesomeWM

Do these WM use compositing? You could try setting XPRA_SAVE_SYSTRAY=1: https://github.com/Xpra-org/xpra/blob/83822072dec3038ee30f98f61cffcdc2a8fffca1/xpra/client/gui/client_tray.py#L23 Which will save the icon data as a png: https://github.com/Xpra-org/xpra/blob/83822072dec3038ee30f98f61cffcdc2a8fffca1/xpra/client/gui/client_tray.py#L249

This should help us figure out if the data is correct at that point.

Voros-Roka commented 3 weeks ago

LightDM is the display manager and Awesome is my window manager. No compositing is involved as far as i know (meaning i don't run a compositor)

I added XPRA_SAVE_SYSTRAY to the client and here are the files: tray-RGB-1729768398 6645267 tray-RGB-1729768398 6670516 tray-RGB-1729768398 9056075 tray-RGB-1729768398 9151022

So at that point the data is already somehow corrupted?

Edit: Looking closer at the icons it seems like they get redrawn at different sizes and/or the data is not cleared when they get redrawn? It is especialy visible with the thunderbird logo, normally the red parts are an X when the thunderbird process is not running and the red X goes away as soon as the process is started. thunderbird_X

totaam commented 3 weeks ago

Awesome is my window manager.

According to wikipedia https://en.wikipedia.org/wiki/Awesome_(window_manager) : Compositing and true transparency support through an external compositor such as xcompmgr.


the data is not cleared when they get redrawn?

This would imply that the server-side is sending a corrupted pixel buffer. Which contradicts your findings that commit 5e3386289302a16518491f48c1d81a9160931719 caused this bug.


For the record, the tray icon data received is stored wholesale here: https://github.com/Xpra-org/xpra/blob/8926b62f435548f05cb78df061c23bf54f5b67b3/xpra/client/gui/client_tray.py#L244 And then each systray implementation takes care of painting it on-screen, ie: for StatusIcon: https://github.com/Xpra-org/xpra/blob/8926b62f435548f05cb78df061c23bf54f5b67b3/xpra/client/gtk3/statusicon_tray.py#L137-L139

Voros-Roka commented 3 weeks ago

The inital bug was in https://github.com/Xpra-org/xpra/commit/5e3386289302a16518491f48c1d81a9160931719 since using mmap would not draw the icons at all.

This is a new thing after changing the code to allow mmap as encoding. Should i open a new Issue?

Awesome is my window manager.

According to wikipedia https://en.wikipedia.org/wiki/Awesome_(window_manager) : Compositing and true transparency support through an external compositor such as xcompmgr.

I don't have an external compositor running so no compositing.

If the server is sending corrupt data, how can i best debug that?

Edit: I was using the same display and window manager while using xpra 6.0.2.1 and the icons did not get corrupted there. Not sure if it is possible but i can see if i can try that version again.

Edit2: I tried 6.0.2.1 (about says: commit g24971bb28b from v6.x branch) on the client and the icons are still corrupted. It really seems the server is sending corrupted data. It will take me some time to downgrade the server to a prev version since it is a VM that runs from a read only filesystem and i have to rebuild the whole VM image and restart the VM.

totaam commented 3 weeks ago

If the server is sending corrupt data, how can i best debug that?

That's not easy, the tray implementation: https://github.com/Xpra-org/xpra/blob/8926b62f435548f05cb78df061c23bf54f5b67b3/xpra/x11/gtk/tray.py#L99 Creates a model instance for each tray window it manages: https://github.com/Xpra-org/xpra/blob/8926b62f435548f05cb78df061c23bf54f5b67b3/xpra/x11/models/systray.py#L23

But these are just "normal" windows as far as xpra is concerned and go through the normal damage event processing. So I guess you could set XPRA_SCREEN_UPDATES_DIRECTORY=screenupdates xpra start .. : https://github.com/Xpra-org/xpra/blob/8926b62f435548f05cb78df061c23bf54f5b67b3/xpra/server/window/compress.py#L99 Maybe also add -d damage,compress to your command line to see what events are seen.

Voros-Roka commented 3 weeks ago

I now tried version 6.0.2 commit 24971bb28b from v6.x branch as server and the icons are not corrupted. I double checked that every package version of the whole system is the same, only the xpra version is different. At this point i think we can rule out anything else then xpra itself?

This means between version 6.0.2 commit g24971bb28b from v6.x branch and version 6.2.0 commit g75d2762385 from v6.2.x branch something changed that corrupts the icons on the server side and sends it to the client.

I played around a bit and it more and more seems like that the server is writing the icon into some buffer with transparency but does not clear what is already there leaving old stray pixels in the pixel buffer that gets send to the client? I also tried connecting to the server without mmap but the icons are still corrupted.

I guess at this point it is better to open a new issue because this has nothing to do with the original problem. Are there any special log outputs that i should add to the new issue that would help besides what you already mentioned? (Can take me some time to open the issue since i actively use the server and rebuilding and testing is not very quick)

totaam commented 2 weeks ago

Right, so this isn't related to the client encoding bug, and probably not related to mmap either.

Do you mind creating a new ticket for this? I think that the changes that caused this are in 61c94c2b079621b087b82a21f613c316bc5bf50e or 67ca44380d734db41e66c6eb416ad8b919ff916c. Hopefully the latter as it's smaller and easier to work on. It does change the code that selects the visual for the tray window, so this may explain drawing issues for applications that get a visual they did not expect. This change was in 6.2, so the 6.1 branch should also be unaffected.

Voros-Roka commented 2 weeks ago

The actual issue that did not show icons when mmap is used should be fixed with commit d63d31b . I will open a new issue for the other problem.