Opened 13 years ago
Closed 10 years ago
#2413 closed defect (invalid)
Hovering over the new activity toolbar activity icon so that sub toolbar appears triggers focus_out_event
Reported by: | garycmartin | Owned by: | tomeu |
---|---|---|---|
Priority: | Unspecified by Maintainer | Milestone: | Unspecified |
Component: | Sugar | Version: | Unspecified |
Severity: | Unspecified | Keywords: | new-toolbar focus-out-event |
Cc: | alsroot, erikos | Distribution/OS: | Unspecified |
Bug Status: | Unconfirmed |
Description
Hovering over the new activity toolbar activity icon so that the sub toolbar appears triggers a gtk+ focus_out_event. Clicking the activity toolbar icon to lock open the same toolbar does not generate the event.
This causes problems for Activities that want to free up resources when they are switched to the background. Memorize currently uses this to pause audio playback when it is not front most, http://git.sugarlabs.org/projects/memorize/repos/mainline/blobs/master/activity.py#line320 and a new version of Physics will use this event to pause the simulation to free up cpu usage when it is in the background.
Change History (3)
comment:1 Changed 13 years ago by garycmartin
comment:2 Changed 13 years ago by alsroot
Tried to reproduce the issue in my env (gtk+ 2.20.1).
It works as assumed, ie, palette popping up sends focus_out_event event but closing this palette (w/ and w/o locking sub tool bar) sends focus_in_event as well.
comment:3 Changed 10 years ago by dnarvaez
- Resolution set to invalid
- Status changed from new to closed
Sounds like this can be fixed in activities after all.
I decided to keep poking at this for Physics and there does seem to be an activity level fix. As per a long, long lost email from Tomeu (thanks Tomeu, only took me two years to re-investigate and take action). I'm connecting a callback to the visibility-notify-event and then testing if data.state == gtk.gdk.VISIBILITY_FULLY_OBSCURED. Took me ages to track this down, but seems to be working a treat, I'm about to test outside of my VM dev environment and onto an XO-1:
http://git.sugarlabs.org/projects/physics/repos/mainline/commits/6be1dada2fde0e8e06220c9c509338c350123f0d
Simon: might also be what you want to do in Memorize for freeing up sound resources, fixing the event issue at the Sugar level may take some time.