Ticket #324 (closed defect: fixed)

Opened 12 years ago

Last modified 12 years ago

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

bugme.patch Download (1.1 KB) - added by jdreed 12 years ago.

Change History

comment:1 Changed 12 years ago by jdreed

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.

comment:2 Changed 12 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.

Changed 12 years ago by jdreed

comment:3 Changed 12 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 12 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 12 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 12 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 12 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 12 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:9 Changed 12 years ago by jdreed

Er, "move into production", obviously.

comment:10 Changed 12 years ago by broder

  • Status changed from proposed to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.