Issue metadata
Sign in to add a comment
|
App List: Consider putting app list into it's own container |
||||||||||||||||||||||
Issue descriptionCurrently app list is created in the default container (USER_WINDOWS). It might be better to create it in a separate container, like it's done in classic Ash, although it's not clear to me if this is necessary.
,
May 11 2016
Should the app list window interact with its shelf item (show running state, etc.) just like other mash shelf items? They'd share an app_id via the pinned ShelfItem and UserWindow, and then it'd make sense for the app list to reside in the USER_WINDOWS container. https://code.google.com/p/chromium/codesearch#chromium/src/mash/shelf/public/interfaces/shelf.mojom&l=64 https://code.google.com/p/chromium/codesearch#chromium/src/mash/wm/public/interfaces/user_window_controller.mojom&l=12
,
May 12 2016
I think we'd want the same behavior as what we have on classic CrOS devices - a dedicated launcher button, which would get highlighted whenever the app list is shown. So visually it should look different from regular apps, but logically it's pretty similar. In classic ash there is some ugly coupling to achieve this: https://code.google.com/p/chromium/codesearch#chromium/src/ash/app_list/app_list_presenter_delegate.cc&l=210 BTW, classic CrOS also has auto-hide setting for the shelf (https://code.google.com/p/chromium/codesearch#chromium/src/ash/app_list/app_list_presenter_delegate.cc&l=210), and when in this state, showing the app list auto-shows the shelf.
,
May 12 2016
The ash-side ShelfDelegateMus::OnUserWindowAdded could perform those extra actions (updating the icon and tweaking auto-hide) when |user_window->window_app_id| matches a known app-list id constant. Perhaps there's complexity I'm missing, but it seems reasonable (and better than adding more mojo interface complexity?).
,
May 12 2016
SGTM. I will close this bug and create a new one for app list to set some constant app id, and for ShelfDelegateMus::OnUserWindowAdded to check for that app id and update the state of the launcher icon, etc.
,
May 12 2016
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by mfomitchev@chromium.org
, May 11 2016We can create a new method: AppListViewDelegate::OnBeforeBubbleWidgetInit() and then make app_list::AppListView::OnBeforeBubbleWidgetInit call into it. Then inside AppListViewDelegate::OnBeforeBubbleWidgetInit() we could have "if (chrome::IsRunningInMash()) { // configure container id }". Or have a separate AppListViewDelegateMus class which would do that. Also see issue 610909 for how the container could be configured through InitParams (rather than by creating mus::Window/NativeWidgetMus manually).