Description of problem: The keyboard shortcut assigned to "Raise window if covered, otherwise lower it" only works sporadically. It worked perfectly in F16. The result is it always raises, and never lowers. Version-Release number of selected component (if applicable): mutter-3.4.1-3.fc17.x86_64 How reproducible: always. Steps to Reproduce: 1.assign a key to the shortcut, I use 'alt-space' 2.open two terminal windows, move one partially ovelapping the other 3.move the mouse over the "on top" window. 4.press and hold alt. 5.without releasing alt, press+release space, window will go behind other 6.without releasing alt, move mouse over the "other" window 7.press+release space, release alt. window will go behind other 8.move mouse back over first window (it's now on top) 9.press alt+space. window WILL NOT GO BEHIND -> BUG Actual results: Windows no longer go behind. Only raise works. Expected results: "Raise window if covered, otherwise lower it" Additional info:
still a problem in F18. the current 'workaround' is to restart gnome-shell (alt-f2 R) which screws up window positions quite severely.
Further debugging shows that the function: mutter/src/core/keybindings.c:handle_raise_or_lower() is getting incorrect answers from meta_stack_get_above(..). That function is returning windows from other workspaces. the (soon-to-be) attached hack (patch) fixes the raise_or_lower, but clearly there is some list corruption somewhere. however, would it be possible to add this in the meantime?
Created attachment 709777 [details] fix raise-or-lower when windows from other workspaces are encountered It seems as though the meta_stack_get_above(stack,window,boolean) can sometimes (and probably incorrectly) return windows from other workspaces. When this happens, raise-or-lower stops working correctly. This patch is a workaround that makes raise-or-lower work, but doesn't fix the underlying problem.
One more thing, re comment#1: I think the reason that the window positions get screwed up "quite severely" is that after gnome-shell restart, the windows on the "wrong stack" (as per my analysis in comment#2) end up changing workspaces (or at least some of them do). And another thing, it seems like the "stationary" workspace on the second (secondary) monitor is the most likely culprit. Here's a test case: Open a window on workspace 1. move it to the "right hand" (secondary) monitor, where "workspaces are on primary monitor only". Change to workspace 2, open a window move it to the secondary monitor, partially overlapping other window. Try to raise-lower between these two windows => broken. Probably the windows that change workspace by virtue of a workspace-warp trip through the secondary monitor end up on the wrong stack.
This should be reported upstream at bugzilla.gnome.org
This message is a reminder that Fedora 18 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 18. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '18'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 18's end of life. Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 18 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior to Fedora 18's end of life. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 18 changed to end-of-life (EOL) status on 2014-01-14. Fedora 18 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.