Shell tracking and provision of splash & last frames for Apps

Registered by kevin gunn

This blueprint is to track the efforts to do 2 things. First, to provide a splash screen common to all application launches in order to provide a deterministic user experience for first frame result on screen. Second, to track the last frame for apps losing focus to show upon applications potentially returning from suspended state or being killed by oom manager.

Blueprint information

Not started
kevin gunn
Unity Team
Needs approval
Unity Team
Series goal:
Accepted for utopic
Milestone target:

Related branches



assumes to built on Qt comp plugin to mir

for reference

Saviq, May 9th:
We already have an image provider for the app, I think it would be best to build all this into it.
- construct (and cache?) splash screens for apps where no screenshot available
- save screenshots to disk when app unfocused
- load screenshots from disk when requested (or will we keep them in memory across a unity8 session anyway? for the spread? - probably wasteful if app is running)
- clear the stored screenshots on app exit

We'll need the ApplicationItem (or whatever the component is named) to wrap the screenshot and the actual app surface and alternate between them as required.


Work Items

Work items:
alter as needed for Qt comp/scenegraph, app tracking list within shell for recent apps : TODO
create splash screen to show & show it upon app launch, if no "last frame" available in app list : TODO
alter screen shot tracking of "last frame" for apps loosing focus using Qt comp/scenegraph : TODO
show "last frame" upon app regain of focus, where app 1st render will take over : TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.