[FFE] All launcher icons should be moveable except trash and BFB
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Ayatana Design |
Fix Released
|
High
|
John Lea | ||
| Unity |
Fix Released
|
Medium
|
Marco Trevisan (Treviño) | ||
| unity-2d |
Invalid
|
Wishlist
|
Unassigned | ||
| unity (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bug Description
== CHANGE ==
The Workspace Switcher icon in the Unity bar cannot be moved. Icons below the Workspace icon can be rearranged but not move above the Workspace icon. Additionally, icons above the Workspace icon can be rearranged, but not moved below the Workspace icon. This limits customization of the unity bar.
Desired solution:
- A user should be able to re-order all launcher icons other than the Trash and the BFB to any other location on the Launcher. This includes Workspaces, individual Dash Lenses, and removable storage icons.
- A user should be able to remove both the Workspace icon and the Dash Lens icons from the Launcher. However the Trash and BFB can never be removed from the Launcher.
== TESTING ==
The new functionality is covered by unit tests and manual tests.
== WHY? ==
The design specifications define this behavior since long, but this was never actually introduced in code. It is also a very intuitive behavior. Besides this, the introduced change does not change the existing functionality in any way that could confuse users, since all existing rules applying up until now are still valid. It is just an enhancement.
Original description:
The Workspace Switcher icon in the Unity bar cannot be moved. Icons below the Workspace icon can be rearranged but not move above the Workspace icon. Additionally, icons above the Workspace icon can be rearranged, but not moved below the Workspace icon. This limits customization of the unity bar.
Desired solution:
- A user should be able to re-order all launcher icons other than the Trash and the BFB to any other location on the Launcher. This includes Workspaces, individual Dash Lenses, and removable storage icons.
- A user should be able to remove both the Workspace icon and the Dash Lens icons from the Launcher. However the Trash and BFB can never be removed from the Launcher.
- Both the workspace icon and the Dash Lenses should be accessible via the Dash App Lens. A user must be able to search for say "Workspaces" in the Dash and then drag and drop the Workspaces icon back into the launcher.
Related branches
- Andrea Azzarone (community): Approve
- Brandon Schaefer (community): Approve
-
Diff: 7548 lines (+3855/-1096) 72 files modifiedapiUnityCore/DesktopUtilities.cpp (+29/-9)
UnityCore/DesktopUtilities.h (+1/-0)
UnityCore/GLibDBusProxy.cpp (+0/-4)
com.canonical.Unity.gschema.xml (+3/-3)
launcher/AbstractLauncherIcon.h (+16/-2)
launcher/BFBLauncherIcon.cpp (+1/-0)
launcher/BamfLauncherIcon.cpp (+31/-48)
launcher/BamfLauncherIcon.h (+0/-1)
launcher/CMakeLists.txt (+1/-0)
launcher/DesktopLauncherIcon.cpp (+19/-6)
launcher/DesktopLauncherIcon.h (+4/-12)
launcher/DeviceLauncherSection.cpp (+14/-7)
launcher/DeviceLauncherSection.h (+3/-5)
launcher/DndData.cpp (+5/-5)
launcher/DndData.h (+1/-1)
launcher/ExpoLauncherIcon.cpp (+64/-0)
launcher/ExpoLauncherIcon.h (+45/-0)
launcher/FavoriteStore.cpp (+93/-4)
launcher/FavoriteStore.h (+21/-8)
launcher/FavoriteStoreGSettings.cpp (+67/-68)
launcher/FavoriteStoreGSettings.h (+7/-4)
launcher/FavoriteStorePrivate.cpp (+14/-0)
launcher/FavoriteStorePrivate.h (+3/-1)
launcher/HudLauncherIcon.cpp (+2/-1)
launcher/Launcher.cpp (+82/-108)
launcher/Launcher.h (+5/-8)
launcher/LauncherController.cpp (+526/-341)
launcher/LauncherController.h (+1/-3)
launcher/LauncherControllerPrivate.h (+28/-41)
launcher/LauncherIcon.cpp (+31/-4)
launcher/LauncherIcon.h (+5/-9)
launcher/LauncherModel.cpp (+34/-32)
launcher/MockLauncherIcon.h (+11/-15)
launcher/SoftwareCenterLauncherIcon.cpp (+27/-38)
launcher/SoftwareCenterLauncherIcon.h (+1/-1)
launcher/SpacerLauncherIcon.cpp (+1/-1)
launcher/SpacerLauncherIcon.h (+0/-4)
launcher/StandaloneLauncher.cpp (+1/-1)
launcher/TrashLauncherIcon.cpp (+1/-0)
launcher/VolumeLauncherIcon.cpp (+34/-4)
launcher/VolumeLauncherIcon.h (+3/-0)
manual-tests/Launcher.txt (+15/-0)
panel/PanelMenuView.h (+0/-1)
plugins/unityshell/src/unityshell.cpp (+5/-7)
plugins/unityshell/unityshell.xml.in (+0/-6)
tests/CMakeLists.txt (+19/-11)
tests/gmockvolume.c (+3/-2)
tests/test_bamf_launcher_icon.cpp (+70/-2)
tests/test_bfb_launcher_icon.cpp (+11/-8)
tests/test_desktop_launcher_icon.cpp (+80/-0)
tests/test_desktop_utilities.cpp (+52/-22)
tests/test_device_launcher_section.cpp (+19/-54)
tests/test_expo_launcher_icon.cpp (+58/-0)
tests/test_favorite_store.cpp (+111/-0)
tests/test_favorite_store_gsettings.cpp (+52/-29)
tests/test_hud_launcher_icon.cpp (+53/-0)
tests/test_launcher.cpp (+226/-15)
tests/test_launcher_controller.cpp (+1246/-44)
tests/test_launcher_icon.cpp (+113/-0)
tests/test_launcher_model.cpp (+182/-40)
tests/test_main.cpp (+1/-0)
tests/test_main_xless.cpp (+1/-1)
tests/test_mock_devices.h (+93/-0)
tests/test_software_center_launcher_icon.cpp (+74/-0)
tests/test_trash_launcher_icon.cpp (+39/-0)
tests/test_volume_launcher_icon.cpp (+67/-46)
unity-shared/PluginAdapter.h (+2/-0)
unity-shared/PluginAdapterCompiz.cpp (+5/-0)
unity-shared/PluginAdapterStandalone.cpp (+15/-7)
unity-shared/WindowManager.cpp (+5/-0)
unity-shared/WindowManager.h (+1/-0)
unity-standalone/StandaloneUnity.cpp (+2/-2)
- Andrea Azzarone (community): Approve
- jenkins: Pending (continuous-integration) requested
-
Diff: 1314 lines (+513/-454) 7 files modifiedapilauncher/Launcher.cpp (+2/-1)
launcher/LauncherController.cpp (+1/-6)
launcher/LauncherModel.cpp (+191/-202)
launcher/LauncherModel.h (+19/-20)
launcher/MockLauncherIcon.h (+9/-9)
tests/test_launcher.cpp (+0/-4)
tests/test_launcher_model.cpp (+291/-212)
- Andrea Azzarone (community): Approve
- Brandon Schaefer (community): Approve
-
Diff: 7558 lines (+3857/-1097) 72 files modifiedapiUnityCore/DesktopUtilities.cpp (+29/-9)
UnityCore/DesktopUtilities.h (+1/-0)
UnityCore/GLibDBusProxy.cpp (+0/-4)
com.canonical.Unity.gschema.xml (+3/-3)
launcher/AbstractLauncherIcon.h (+16/-2)
launcher/BFBLauncherIcon.cpp (+1/-0)
launcher/BamfLauncherIcon.cpp (+31/-48)
launcher/BamfLauncherIcon.h (+0/-1)
launcher/CMakeLists.txt (+1/-0)
launcher/DesktopLauncherIcon.cpp (+19/-6)
launcher/DesktopLauncherIcon.h (+4/-12)
launcher/DeviceLauncherSection.cpp (+14/-7)
launcher/DeviceLauncherSection.h (+3/-5)
launcher/DndData.cpp (+5/-5)
launcher/DndData.h (+1/-1)
launcher/ExpoLauncherIcon.cpp (+64/-0)
launcher/ExpoLauncherIcon.h (+45/-0)
launcher/FavoriteStore.cpp (+93/-4)
launcher/FavoriteStore.h (+21/-8)
launcher/FavoriteStoreGSettings.cpp (+67/-68)
launcher/FavoriteStoreGSettings.h (+7/-4)
launcher/FavoriteStorePrivate.cpp (+14/-0)
launcher/FavoriteStorePrivate.h (+3/-1)
launcher/HudLauncherIcon.cpp (+2/-1)
launcher/Launcher.cpp (+83/-108)
launcher/Launcher.h (+5/-8)
launcher/LauncherController.cpp (+526/-341)
launcher/LauncherController.h (+1/-3)
launcher/LauncherControllerPrivate.h (+28/-41)
launcher/LauncherIcon.cpp (+31/-4)
launcher/LauncherIcon.h (+5/-9)
launcher/LauncherModel.cpp (+34/-32)
launcher/MockLauncherIcon.h (+11/-15)
launcher/SoftwareCenterLauncherIcon.cpp (+27/-38)
launcher/SoftwareCenterLauncherIcon.h (+1/-1)
launcher/SpacerLauncherIcon.cpp (+1/-1)
launcher/SpacerLauncherIcon.h (+0/-4)
launcher/StandaloneLauncher.cpp (+1/-1)
launcher/TrashLauncherIcon.cpp (+1/-0)
launcher/VolumeLauncherIcon.cpp (+34/-4)
launcher/VolumeLauncherIcon.h (+3/-0)
manual-tests/Launcher.txt (+15/-0)
panel/PanelMenuView.h (+0/-1)
plugins/unityshell/src/unityshell.cpp (+5/-7)
plugins/unityshell/unityshell.xml.in (+0/-6)
tests/CMakeLists.txt (+19/-11)
tests/gmockvolume.c (+4/-3)
tests/test_bamf_launcher_icon.cpp (+70/-2)
tests/test_bfb_launcher_icon.cpp (+11/-8)
tests/test_desktop_launcher_icon.cpp (+80/-0)
tests/test_desktop_utilities.cpp (+52/-22)
tests/test_device_launcher_section.cpp (+19/-54)
tests/test_expo_launcher_icon.cpp (+58/-0)
tests/test_favorite_store.cpp (+111/-0)
tests/test_favorite_store_gsettings.cpp (+52/-29)
tests/test_hud_launcher_icon.cpp (+53/-0)
tests/test_launcher.cpp (+226/-15)
tests/test_launcher_controller.cpp (+1246/-44)
tests/test_launcher_icon.cpp (+113/-0)
tests/test_launcher_model.cpp (+182/-40)
tests/test_main.cpp (+1/-0)
tests/test_main_xless.cpp (+1/-1)
tests/test_mock_devices.h (+93/-0)
tests/test_software_center_launcher_icon.cpp (+74/-0)
tests/test_trash_launcher_icon.cpp (+39/-0)
tests/test_volume_launcher_icon.cpp (+67/-46)
unity-shared/PluginAdapter.h (+2/-0)
unity-shared/PluginAdapterCompiz.cpp (+5/-0)
unity-shared/PluginAdapterStandalone.cpp (+15/-7)
unity-shared/WindowManager.cpp (+5/-0)
unity-shared/WindowManager.h (+1/-0)
unity-standalone/StandaloneUnity.cpp (+2/-2)
- Michal Hruby (community): Approve
-
Diff: 54 lines (+20/-6) 2 files modifiedapisrc/unity-launcher.vala (+17/-5)
test/vala/test-launcher-integration.vala (+3/-1)
You are talking about Unity and not Unity-2d correct?
Yes, Unity and not Unity-2d. Sorry for the confusion.
This actually seems to affect both projects, although unity and unity-2d behave slightly differently:
- in unity, applications and lenses can be re-organized, as long as they remain in their "family" of tiles
- in unity-2d, only applications can be re-organized, and like in unity, they must remain in their family of tiles
+ [launcher] Workspace Switcher icon cannot be moved
However I think this restriction is enforced by design. Leaving the bug status "New" until someone from the design team can confirm/invalidate.
I think we'd like to move to having much more flexibility, with the
exception of Trash always being at the bottom. So you should be able to
move or remove Apps, Files and Workspaces.
Mark
I'd have no problem with the Workspace switcher being locked in position, but I would prefer its location be one of the following:
1. The very top.
2. Just above (or just below) the Trash.
I feel that either of those locations would be better for muscle memory, because its current position in the middle of the bar, varying depending on how many applications are open, can be cumbersome in that regard.
What about adding some right-click functions to it, like locking it in place, as with gnome-panel applets. That should address the requirement that is locking it down now.
Other suggestions (r-click) -- /*sorry if these are in the wrong place, consider them additional motivation for above suggestion*/:
- remove from launcher (i.e. disable 'Keep in Launcher') [!!]
- goto workspace X
- workspace preferences (like defining the number of desktops, similar to compizconfig settings)
Could this be implemented by extending the /desktop/
> Could this be implemented...
It could probably be implemented this way, but in any case, we should first agree on a common implementation, because at the moment unity-2d still stores its favorites in GConf while Unity uses gsettings. We don’t want to loose a functionality the day unity-2d transitions to gsettings...
> Can there be more than one workspace...
The correct term is "Workspace switcher", and it doesn’t really make sense to have more than one instance of it.
Just to be clear, in Oneiric it should be possible to add or remove any
Place AND the Workspace switcher to the Launcher. The experience for
each of these should be: you search through the Dash, find them, drag
them to the launcher and can put them wherever you want. The only
fixed-location item in the Launcher will be Trash.
Mark
I hope in addition Dash favorite adds it program and Folder
Wow, it's good to see that there is a clear intention to make the icons in Launcher fully user-configurable , including the special ones like Workspaces .
But why is Trash treated as a special case ?
The user should be allowed to (re)move it , too .
all icons for apps [spawned or 'kept in launcher'] seem to place themselves above workspace switcher icon. trash remains at its usual place [bottom]. looks alright to me. guess this one IS fixed.
however, i do like the idea of having workspace switcher in fixed position above trash icon.
amd64
unity2d
oneiric
+ [launcher] All launcher icons should be moveable except trash
+ [launcher] All launcher icons should be moveable except trash and BFB
i too would like to see this feature in Unity for Ubuntu 12.04 + ? please. highly un-ergonomic positioned as it is next to trash. looking forward to it guys .... :)
+ [FFE] [launcher] All launcher icons should be moveable except trash and
+ BFB
- BFB
+ [FFE] All launcher icons should be moveable except trash and BFB
This is reasonable, thanks for the clear request. Approved, please go ahead.
This bug was fixed in the package unity - 6.6.0-0ubuntu1
---------------
unity (6.6.0-0ubuntu1) quantal-proposed; urgency=low
* New upstream release.
- Fixes non-escaped character sequences in dash previews (LP: #1039020)
- Updated background layer for preview cover-art and details panels
to be 10% low-light
- Expand a PlacesGroup if it is the only category that contains results
(LP: #950710)
- Update unity autopilot tests to match autopilot API
- Updated the convert files to fix some typos in the key names
- Add gmodule dependency
- Activate proper result if the categories aren't displayed in-order
(LP: #1040101)
- Refactor device launcher icons (LP: #713423)
- LauncherController: make the controller enable the launcher struts,
based on hide-mode option (LP: #1044005)
- Launcher: make always possible to drag an icon to the bottom or top
of its sub list (LP: #1043968)
- Don't desat bfb/hud icon in DNDReset (LP: #1043963)
- Progressively adjust the speed of the minimize animation. First
time it is used is slower, then speeds up the more it is used.
(LP: #1017510)
- Implement new ordering of categories for home lens. (LP: #1043915)
- UnityWindow now implements ScaleWindowInte
- Launcher: restore an icon position after that the dragging has been
cancelled (LP: #955561)
- LauncherDragWindow: cancel drag on window mapped/unmapped
(LP: #1044723)
- Now there is a check of an override color in RefreshColor (which is
called when a PropertyNotify event happens). Also added a check in
FullySatu
- Queue redraw after cover-art texture is updated from a url/file source.
(LP: #1043947)
- Fixed ability to delete glib::Source wrapper during its callback
(LP: #1044823)
- Close preview when dash is hidden. (LP: #1045298)
- LauncherModel: rewrite the Reordering functions to keep the icon
priority deltas (LP: #761155)
- Make sure we can pass extra hints when activating preview actions.
(LP: #1046352)
- UnityWindow: scale window code improved (LP: #1033935)
- The mouse will now cause the HUD buttons to change selection
(LP: #1042692)
- "Alt+Space" shortcut to reveal the window menu is not hardcoded, but a
Compiz key option. " (Hold)" should also be translated. Made all
Compiz plug-in names and all Compiz plug-in option names in
- remove unity --reset, it's not anymore really needed now that we are
in stable days of unity and we moved to gsettings
- Removed the variables 'oldPrev' and 'oldNext' which got assigned the
value NULL, but then were never used
- Fixed the size of the previews to 770x380 pixels. (LP: #1045243)
- UnityWindow: use smart pointers, use static close_icon (with dynamic
state) and PanelStyle context (LP: #1033935) (LP: #1045127)
(LP: #1046124) (LP: #1046126)
- Remove everything in the #ifndef USE_MODERN_
the ifdefs alltogether. unity now requires compiz...
removed: udo udp