GNOME Bugzilla – Bug 686982
Show the "Remove from Favorites" label when dragging a non-running launcher from the dash
Last modified: 2012-11-07 15:27:21 UTC
It isn't clear that dragging an app from the dash is the way to remove it from favorites. A "Remove from Favorites" label is displayed next to the grid button when you hover over it while dragging a launcher, but you have to know to hover it over there in the first place, which isn't very helpful. A better solution would be to show the "Remove from Favorites" label as soon as the drag is begun. That way it will be immediately clear how to remove the launcher from the dash.
I did not know you could still remove a favorite like that. But to complete the action you also need to drop it on the nine-square icon, right? Are you sure just showing the label on drag start will be enough? I myself had to fiddle a bit to find out the drop target. I think the old dnd behavior with a trash that was appearing was easier to grasp. I do not know why it was removed (the trash metaphor that would feel you are deleting the app? the change of the number of dock items?). Because now we have the nine-square icon for apps, so couldn't it transform to a trash or an other symbol like a cross (+ a label "drop to remove from favorite") ? I think it would be easier to understand, and more inline what is proposed and some embedded devices (stock Android at least).
Ho sorry, I misunderstood your comment. Still, wouldn't it be better to change the icon to a cross for instance? (since you can not at the same time go to the apps)
Created attachment 227432 [details] [review] First stab This is a first stab, using the 'allocation-changed' signal. The events are not compressed and there is no tweening though, I do not know if this is desirable. Jasper recommended to try using a ClutterAlignConstraint instead, but I did not manage to make it work, the label keeps stuck just under the panelBox. Maybe this is an absolute vs. relative positionning issue. I'll try to investigate more, but if this rings a bell to someone, I've used: let labelConstraint = new Clutter.AlignConstraint({ source: this.actor, factor: 0.5 }); labelConstraint.set_align_axis(Clutter.AlignAxis.Y_AXIS); this.label.add_constraint(labelConstraint); (btw, I could not set the 'axis' property in the constructor it seems, this is weird)
This is what it looks like: http://zzrough.free.fr/files/public/0001-Dash-show-favorite-removal-label-during-drag.webm
Hey Stéphane. Thanks for working on this; it is much appreciated. Also, it's great to have screencasts to review! I'm really sorry about this, but looking at the work so far, I think I got the design wrong. Showing that label all the time will making removing favourites easier, but it will be really annoying if someone just wants to rearrange the items in the dash. We could try an alternative approach, if you'd like. Jimmac had the idea of doing a subtle animation on the grid button when you start a drag, like a light passing across it. Sorry once again.
For posterity, here is what I had in mind: http://zzrough.free.fr/files/public/0002-Dash-show-favorite-removal-label-during-drag.webm
Alternative: no icon change, subtle brightness+scale increase zzrough.free.fr/files/public/0003-Dash-show-favorite-removal-label-during-drag.webm
I am really fond of teh brightness + scale increase variant demoed in comment 7.
It looks pretty, but it doesn't really make much sense to me.
I share Jasper's concern that this might not be meaningful; we should probably close this for now. This has been an interesting experiment, and I've found it really useful. Thanks for your work Stéphane - this has been a good exploration of the options. I suspect that we will return to this bug in the future. ;)