mate-desktop / marco

MATE default window manager
https://mate-desktop.org
GNU General Public License v2.0
192 stars 85 forks source link

panel disappear when close QDockWidget #780

Open itisyang opened 2 months ago

itisyang commented 2 months ago

Expected behaviour

--

Actual behaviour

  1. Panel disappear when close QDockWidget
  2. All the “always above” windows will disappear

Steps to reproduce the behaviour

Using the attached test program, run it and close the top qdockWidget

MATE general version

1.28.*

Package version

1.28.*

Linux Distribution

--

Link to bugreport of your Distribution (requirement)

--

Test program

test_dock.zip

itisyang commented 2 months ago

Test program screenshot:

image

itisyang commented 2 months ago

The reason is that the "xrender_process_event" function handles the "ConfigureNotify" event, which calls "restack_win", and the “always above” windows such as panel are hidden under the desktop(x-caja-des)

The "restack_win" function places some windows in front of some unknown window that is not displayed

itisyang commented 2 months ago

I looked at the code for mutter and metacity and found that they no longer handle the "ConfigureNotify" event

https://gitlab.gnome.org/GNOME/mutter/-/commit/f9568535509e40a35e9a875b4d91686ab2969e42 https://gitlab.gnome.org/GNOME/metacity/-/commit/8b0ed193cfa771ec1f3ba70b272b9b14e02e6d3c