UI under development. Designs are subject to change.
Panels in Chromium OS are used as containers that allow a user to multitask without leaving the view of their current application. For example, with a music player and chat in panels, a user can control the playback of their music and chat with a friend while watching a video or reading a long document in their main view.
Window manager interactions
Panels are always-on-top, and are not attached to a specific window. New panels open to the left of existing panels.
Panels are minimized and maximized by clicking on their titlebar. When minimized, a panel is shifted so that only a few pixels of its titlebar are visible on-screen (this is the 'minimized' state).
When the user's mouse hits the bottom edge of the screen, any minimized panels slide up to reveal the text in their titlebars (this is the 'peeking' state). Clicking on these titlebars will restore the panel to its original size.
If a panel is restored with the mouse cursor at the bottom edge of the screen, a widget will appear under the user's mouse cursor that will minimize the panel when clicked. The widget disappears as soon as the user's mouse moves away from the edge. This allows users to quickly open and close panels.
If a panel is minimized when its title changes, it bounces up to its 'peeking' state and potentially flashes its background. This allows for a lightweight alert system without having fullsize panels onscreen.
Panels are right-aligned, and automatically arrange themselves in order to not overlap. If a user drags a panel to the left away from the main group of panels, it is pushed to the left of all auto-arranged panels until the user explicitly reorders it into the auto arranged set. It will attempt to hold the defined position until it is pushed out of the way.
In the case where a panel's width exceeds some predetermined max-width value ('X'), the panel is auto-arranged as if it is has width of 'X'. The contents of the panel are displayed above or below other panels in MRU order, relying on the user to open and minimize the panels as they see fit.
Multiple options exist for overflow (which is to say that we haven't decided yet):
- Only show as many panels that fit - others fall off the screen and are inaccessible until the onscreen panels are closed.
- Horizontal scrolling
- Add a widget to the left side that contains the overflowed items.
Panels can be dragged to sidebars on the left or right of the screen.
Experiments / Controversial features
- Ability to detach panels to regular floating 'always on top' windows on ChromeOS.
- Pro: more flexible
- Con: lets users be in a bad state
- Bottom-edge click to dismiss.
- Pro: easier to minimize panels
- Con: harder to focus bottom-edge panel content (e.g. chatbox)
Themes will not apply to panels.