Notifications should hint if they shouldn't be Ubuntu-Shaped

Bug #1200569 reported by Mirco Müller on 2013-07-12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu UI Toolkit
Won't Fix
unity-api (Ubuntu)
unity-notifications (Ubuntu)
unity8 (Ubuntu)
Mirco Müller

Bug Description

UbuntuShape should allow to skip the masking and shadow-drawing for an image with an alpha-channel, making it act like a regular Image-item.

Some early discussion has happened already and further feedback from Design is required too. In a first iteration a "skip-on-alpha"-flag (defaulting to false) could be introduced, which makes UbuntuShape not apply masking and shadow-drawing, if an image with alpha-channel is passed in.

Typical use-case scenarios are:
* clipart-like avatars used in notifications and people-lens
* image-only confirmation notifications
* value-image confirmation notifications

Related branches

Mirco Müller (macslow) on 2013-07-12
Changed in ubuntu-ui-toolkit:
importance: Undecided → Wishlist
summary: - UbuntuShape should skip masking if image has an alpha-channel
+ [shape] UbuntuShape should skip masking if image has an alpha-channel


The statistical variance of the alpha channel (how far the set of alpha
values is spread out) should provide a better check for false positives.
It's fast to compute (CPU-cached sequential memory reads, branch free)
and depends on the size of the image.

For now the UbuntuShape simply shapes the image keeping its alpha
channel unchanged. I'm currently making it possible to blend it over a
specific color or over another image [1]. I think we should ask the
design team what behaviour they expect for such images in the case of
the notification system and decide what to do based on that.



Michał Sawicz (saviq) wrote :


In the case that Mirco describes it's simply about icons (like the ones
on the left of the notification when you increase / decrease the
volume). So in that case we just need an on/off switch for the shape and

In the case of transparent avatars indeed it might make sense to
approach it differently (overlay over a colour). But yeah, design input
is needed here.

Florian Boucault (fboucault) wrote :

Why can't you just remove the shape if you don't want it to do anything at all?

Michał Sawicz (saviq) wrote :

After a quick chat we feel like this is broken in a different way.

In the case of notifications the sender will know best whether it should be shaped or not. We need to add a hint to the notifications protocol to say whether the image sent should be treated as-is or not.

Changed in ubuntu-ui-toolkit:
status: New → Won't Fix
Changed in unity-api:
status: New → Incomplete
Changed in unity-notifications:
status: New → Incomplete
summary: - [shape] UbuntuShape should skip masking if image has an alpha-channel
+ Notifications should hint if they shouldn't be Ubuntu-Shaped
Michał Sawicz (saviq) on 2013-09-19
Changed in unity8:
status: New → Triaged
assignee: nobody → Mirco Müller (macslow)
kevin gunn (kgunn72) on 2013-10-04
Changed in unity8:
importance: Undecided → Medium
Mirco Müller (macslow) on 2013-10-10
Changed in unity8:
status: Triaged → In Progress
Michał Sawicz (saviq) on 2013-10-13
Changed in unity-notifications:
status: Incomplete → In Progress
tags: added: needs-test
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity-notifications at revision 188, scheduled for release in unity-notifications, milestone Unknown

Changed in unity-notifications:
status: In Progress → Fix Committed
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:unity8 at revision 549, scheduled for release in unity8, milestone phone-v1-freeze

Changed in unity8:
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (6.6 KiB)

This bug was fixed in the package unity8 - 7.84+14.04.20131128.2-0ubuntu1

unity8 (7.84+14.04.20131128.2-0ubuntu1) trusty; urgency=low

  [ Michal Hruby ]
  * Depend on the separate scopes plugin
  * Move the BottomBar* DBus communicator to the Utils plugin.

  [ Michał Sawicz ]
  * Wait for DashHome to be available in tst_Shell. (LP: #1254898)
  * Use plugindir from unity-shell-api.pc.
  * Expect stop in upstart job and raise in case of surfaceflinger. (LP:

  [ Albert Astals ]
  * Fix time test in Qt 5.2 Make factors an array instead of a
    object/dict Objects/dicts are unordered by definition, it happened
    that Qt 5.0 gave them in the orrder we wanted, but with Qt 5.2 is
    failing, and we don't even need the "key", so array works as well
  * Test that the dash hswipe is disabled while the inner stuff is
    moving .
  * Skip restMaximizeVisibleAreaMoveUpAndShowHeader, it's causing too
    many failed runs And we are confident it's failing because of the
    suboptimal scenegraph run in 5.0.x.
  * Make Dash::test_show_scope_on_load more robust If we are testing
    showScopeOnLoaded make sure we force a scope reload after we set it,
    otherwise it may just happen that the scope has already been loaded
    and the expectaction that we'll change the list to it is just wrong.
  * Dash renderer signals: No need to pass the model up and down Whoever
    is listening to the signal has access to the item that emits the
    signal and has the model right there accessible if needs it.
  * LVWPH: Fix header going bad when setContentHeight ends up moving the
    viewport How to reproduce the bug easily without the patch: * In the
    Dash Home, search for london * Scroll to the bottom * Start moving
    to the apps scope very slowly * At around 3/4 of the move you'll see
    the header in the home scope went to a bad position * Go back to the
    Dash Home. (LP: #1237942, #1246351)
  * Remove unused AppInfo and VideoInfo files .
  * Kill unused ApplicationsFilterGrid.qml .
  * Unify ScopeView and GenericScopeView .
  * Fix header getting lost as per bug 1245824. (LP: #1245824)
  * Remove unused Time.js and its test .
  * Do not include the QtQml megaheader Include only qqml.h which is
    what we need in these files.
  * Don't do stuff if our parent context is gone We'll be gone soon too
    (and crash probably) so don't do anything. This looks a bit like a
    workaround, wait for 5.2 better painting/dispatching loop to see if
    this is not needed anymore, we find a better way to do it, or we
    decide this is fine.

  [ Lars Uebernickel ]
  * Allow setting different indicator positions for different profiles.

  [ Mirco Müller ]
  * Added checkbox for toggling between echo-modes of password-
    entryfields in ext. snap-decisions.
  * Fixes bug #1200569. (LP: #1200569)

  [ Andrea Cimitan ]
  * Switch to application scope when a dash swipe is taking place and an
    app is on foreground. (LP: #1231996)
  * Shifts wallpaper rendering for greeter lockscreen to be inline with
    shell. (LP: #1231731)
  * Dinamically load the Carousel/Filtergrid with more than 6 items.
    (LP: #1226288, #1234105)
  * R...


Changed in unity8 (Ubuntu):
status: New → Fix Released
Michał Sawicz (saviq) on 2013-11-29
Changed in unity8:
status: Fix Committed → Fix Released
Changed in unity-notifications (Ubuntu):
status: New → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-notifications - 0.1.1+14.04.20140129-0ubuntu1

unity-notifications (0.1.1+14.04.20140129-0ubuntu1) trusty; urgency=low

  [ Michał Sawicz ]
  * Flush trunk through Train CI.

  [ Albert Astals ]
  * Use QCOMPARE instead of QVERIFY Because it is what we want to do and
    also because it gives us much better failure messages when tests

  [ Mirco Müller ]
  * Fixes bug #1200569. (LP: #1200569)
  * Added reporting-support for x-canonical-private-fullscreen hint.
  * Don't use the fullscreen-hint. Fullscreen is meant to be implicitly
    used only by the pinpad-notification.
  * Use new plugin-path provided by pkgconfig of libunity-api-dev, thus
    fixing LP #1256011. (LP: #1256011)
  * Make notification unit-test Q-ified in order to allow nicer ouput in
    case of failures.
  * Change the order of visually stacked snap-decisions to comply with
    the Design-spec for UbuntuTouch notifications. Also updated test to
    verify the new required behaviour.
 -- Ubuntu daily release <email address hidden> Wed, 29 Jan 2014 17:34:33 +0000

Changed in unity-notifications (Ubuntu):
status: Fix Committed → Fix Released
Michał Sawicz (saviq) on 2014-01-29
Changed in unity-notifications:
status: Fix Committed → Fix Released
Changed in unity-api (Ubuntu):
status: New → Incomplete
no longer affects: unity-api (Ubuntu)
affects: unity-api → unity-api (Ubuntu)
Michał Sawicz (saviq) on 2017-03-13
Changed in unity8 (Ubuntu):
assignee: nobody → Mirco Müller (macslow)
importance: Undecided → Medium
no longer affects: unity8
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers