Description of problem: When using sloppy focus (or the UI-less strict focus
setting), focus is not updated when the mouse is moved while doing workspace
switching or after the workspace switching is complete. This leads to the focus
being disconnected from the mouse position, which requires moving the mouse out
of and back in to the window to focus the window.
(This has been a moderate annoyance for ages, but I just realized what the exact
steps to reproduce were.)
Version-Release number of selected component (if applicable): metacity-2.4.34-3
How reproducible: every time
Steps to Reproduce:
1. Go to a workspace that has a workspace to its right that has two
non-overlapping windows. Call them A and B.
2. Position the mouse so that when you move into the workspace to the right, the
pointer will be in window B.
2. Hold down Ctrl and Alt, and press the right arrow, but *do not lift control
3. Move the mouse pointer from window B to window A.
4. Release Ctrl and Alt.
Actual results: Window B has focus.
Expected results: Window A has focus.
Additional info: This is reproducable with both strict-focus and sloppy-focus
gconftool-2 --set /apps/metacity/general/focus_mode mouse --type=string
gconftool-2 --set /apps/metacity/general/focus_mode sloppy --type=string
Created attachment 92402 [details]
This fixes the problem for me.
Alternatively, one could probably change the no-op case in
meta_workspace_activate, but I don't feel like going through all the callers to
make sure that makes sense for all of them. Someone who knows the code better
could probably do that easily.
(Although I admit I don't understand, for the key release case, why we'd ever
not be on the workspace in question already.)
Moved to http://bugzilla.gnome.org/show_bug.cgi?id=123803