While I was posting the previous two window stacking bug reports, I noticed another, similar problem: (All this is about the latest Compiz from GIT, with "redirect full-screen" _disabled_.) Open two windows that you can easily tell apart. (It works with two terminals, as long as they have different text on them.) Make them both full-screen; you'll need the Extra WM Actions plugin. (F11, Alt+Tab, F11.) The point is that you're supposed to have the two topmost windows in full-screen mode, say A on top of B. The focus is of course on A. Now "un-full-screen-ize" (?) the top window (A), by pressing F11 again. I would expect in that case the stacking order would remain unchanged, i.e. a non-full-screen A on top of a full-screen B. However, A is pushed below B! As in the previous bugs I posted, it keeps the focus, though. You can see this by making the B window transparent before the test, so you can see the typing in the A window through it. In this case, after full-screen is turned off, the window is passed to updateWindowAttributes() with the stackingMode=CompStackingUpdateModeNormal. (The problematic call is in the file "extrawm.c"). The function is fullscreenWindow(CompWindow*, int). At the end (line 71 in my version) there's a call to updateWindowAttributes (w, CompStackingUpdateModeNormal) However, changing from full-screen to non-full-screen should not change the stacking. So I believe the call should be changed to: updateWindowAttributes (w, CompStackingUpdateModeNone) I tried it, and the stacking works correctly. -- Bogdan Butnaru ? bogdanb at gmail.com "I think I am a fallen star, I should wish on myself." ? O. PS. Is this really the right place to send these mails?