Firefox window loses _NET_WM_ICON(CARDINAL) when forwarded through Xpra. Result is incorrect icon displayed in the Alt-tab window switcher. The window property is initially correctly set but when opening a new browser tab it is deleted.
@a1n10: please include version, OS, etc..
Can you try running with with -d icon
?
I think the problem should be apparent in any other app that changes the window icon.
OS: Arch Linux Xpra: 0.16.1
xpra -d:
2016-03-13 05:22:50,458 Attached to :11 (press Control-C to detach)^[[0m ^[[36m2016-03-13 05:23:49,706 _NET_WM_ICON_NAME=Mozilla Firefox^[[0m ^[[36m2016-03-13 05:23:49,706 _NET_WM_ICON changed on 0x80001d, re-reading^[[0m ^[[36m2016-03-13 05:23:49,734 icon is now <cairo.ImageSurface object at 0x35890036450>^[[0m ^[[36m2016-03-13 05:23:49,750 client icon settings: size=(64, 64), max_size=(128, 128), theme_default_icons=['folder-videos-symbolic', 'stock_text_bold', 'stock_redo', 'not$ ^[[36m2016-03-13 05:23:49,752 send_window_icon(WindowModel(0x80001d)) icon=<cairo.ImageSurface object at 0x35890036450>^[[0m ^[[36m2016-03-13 05:23:49,752 send_window_icon(WindowModel(0x80001d)) wid=1, icon=<cairo.ImageSurface object at 0x35890036450>, compression scheduled in 69ms^[[0m ^[[36m2016-03-13 05:23:49,825 compress_and_send_window_icon: 128x128, sending as png=False^[[0m ^[[36m2016-03-13 05:23:49,826 queuing window icon update: ('window-icon', 1, 128, 128, 'premult_argb32', LevelCompressed(premult_argb32: 34504 bytes as lz4/21))^[[0m ^[[36m2016-03-13 05:23:49,904 _NET_WM_ICON_NAME=Mozilla Firefox Start Page - Mozilla Firefox^[[0m ^[[36m2016-03-13 05:23:49,904 _NET_WM_ICON_NAME=Mozilla Firefox Start Page - Mozilla Firefox^[[0m ^[[36m2016-03-13 05:23:53,673 _NET_WM_ICON_NAME=#1144 (Firefox window loses icon) – Xpra - Mozilla Firefox^[[0m ^[[36m2016-03-13 05:23:53,674 _NET_WM_ICON_NAME=#1144 (Firefox window loses icon) – Xpra - Mozilla Firefox^[[0m ^[[36m2016-03-13 05:24:28,093 client icon settings: size=(64, 64), max_size=(128, 128), theme_default_icons=['folder-videos-symbolic', 'stock_text_bold', 'stock_redo', 'not$ ^[[36m2016-03-13 05:24:35,081 client icon settings: size=(64, 64), max_size=(128, 128), theme_default_icons=['folder-videos-symbolic', 'stock_text_bold', 'stock_redo', 'not$ 2016-03-13 05:24:42,286 client has requested disconnection: exit on signal SIGINT^[[0m 2016-03-13 05:24:42,287 Disconnecting client '/home/usr/.xpra/pc-11':^[[0m 2016-03-13 05:24:42,287 client request^[[0m 2016-03-13 05:24:42,308 xpra client disconnected.^[[0m ^[[36m2016-03-13 05:24:42,435 _NET_WM_ICON changed on 0x80001d, re-reading^[[0m ^[[36m2016-03-13 05:24:42,481 icon is now <cairo.ImageSurface object at 0x358900361b0>^[[0m
Please specify your DE and (py)gtk versions as well as the window-switcher application you use. A screenshot would not hurt.
Does it show the old icon, a broken one? what does xprop show for this window? (both on the client, and directly on the server: you can find the window's xid with xpra info | grep xid
)
I cannot reproduce here. My client log correctly shows:
_process_window_icon(8, 128, 128, premult_argb32, 65536 bytes) window=GLClientWindow(8 : gtk2.GLWindowBacking(8, (128, 128), None)) GLClientWindow(8 : gtk2.GLWindowBacking(8, (128, 128), None)).update_icon(128, 128, premult_argb32, 65536 bytes) GLClientWindow(8 : gtk2.GLWindowBacking(8, (128, 128), None)).set_icon(<gtk.gdk.Pixbuf object at 0x7fa314e85960 (GdkPixbuf at 0x5594547b0aa0)>)
We even have some test applications for this (press a key to change the icon):
DE: Xfce WM: Xfwm
I don't have any holded back packages so I use whatever version of the package is in the Arch repos (usually last version): https://www.archlinux.org/packages/
Both the Xpra client and server run on the local machine under the current user. I connect to the Xpra server by starting applications under other users and specify the Xpra as target display like:
#!/bin/bash exec gksudo -u firefox -l env DISPLAY=:11 firefox
I cannot reproduce. r12369 adds the ability to save the icons to file both client and server side. Run xpra with:
XPRA_SAVE_WINDOW_ICONS=1 xpra ...
And inspect those files. They are correct at both ends for me.
I suspect that for some reason, your DE / gtk is ignoring the icon we set and using the wm-class or something else to set the icon. Please include xprop for the client window. Please also try a different DE to confirm that this DE related.
See also #1176, which could be related (also cannot reproduce).
Not heard back.
New duplicate: #1514.
r15826 may fix this issue and should be harmless to backport. Can someone who can reproduce this issue confirm either way?
Yes, I can confirm the problem is solved in the last version.
Thanks!
Applied to supported branches in r15828.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1144