ashikase/Backgrounder — pull request #3 by freerunnering (2012-03-24 16:54:56+00:00)
Title: Added a method to get an array of backgrounded application display identifiers.

Added a method to get the display ID's of the currently backgrounded apps. The reason for (me doing) this is because of an iOS 5 bug related to Backgrounder (only happens with it backgrounding an app).

To suspend an app without an animation on iOS you do:

// Now pop is from the Active displayStack
[[self SBWActiveDisplayStack] popDisplay:fromApp];
// And push it onto the Suspending displayStack
[[self SBWSuspendingDisplayStack] pushDisplay:fromApp];

However doing that on iOS 5 with an app that is backgrounded causes this:
http://www.youtube.com/watch?v=JzpxMNrmPXM

That can be worked around, by trying different animation flags or using system methods to launch the apps and just slowing the UI down a bit it hide the animation. However those work arounds require knowing when an app is backgrounded and so when it need to have the work around applied.
(and it's a nicer approach then https://github.com/Zimm/libdisplaystack/blob/master/Tweak.xm#L84)