Xpra-org / xpra-html5

HTML5 client for Xpra
Mozilla Public License 2.0
195 stars 54 forks source link

xpra/html5 modal application on top #11

Open totaam opened 4 years ago

totaam commented 4 years ago

Issue migrated from trac ticket # 2686

component: html5 | priority: minor | keywords: modal windows, on top, no workspace

2020-03-30 12:10:29: marco.desimone created the issue


Hi, I am using xpra to access a remote application using the html5 client, xpra on the server run in seamless mode ( start --start-cmd=/usr/bin/xterm ), If I run a pyqt modal application launcher, two things happen, the pyqt application has z-index 15000, and whatever window I start from this launcher goes below and I cannot use it. The other wrong behaviour is this pyqt launcher is not listed in the upper menu, so If i minimize it than I lose it, and I am not able to show it again..

If I attach the remote session via the xpra client it works correctly, the issue is only with the html5 client.

If I start xpra in destkop mode, it works correctly even with html5 client.

os: ubuntu 18.04 xpra version: 3.0.7-25627-1 020-03-30 12:22:02,516

I have enclosed a picture Kindly regards Marco

totaam commented 4 years ago

2020-03-30 12:14:28: marco.desimone uploaded file launcher-xpra.png (41.9 KiB)

launcher-xpra.png

totaam commented 4 years ago

2020-03-30 12:14:55: marco.desimone uploaded file logdebug.txt (21.5 KiB)

xpra -d window log

totaam commented 4 years ago

Looks like the window has both the DIALOG and NORMAL window type set. What application can I use for testing?

The html5 client does not track application groupings, so the dialog window should be "modal" or "on top" of its siblings, but not other windows. Fixing that is hard.

totaam commented 4 years ago

2020-03-30 16:57:50: marco.desimone commented


You cannot try sorry, it's an old python code using pyqt/qt4, but we fixed using QWidget instead of QDialog for the main window, now it works perfect, it acts as normal window.

Thanks Marco

totaam commented 4 years ago

We need to change update_zindex to raise focused windows more, but only if there are no modal / dialog siblings. (need to keep track of pid / transient-for?) This may require calling update_zindex every time one of the windows metadata is updated..

totaam commented 3 years ago

See also #5.