[FFe] Launcher - Add 'launching' state to launcher icons
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ayatana Design |
Fix Committed
|
Low
|
Otto Greenslade | ||
The Charlotte project |
Fix Released
|
Critical
|
Alex Chiang | ||
unity design (obsolete project) |
Triaged
|
Low
|
Otto Greenslade | ||
bamf (Ubuntu) |
Fix Released
|
Medium
|
Andrea Azzarone | ||
Xenial |
Fix Released
|
Medium
|
Andrea Azzarone | ||
unity (Ubuntu) |
Fix Released
|
Medium
|
Andrea Azzarone | ||
Xenial |
Fix Released
|
Medium
|
Andrea Azzarone |
Bug Description
Add 'launching' state to launcher icons
Description:
1. As soon as a user clicks on a app in the Dash Application Lens, the Launcher should use the 'startup notification protocol' to *instantly* place a icon for the application in the launcher (in the 'launching' state). As soon as the app has finished launching, the Launcher icon should switch to the 'running' state.
2. As soon as a user clicks on a app in the Launcher that is not running, the Launcher icon should instantaneously switch to the 'launching' state. As soon as the app has finished launching, the Launcher icon should instantly switch to the 'running' state.
The following art assets will be attached to this bug:
1. Add 'launching' placeholder Launcher icon to handle the case where we know an app has launched but we don't have it's icon. *important* - this icon should only be used when we know an app has been launched but we don't know its icon. If we can get the application's icon quickly we should use this correct icon instead.
https:/
Notes:
- we flash the backlight of the icon during launch
- as soon as we have startup notification, we create an item in the
launcher, in grayscale, and start flashing its backlight
- as soon as we know the desktop file and hence icon, we transition to
the icon backlight from grayscale to an appropriate colouring based on the icon
Finally we need a instant "flash" on click. See bug #893140 for a full description of this instant feedback issue.
[Changes]
Add startup notification support for bamf and unity. This includes modifying the Bamf API to include a "starting" property for BamfViews.
[Benefits]
The user will notice that the system is actually doing something when an application is launched from the dash and the applications takes several seconds to open (e.g. chrom*, firefox).
[Potential Regressions]
None.
Related branches
- Olivier Tilloy (community): Approve
-
Diff: 545 lines (+235/-21)6 files modifieddebian/control (+2/-1)
launcher/UnityApplications/CMakeLists.txt (+4/-1)
launcher/UnityApplications/launcherapplication.cpp (+73/-7)
launcher/UnityApplications/launcherapplication.h (+8/-1)
launcher/UnityApplications/launcherapplicationslist.cpp (+124/-9)
launcher/UnityApplications/launcherapplicationslist.h (+24/-2)
- Marco Trevisan (Treviño): Approve
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
-
Diff: 155 lines (+33/-3)9 files modifiedCMakeLists.txt (+1/-1)
debian/control (+1/-1)
launcher/ApplicationLauncherIcon.cpp (+8/-0)
launcher/Launcher.cpp (+1/-1)
launcher/WindowedLauncherIcon.cpp (+5/-0)
launcher/WindowedLauncherIcon.h (+1/-0)
unity-shared/ApplicationManager.h (+1/-0)
unity-shared/BamfApplicationManager.cpp (+14/-0)
unity-shared/BamfApplicationManager.h (+1/-0)
- Marco Trevisan (Treviño): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Andrea Azzarone (community): Needs Resubmitting
-
Diff: 823 lines (+340/-18)17 files modifiedconfigure.ac (+6/-1)
debian/changelog (+6/-0)
debian/libbamf3-2.symbols (+1/-0)
lib/libbamf-private/org.ayatana.bamf.view.xml (+1/-0)
lib/libbamf/bamf-view.c (+51/-0)
lib/libbamf/bamf-view.h (+5/-2)
src/Makefile.am (+2/-0)
src/bamf-application.c (+19/-0)
src/bamf-control.c (+4/-2)
src/bamf-control.h (+2/-2)
src/bamf-legacy-screen.c (+98/-1)
src/bamf-legacy-screen.h (+14/-8)
src/bamf-matcher.c (+54/-2)
src/bamf-matcher.h (+4/-0)
src/bamf-view.c (+67/-0)
src/bamf-view.h (+4/-0)
tests/bamfdaemon/Makefile.am (+2/-0)
Changed in unity-design: | |
status: | New → Incomplete |
assignee: | nobody → Otto Greenslade (otto-chaotic) |
description: | updated |
tags: | added: udn-launcher |
tags: | added: udt |
Changed in unity-design: | |
status: | Incomplete → Triaged |
importance: | Undecided → Critical |
Changed in ayatana-design: | |
status: | New → Triaged |
importance: | Undecided → Critical |
assignee: | nobody → Otto Greenslade (otto-chaotic) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in unity-2d: | |
status: | New → Confirmed |
Changed in unity-2d: | |
milestone: | none → 3.6 |
Changed in unity-2d: | |
milestone: | 3.6 → none |
description: | updated |
Changed in ayatana-design: | |
status: | Triaged → Fix Committed |
Changed in unity-2d: | |
milestone: | none → 3.8 |
importance: | Undecided → High |
Changed in unity-2d: | |
importance: | High → Critical |
assignee: | nobody → Florian Boucault (fboucault) |
tags: | added: charlotte-backport-needed |
Changed in ayatana-design: | |
status: | Fix Committed → Fix Released |
Changed in unity: | |
status: | New → Confirmed |
assignee: | nobody → Jason Smith (jassmith) |
Changed in unity (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
Changed in charlotte: | |
assignee: | nobody → Alex Chiang (achiang) |
milestone: | none → m4-rc1 |
status: | New → Triaged |
Changed in unity-2d: | |
status: | Confirmed → In Progress |
Changed in charlotte: | |
milestone: | m4-rc1 → none |
Changed in charlotte: | |
milestone: | none → m4-rc2 |
Changed in unity-2d: | |
status: | In Progress → Fix Committed |
Changed in unity-2d: | |
status: | Fix Committed → Fix Released |
Changed in charlotte: | |
status: | Triaged → In Progress |
Changed in charlotte: | |
status: | In Progress → Fix Released |
status: | Fix Released → Fix Committed |
Changed in charlotte: | |
importance: | Undecided → Critical |
Changed in charlotte: | |
status: | Fix Committed → Fix Released |
tags: | added: cqa-verified-gm |
Changed in unity: | |
assignee: | Jason Smith (jassmith) → Marco Trevisan (Treviño) (3v1n0) |
Changed in unity: | |
importance: | Undecided → Critical |
description: | updated |
tags: | added: udp |
Changed in ayatana-design: | |
status: | Fix Released → Fix Committed |
Changed in unity: | |
importance: | Critical → Medium |
Changed in unity-2d (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in unity (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in unity-2d (Ubuntu): | |
importance: | Undecided → Low |
Changed in unity (Ubuntu): | |
importance: | Undecided → Low |
Changed in ayatana-design: | |
importance: | Critical → Low |
Changed in unity: | |
importance: | Medium → Low |
Changed in unity-2d: | |
importance: | Critical → Low |
Changed in unity-design: | |
importance: | Critical → Low |
tags: | added: rls-w-incoming |
Changed in unity: | |
importance: | Low → Medium |
no longer affects: | unity-2d |
no longer affects: | unity-2d (Ubuntu) |
Changed in unity: | |
status: | Confirmed → Triaged |
Changed in bamf: | |
status: | New → Triaged |
importance: | Undecided → Medium |
assignee: | nobody → Andrea Azzarone (azzar1) |
Changed in unity: | |
assignee: | Marco Trevisan (Treviño) (3v1n0) → Andrea Azzarone (azzar1) |
Changed in bamf (Ubuntu): | |
status: | New → Confirmed |
assignee: | nobody → Andrea Azzarone (azzar1) |
importance: | Undecided → Medium |
Changed in bamf (Ubuntu): | |
status: | Confirmed → Triaged |
tags: |
added: rls-x-incoming removed: rls-w-incoming |
tags: | added: u7-trello-import |
tags: | removed: u7-trello-import |
Changed in unity (Ubuntu): | |
assignee: | nobody → Andrea Azzarone (azzar1) |
status: | Triaged → In Progress |
Changed in bamf (Ubuntu): | |
status: | Triaged → In Progress |
Changed in unity (Ubuntu): | |
importance: | Low → Medium |
Changed in bamf: | |
status: | Triaged → In Progress |
tags: | removed: rls-x-incoming |
summary: |
- Launcher - Add 'launching' state to launcher icons + [FFE] Launcher - Add 'launching' state to launcher icons |
summary: |
- [FFE] Launcher - Add 'launching' state to launcher icons + [FFe] Launcher - Add 'launching' state to launcher icons |
description: | updated |
no longer affects: | bamf |
no longer affects: | unity |
> > So the thing about startup notification is they are implemented by the
> > launcher and not the launchee. Therefor there should be, in unity, no
> > way to launch something that produces a startup notification where we
> > dont immediately know the .desktop file. If you were to say launcher
> > firefox from a terminal, no startup notification is produced.
> >
> > I cannot think of a situation is the final state of unity, short of
> > running GNOME Panel side by side where we wont know the .desktop file
> > when startup notifications are issued. (startup notifications can pass a
> > ton of optional information, GNOME Panel passes absolutely none)
Ah, that's useful info. Surely the app *can* say "hey, in case the
launcher didn't tell you, I'm starting baby!"?
What about cases like double-clicking a file in Nautilus, which opens it
in a specific app?
The animation I described might also be useful for the case of a USB
device that can be detected before it can be identified (we know a USB
device is there for some time before we know what it is).