Ticket #386 (closed defect: fixed)

Opened 11 years ago

Last modified 9 years ago

bugme isn't always always on top

Reported by: geofft Owned by: lfaraone
Priority: trivial Milestone: Precise Release
Component: -- Keywords:
Cc: Fixed in version: bugme 10.0.4-0debathena2
Upstream bug:

Description

I'm not sure why, but I've regularly been able to make my Firefox or xterm or whatever occlude the bugme counter.

Attachments

trac_386.diff Download (385 bytes) - added by lfaraone 9 years ago.

Change History

comment:1 Changed 11 years ago by jdreed

  • Milestone set to The Distant Future

WFM. Please provide details, including windowmanager, etc. And whether this affects multiple accounts on the same workstation, or multiple workstations with the same account.

comment:2 Changed 11 years ago by kcarnold

I have also seen this occasionally on many different quickstations. WM should be the normal metacity; I didn't change any of that. Both geofft and I have tried xmonad at times, if that makes any difference.

comment:3 Changed 10 years ago by joeuser

Finally repro'd this. If the timer gets focus (i.e. by clicking on it), and then focus moves to something else, it's moved lower in the z-axis. I wonder if we should be denying it focus entirely.

comment:4 follow-up: ↓ 9 Changed 10 years ago by jdreed

Something awesome is clearly going on here, because 10.0.1 added changes from Bob to handle visibility obscure events and to disallow input focus, so I have no idea why it responds to mouse clicks.

comment:5 Changed 10 years ago by jdreed

  • Milestone changed from The Distant Future to Natty Release

Changed 9 years ago by lfaraone

comment:6 Changed 9 years ago by geofft

  • Status changed from new to assigned
  • Owner set to lfaraone

comment:7 Changed 9 years ago by lfaraone

Attached is a patch which fixes the above by setting self.timerWindow.set_keep_above(True). This works by a window manager hint, see the  PyGTK docs.

comment:8 Changed 9 years ago by geofft

Hrrm. That patch doesn't work as is, but it works if you put that line into the once-per-second updateTimer hook. I'll commit that, but we're not quite sure why the original code doesn't work (it looks like _NET_WM_STATE_ABOVE isn't set in that case -- maybe PyGTK+ is noticing a window manager isn't running, and refusing to set the hint, or something?).

comment:9 in reply to: ↑ 4 Changed 9 years ago by geofft

Committed in r25443. Incidentally, re jdreed:

Something awesome is clearly going on here, because 10.0.1 added changes from Bob to handle visibility obscure events and to disallow input focus, so I have no idea why it responds to mouse clicks.

I assume that's the window manager responding to a mouse click and raising the window, and the app itself is not responding to mouse clicks in any way. If I click on the timer, my current app remains focused.

comment:10 follow-up: ↓ 11 Changed 9 years ago by jdreed

Yeah, the window manager is at fault here. If I launch bugme, and then set, say, a terminal to be "always on top", it will honor that, and no window-state-event or visibility-event is sent to the app. So there's no signal for us to catch. In the example given above, even putting the line into the update hook doesn't work. Calling .present() in the update hook does work, but is incredibly obnoxious, so I'd like to think a bit harder before resorting to that.

comment:11 in reply to: ↑ 10 Changed 9 years ago by jdreed

Replying to jdreed:

Calling .present() in the update hook does work, but is incredibly obnoxious, so I'd like to think a bit harder before resorting to that.

bugme is designed to be obnoxious. Committed in r25643. As of now, the window is .present()ed every 10 seconds, which should be annoying enough to get people to notice, but not annoying enough to break menus or other things which pretend to be windows.

comment:12 Changed 9 years ago by jdreed

  • Status changed from assigned to committed

comment:13 Changed 9 years ago by jdreed

  • Status changed from committed to development

bugme 10.0.4-0debathena2 in -dev

Really, bugme should be a panel app.

comment:14 Changed 9 years ago by jdreed

  • Status changed from development to proposed
  • Fixed in version set to bugme 10.0.4-0debathena2

comment:15 Changed 9 years ago by jdreed

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