Red Hat Bugzilla – Bug 126798
Mozilla and Sawfish and sloppy focus makes events go to wrong Mozilla window
Last modified: 2007-11-30 17:10:45 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040510
Description of problem:
Through a combination of using Sawfish with sloppy focus, switching
workspaces with hotkeys, and using multiple Mozilla windows, it seems
that Mozilla gets confused and starts receiving keyboard events in
windows that aren't focused.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
These steps given on a fresh install of FC2 with X11 and Gnome
installed, all errata applied via yum. No non-Fedora Core
repositories used. Runlevel 5, gdm is the display manager, Gnome is
the desktop environment.
1. On a fresh install of FC2 with all errata applied, create a new user.
2. Graphical login with the user you've created.
3. Once logged in, right click desktop, select "Open terminal."
4. Switch from Metacity to Sawfish: killall metacity; sawfish &
5. Right click workspace switcher in the panel. Select "Preferences."
Increase number of workspaces from 1 to 2. Close properties dialog.
6. Run sawfish-ui in the terminal window you still have open.
6a. Under the "Bindings" tab make two new "Global" bindings: Alt-F1
(M-F1 as it shows here) for "Activate workspace 1" and Alt-F2 (M-F2)
for "Activate workspace 2."
6b. Under the "Focus" tab select "enter-only" focus.
6c. Push the close button at the bottom of sawfish-ui.
7. Press Alt-F2 to go to workspace 2.
8. Click the "Web Browser" button on the panel to open Mozilla.
9. Make sure your new Mozilla window has focus and maximize it using
the middle button in the grouping at the top right of the window frame
(that is, the standard maximize button that you first think of when I
say "maximize a window").
10. Press Ctrl-N in Mozilla to make a new window.
11. The new window should be given focus. If it isn't, give it focus.
The new window should be maximized. If it isn't, maximize it.
12. Press Ctrl-L to focus the location box and type in
http://www.google.com/ followed by enter. Wait for Google to come up.
13. Press Alt-F1 to go back to workspace 1. Make sure the terminal
looks focued (as judged by the window border colors). Move the mouse
to give it focus if you need to.
14. Leave the mouse pointer in the middle of the screen and press
Alt-F2 to go back to workspace 2.
15. Press Alt-Tab to cycle to the Mozilla window that should have the
FC2 release notes (default home page).
16. Press Ctrl-T. This should open a new tab in the browser with the
FC2 release notes open (correct behavior).
17. Click the black tab body and press Ctrl-W to close the tab.
18. Leave the pointer in the middle of the screen and press Alt-F1 to
go back to workspace 1. Make sure the terminal window is focused.
Move the mouse to give it focus if you need to.
19. Press Alt-F2 to go back to workspace 2. Press Alt-Tab to cycle to
the Mozilla window with Google open. Now the only things on the
screen should be the Mozilla window with Google maximized and the
panel (and your mouse cursor).
20. Press Ctrl-T.
Actual Results: A tab opened in the Mozilla window with FC2 release
notes, the window that was on the bottom and theoretically not focused.
Expected Results: A tab should have opened on the visible browser
window on top (the one with Google).
I apologize for the huge number of steps involved in reproducing it.
I tried for an hour or more to try a smaller set of steps but I found
it had to be Sawfish (couldn't repro with Metacity), it had to be
sloppy focus (or maybe mouse over/enter-exit focus; I'm about 98%
click to focus doesn't work), there had to be a terminal window open
(or maybe just any window; it might matter if the window has text
input of some kind on it, like an editor vs. a game), and I had to do
the initial switch to Moz/open tab/close tab/switch back/do it all
over again to see the bug.
This bug may be related to bug 119160. I've filed this bug against
Mozilla, but I don't know if it's a Sawfish problem instead -- or
something completely different.
That concludes the portion of the bug report that I am sure about.
What follows I am less certain about, but feel it may be helpful.
In my opinion this is a very hard bug to reproduce for this report,
but apparent when actually working. When programming in one workspace
and flipping to references open in various Mozilla windows on another
workspace, I'd run into this problem frequently. Most frustratingly,
it seems to work with Ctrl-W too, not just Ctrl-T: the Ctrl-W will get
passed to the window that had focus when I switch to the workspace,
closing a tab that I didn't want closed (and now can't find again).
I've hit this bug in FC1 and (I think) RH9. I'm pretty sure I saw
this bug, reproduced more or less as above, using Sawfish and Mozilla
in RH9, with a mozilla.org build. I don't think you see this problem
in Mozilla 1.2, but it's been so long since I was able to test that
I'm not willing to make that claim as fact. I've "worked around" this
bug on my FC1 laptop by using Konqueror instead of Mozilla. I can't
think of another set of applications I'm totally positive I've seen
this behavior in -- but it wouldn't surprise me. I've had weird focus
bugs from time to time. I hit this one frequently enough to be
greatly annoyed by it.
I think the mouse still works in the window that isn't receiving the
keyboard events (Ctrl-T) but I didn't have time to test this.
Very happy to answer questions, try new things, patches, etc. Not
particularly interested in changing window managers or focus styles.
:) If no one knows how to handle this but can point me to some better
methods for finding out what's going on, I'll take a crack at it.
More references that may be this problem (or related). This
person's problem sounds almost exactly like mine:
I posted this bug to the Sawfish list, and here's a reply I got:
Fedora Core 2 is now maintained by the Fedora Legacy project for
security updates only. If this problem is a security issue, please
reopen and reassign to the Fedora Legacy product. If it is not a
security issue and hasn't been resolved in the current FC3 updates or
in the FC4 test release, reopen and change the version to match.
Closing per lack of response. Note that FC1 and FC2 are no longer
supported even by Fedora Legacy. Please install a still supported
version and retest. If this still occurs on FC3 or FC4 and is a
security issue, please assign to that version and Fedora Legacy. If it still
occurs on FC5 or FC6, please reopen and assign to the correct version.
mozilla itself is not shipped in FC6, so for most of these bugs that means
testing in FC5 or against firefox.