GNOME Bugzilla – Bug 697207
Watch GApplication busy state
Last modified: 2014-02-24 13:49:21 UTC
This depends on the GLib patches at bug 672018.
Created attachment 240530 [details] [review] shell-app: don't recreate a session proxy every time Cache the connection inside the ShellAppRunningState structure instead.
Created attachment 240531 [details] [review] shell-app: track the busy state of GApplications Watch for property changes on the org.gtk.Application interface, and transition the state to BUSY when the corresponding property is flipped on.
Created attachment 240532 [details] [review] panel: show spinner animation for busy applications
The GLib part has landed now, so this can be considered ready for review.
(In reply to comment #4) > The GLib part has landed now, so this can be considered ready for review. Sure, but note that gnome-shell does not branch until 3.8.1.
(In reply to comment #5) > Sure, but note that gnome-shell does not branch until 3.8.1. Yeah sure :)
Review of attachment 240532 [details] [review]: Do we have designs for this? (The suggested behavior for "busy" applications makes sense to me, some other examples mentioned on the GLib bug not so much to be honest). The code looks good to me (e.g. you can consider it "accepted-commit-after-freeze"), I'd like a short rationale in the commit message body ...
Review of attachment 240531 [details] [review]: ::: src/shell-app.c @@ +1030,3 @@ + return; + + running_state->busy_state_id = If we expect other properties, this should probably be "property_changed_id"
(In reply to comment #7) > Do we have designs for this? (The suggested behavior for "busy" applications > makes sense to me, some other examples mentioned on the GLib bug not so much to > be honest). The busy state only maps to the top panel spinner – I don't think we need any other design input for that. The story with the other behaviors mentioned in the GLib bug is yet to figure out...especially for counters/badges we need to make sure whatever we do is going to be nicely integrated with our notifications story. In any case, this gnome-shell bug here is only about tracking the busy state, which I think can be merged independently.
Pushed to master now (after changing the name of the private id variable as suggested by Jasper), since Shell branched for 3.8. Attachment 240530 [details] pushed as b8830f4 - shell-app: don't recreate a session proxy every time Attachment 240531 [details] pushed as 45026df - shell-app: track the busy state of GApplications Attachment 240532 [details] pushed as 5ecf40e - panel: show spinner animation for busy applications
*** Bug 652066 has been marked as a duplicate of this bug. ***