Bug 827099 - raise or lower keyboard shortcut not working
Summary: raise or lower keyboard shortcut not working
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: mutter
Version: 18
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-05-31 15:31 UTC by David Mansfield
Modified: 2014-02-05 11:59 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-02-05 11:59:16 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
fix raise-or-lower when windows from other workspaces are encountered (417 bytes, patch)
2013-03-13 19:59 UTC, David Mansfield
no flags Details | Diff

Description David Mansfield 2012-05-31 15:31:03 UTC
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:

Comment 1 David Mansfield 2013-03-11 13:51:02 UTC
still a problem in F18.  the current 'workaround' is to restart gnome-shell (alt-f2 R) which screws up window positions quite severely.

Comment 2 David Mansfield 2013-03-13 19:57:17 UTC
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?

Comment 3 David Mansfield 2013-03-13 19:59:37 UTC
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.

Comment 4 David Mansfield 2013-03-13 21:31:03 UTC
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.

Comment 5 Peter Robinson 2013-04-13 08:33:15 UTC
This should be reported upstream at bugzilla.gnome.org

Comment 6 Fedora End Of Life 2013-12-21 08:37:21 UTC
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.

Comment 7 Fedora End Of Life 2014-02-05 11:59:19 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.