Ticket #324 (closed defect: fixed)
The bugme timer disappearing bug is back
Reported by: | jdreed | Owned by: | |
---|---|---|---|
Priority: | blocker | Milestone: | Fall 2009 Release |
Component: | -- | Keywords: | |
Cc: | Fixed in version: | ||
Upstream bug: |
Description
The bug where the bugme timer disappears after login seems to be back. It was, I believe, first observed on cluster-test.xvm. However, cursory testing suggests that it only manifests itself on displays with a 4:3 resolution, not a 16:9 one.
I most recently observed the behavior on quickstation-lobby-16-2 (a GX620) about 10 minutes ago. I did not observe the behavior on quickstation 11-1 (a 745) immediately prior to that.
Note that bugme is still running, because it reappears at logout.
I vaguely wonder if the bug only exists with Jaunty on 4:3 displays, because I tested this with Intrepid on a 4:3 display on quickstation-2 (W20-3rd floor), and I don't recall experiencing the bug. I don't have any other good ideas at the moment, so additional testing/debugging is welcome. I'm going to halt quickstation deployments until it's reproducible, however.
Currently installed debathena quickstations:
- quickstation-2 (Intrepid, GX620)
- quickstation-11-1 (Jaunty, 745)
- quickstation-lobby-16-2 (Jaunty, GX620)
Attachments
Change History
comment:2 Changed 15 years ago by jdreed
- Priority changed from major to critical
Experimenting with set_override_redirect(True), window type hints, and numerous other settings appear to have no effect on this.
Note that the bug is not reproducible when testing bugme by hand, only when it's started via Xsession.d.
Moving this up to critical, because it's blocking our quickstation deployments.
comment:3 Changed 15 years ago by jdreed
A quick and dirty patch has been attached here. Basically, it waits for nautilus to start and then runs gtk.Window.present()
comment:4 Changed 15 years ago by rbasch
I believe the issue with Nautilus is that it takes over management of the desktop by default (and we do not want to change that). It is possible that an event handler could be set up to deal with the window becoming obscured. In the mean time, why not just always call gtk.Window.present() when the timer is updated? That does not seem terribly expensive (and is basically consistent with the desired high annoyance factor), and should handle all cases.
comment:5 Changed 15 years ago by jdreed
We can't call gtk.Window.present() every second, because that causes it to raise itself on top of any other gtk.Windows, including things like gtk.Menus. If you're trying to select something from the Applications menu, for example, bugme will put itself on top of the menu and obscure the items. While it doesn't steal focus, it's still annoying.
An event handler is a better idea, agreed.
comment:6 Changed 15 years ago by rbasch
I think the timer window is raised on top of menus because it is set as a popup instead of toplevel window. Is there a reason for that, other than to disallow it to get input focus? I think we can do the latter with other gtk settings.
I will do some testing and try to come up with a patch later today.
comment:7 Changed 15 years ago by rbasch
- Status changed from new to proposed
I checked in r23963 to address this, and have built and uploaded to -proposed. It adds the visibility event handler, and changes the timer window from a popup to a toplevel window, disallowing input focus.
comment:8 Changed 15 years ago by jdreed
I tested the new release and it works -- nautilus no longer obscures bugme.
This can move into -proposed at any time.
comment:10 Changed 15 years ago by broder
- Status changed from proposed to closed
- Resolution set to fixed
OK, this has nothing to do with aspect ratio and everything to do with Nautilus. Testing with non-GNOME-compliant window managers (ie: twm) reveals that it's the Nautilus window that's ending up on top of bugme. "pkill nautilus" happily makes the bugme timer reappear. This definitely seems to be a change from the Intrepid behavior. I haven't yet had time to test if there's anything we can do to convince Metacity that bugme really wants to be on top.
I won't have time to explore this further this week, so if anyone else is interested in testing, that would be great.