xpra icon
Bug tracker and wiki

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#936 closed defect (fixed)

windows not showing up correctly in task bar

Reported by: Jiang Owned by: Jiang
Priority: minor Milestone: 0.16
Component: client Version: 0.15.x
Keywords: Cc:

Description

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.

Attachments (2)

screenshot.jpg (485.8 KB) - added by Jiang 4 years ago.
task bar not showing icons of the fowarded window.
screenshot.2.jpg (506.9 KB) - added by Jiang 4 years ago.
0.15.3 client connecting showing correct icons on taskbar

Download all attachments as: .zip

Change History (16)

Changed 4 years ago by Jiang

Attachment: screenshot.jpg added

task bar not showing icons of the fowarded window.

comment:1 Changed 4 years ago by Antoine Martin

Status: newassigned

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)

comment:2 Changed 4 years ago by 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.

Changed 4 years ago by Jiang

Attachment: screenshot.2.jpg added

0.15.3 client connecting showing correct icons on taskbar

comment:3 Changed 4 years ago by 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.

comment:4 Changed 4 years ago by 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?

comment:5 Changed 4 years ago by 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.

comment:6 Changed 4 years ago by 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.

comment:7 Changed 4 years ago by 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?

comment:8 Changed 4 years ago by 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
Last edited 4 years ago by Antoine Martin (previous) (diff)

comment:9 Changed 4 years ago by Antoine Martin

Owner: changed from Antoine Martin to Jiang
Status: assignednew

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?

comment:10 Changed 4 years ago by 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?

comment:11 Changed 4 years ago by 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.

comment:12 Changed 4 years ago by Jiang

Resolution: fixed
Status: newclosed

fixed in 0.15.5

comment:13 Changed 4 years ago by 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 ?

comment:14 Changed 4 years ago by 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!

Note: See TracTickets for help on using tickets.