Xpra: Ticket #936: windows not showing up correctly in task bar

After upgrading to xpra 0.15.4 on both server and client, the forwarded window no longer show up correctly on local taskbar. See the attached picture, with circled entry on the task bar being the forwarded chrome window. Title text shows up correctly but looks blurry. And the icon of the window (in this case it should be chrome icons) fail to show up (the icon is a generic window icon, rather than an application-specific icon like those of the local xterm.

The icons used to work correctly on 0.15.3

I am running ubuntu 14.04 64 bit on server, 32 bit on client. However, on the client I am not running a standard unity desktop, but gnome-fallback desktop with metacity window manager.

Tue, 04 Aug 2015 03:03:36 GMT - Jiang: attachment set

task bar not showing icons of the fowarded window.

Tue, 04 Aug 2015 03:47:52 GMT - Antoine Martin: status changed

Since chrome windows draw their own decorations, the title will be drawn by xpra and not the local window manager, which means we may use a lossy encoding for that. But it should get refreshed sooner or later unless the whole window refreshes so quickly it never gets a chance... which is possible with a browser.

As for the icon, maybe the new 0.15 code sets the icon at a different time in the window setup, which may not work with chrome. For example if we realize the window before the icon is set. This is going to be tricky.

There were no change in this area at all between 0.15.3 and 0.15.4 There is another 0.15 taskbar related ticket on Ubuntu: #895. (looks like a different issue though)

Tue, 04 Aug 2015 04:11:41 GMT - Jiang:

This is not a chrome problem. The same missing icon happens for firefox, gimp and every window that get forwarded. It's not a deal breaker, but it does make distinguishing windows at a glance more difficult.

Everything works for 0.15.3. See the attached screen shot. It also works for 0.15.3 client connecting to 0.15.4 server (though it complains, strangely " disconnect: invalid compression: lz4 is not available"). And it fails when connecting 0.15.4 client to 0.15.3 server. So it must have something to do with the client implementation.

Tue, 04 Aug 2015 04:12:45 GMT - Jiang: attachment set

0.15.3 client connecting showing correct icons on taskbar

Tue, 04 Aug 2015 04:37:25 GMT - Antoine Martin:

This is not a chrome problem.

The window title definitely is, only chrome draws its own window title bar.

(..) So it must have something to do with the client implementation.

Thanks, that narrows it down quite a bit.

Tue, 04 Aug 2015 04:49:01 GMT - Jiang:

By the way, what's with the "lz4 not available, disconnect" when connecting from 0.15.3 client to 0.15.4 server? Now in 0.15.4 on both client and server when I am using --compressor=lz4, and I check the session info, it turns out that I am not using compression at all! What happens to lz4? Why is xpra not using it?

Tue, 04 Aug 2015 04:50:33 GMT - Antoine Martin:

what's with the "lz4 not available, disconnect" when connecting from 0.15.3 client to 0.15.4 server?

No idea, I'll have to look into it. Could be an incompatibility with the packaging of python-lz4 in Ubuntu.

Tue, 04 Aug 2015 05:07:15 GMT - Jiang:

This is gonna be the strangest bug I've seen!

As I said before, when I use --compressor=lz4 commandline flag to connect to the server with xpra 0.15.4 client, I check session information, it turns out I am not using compression at all. *And that's when all these icons on the taskbar disappeared*.

And when I use --compress=3 flag and hence are using lzo compressor, *the icons on the taskbar reappeared!* Very strange. How can icons depend on compression???

I am using raw rgb and rencode.

Tue, 04 Aug 2015 05:22:15 GMT - Antoine Martin:

Now, that's very interesting! And it explains why I didn't see this during testing: all of my test systems have lz4 working.

There is a change which was meant to improve compatibility in the code that does the lz4 version parsing. Maybe it ends up disabling lz4 on Ubuntu (for whatever reason) and that ends up messing up the icons. Why using lzo causes icon problems and lz4 does not is beyond me at this point. I will take a look when I have time.

FYI: to be clear, the compress command line option does not make it use lzo specifically, it tweaks the aggressiveness of the compression (whatever compressor is selected), and since you don't have a valid lz4 installed (or so it thinks), it falls back to up using lzo.

You can find information on the packet layer (compressors en packet encoders) by running:

python ./xpra/net/net_util.py

(wherever is is installed on your system) What does this say?

Tue, 04 Aug 2015 12:45:54 GMT - Jiang:

I apologize for not being clear. lz4 seems to be completely disabled in the new 0.15.4, for whatever reason, if I use the --compressor=lz4 switch. In such a case, *no compression is used* (as reported in sesssion info tab) *and icons disappears*.

When I use --compress=3 to tweak compression level, lzo is resorted to, and in such a case icons reappears! So it is not lzo causes icons to disappear, but no compression causes that.

As you suggested, the system somehow thought there is no lz4. (BTW, what does yaml do?)

python /usr/lib/python2.7/dist-packages/xpra/net/net_util.py
Network interfaces found:
* lo                   (index=1)
* eth0                 (index=2)
* wlan0                (index=3)
Protocol Capabilities:
* bencode              : True
* bencode.version      : Cython, 0.11
* compressors          : zlib, lzo
* digest               : hmac, xor
* encoders             : bencode, rencode
* lz4                  : False
* lzo                  : True
* lzo.version          : 2.06
* mmap                 : True
* pycrypto             : True
* pycrypto.fastmath    : True
* pycrypto.version     : 2.6.1
* rencode              : True
* rencode.version      : Cython, 1.0.3
* yaml                 : False
* zlib                 : True
* zlib.version         : 1.0

Tue, 25 Aug 2015 09:32:44 GMT - Antoine Martin: owner, status changed

The lz4 issue is tracked in #960.

There were some changes in trunk which may help resolve this, see ticket:961#comment:3, in particular: r10420 and r10421. Can you please try the latest beta build and see if the problem is still present there?

Sat, 29 Aug 2015 03:03:59 GMT - Jiang:

Unfortunately the beta (0.16.0) does not resolve the issue. It still complains when I do --compressor=lz4

"2015-08-28 22:45:07,449 Warning: all the compressors are disabled,"

And of course, there are no lz4. Also, I notice that when I install 0.15.4, I notice a complain that python-lz4 package is recommended, but when I tried to install it, I cannot. However, I obviously have the lz4 library since the compression is working in package 0.15.3. I probably installed it using some means other than the ubuntu official repository it's located in

/usr/local/lib/python2.7/dist-packages/lz4.so and I probably installed it using pip.

Perhaps that's what makes xpra think there is no lz4. Could you fix that so that it actually check the location pip install it to to see if lz4 is available?

Sat, 29 Aug 2015 04:59:24 GMT - Antoine Martin:

Also, I notice that when I install 0.15.4, I notice a complain that python-lz4 package is recommended, but when I tried to install it, I cannot.

Your distro does not have python-lz4... bug your distro!

Perhaps that's what makes xpra think there is no lz4...

see #960.

Until 0.15.5 is released (soon I hope), you can install a newer version of python-lz4 from here: http://xpra.org/src/python-lz4-0.8.0-rc1.tar.xz.

Mon, 31 Aug 2015 03:55:02 GMT - Jiang: status changed; resolution set

fixed in 0.15.5

Mon, 31 Aug 2015 04:00:57 GMT - Antoine Martin:

This ticket is about "windows not showing up correctly in task bar", and there were NO changes in this area for 0.15.5, are you sure this is fixed?

Maybe you got mixed up with the lz4 ticket, which is this one: #960 ?

Mon, 31 Aug 2015 04:17:01 GMT - Jiang:

Both issues are fixed. In fact, the window not showing up correctly in taskbar seems to be somehow (though I can't see how) related to the lz4. But anyway, now the icons show up correctly on my desktop. Everythings seem to be working here with 0.15.4 after upgrading to newer versions of python-lz4! Thank you for fixing things up!

Sat, 23 Jan 2021 05:10:15 GMT - migration script:

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