The Sidebar
GNOME Shell now has a sidebar.
Notes from the Hackfest
The original hackfest writeup says:
Widgets and application launchers can be placed on the optional sidebar.
The task list will be available via the overlay mode or the sidebar.
As we expect the sidebar to contain some desirable functionality, we are including a view sidebar toggle in [the user] menu.
The sidebar should be placed on the left side underneath the "Activities" button and be transformed into the activities/files selector sidebar in the overlay mode.
The sidebar should come preconfigured with useful widgets, like a recent files selector/Journal widget, task list widget, most used applications widget, and some fun ones, like Rhythmbox current song album art display. The sidebar should have two modes - a wide one and a slim one that only contains icons. It should be possible to drag the widgets out from the sidebar to the desktop or to rearrange their positions on the sidebar. It should also be possible to remove a widget by right-clicking on it and selecting a remove option from the menu.
Widgets selection should be available from the desktop preferences menu or there should be an "add a widget" option on the sidebar. It should be possible to add Google Gadgets as desktop widgets.
Since the sidebar is optional, it doesn't have to be available and shouldn't be needed in the portrait mode.
The sidebar mode and widget placing should be the same across all workspaces. Because it should be possible to place the widgets on the desktop, an empty workspace would make all the widgets visible. We can call it My(Work)Space and make it available as some sort of a desktop homepage for the user, similar to the iGoogle homepage.
Current Status
The sidebar is still in an early stage, in terms of graphic design and functionality. However, it already does a bunch of things:
- It has wide and narrow modes. It defaults to wide, although I always end up switching it immediately to narrow...
- There are three widgets in it by default (clock, applications, and recent documents), plus the wide/narrow toggle widget.
- The three widgets demonstrate various features; in the wide view a widget has an (optional) title, with a content area underneath. In the narrow view the widget can provide alternative content (like the clock and app launcher). If it doesn't, then only its title will be shown, rotated, and the wide-view content will pop out when you mouse over it.
- (There's currently no way for a widget to support both alternative narrow content and pop-out, though this might be useful in cases like the clock where the content is non-reactive and so there'd be no reason to mouse over the narrow view other than to get the pop-out.)
Notably missing:
- The list of widgets to show is currently hardcoded in an array in sidebar.js, and we need some way to configure that obviously. There's no UI way to add additional widgets, remove widgets, or rearrange widgets
- There's no way to hide it completely.
- It doesn't actually transform into the overlay sidebar, but given how different they are graphically, it's not clear that this is still a good idea.
- There's no support for Google Gadgets or widgets on the desktop rather than in the sidebar. (Widgets on the desktop or in a dashboard-like layer seem like they should probably be something fairly different; they don't have the same size constraints as sidebar widgets, etc.)
It is debatable the extent to which it comes "preconfigured with useful widgets"
Open Design Questions
Well, this could be anywhere from "should this be redesigned completely?" to "are there any minor tweaks we need?"
The basic design is stolen from OnlineDesktop's BigBoard, so the general idea has gotten some design love at some point.
Several people have suggested moving it to the right side of the screen, to avoid breaking the "fittsianness" of the left edge. Of course, putting it on the right side would de-fittsify the scrollbars of maximized windows. We may want to try out both ways.
Should widgets be constrained to be the same height in wide and narrow modes? (Currently, due to buggy logic, widgets that don't provide a special narrow view [like the docs widget] are constrained, but widgets that provide separate views [like the apps widget] aren't.)
Widgets
What additional widgets should we have?
Suggested by the hackfest notes:
- Arbitrary app launchers
- (Not sure this is actually interesting if you have most-frequently-used app launchers.)
- Task list replacement
- Obviously would have to be different from current task bar graphically, especially in narrow mode
- Could easily be used as a dock for minimized windows, and to show urgency hints
- Is this turning into the OS X dock then?
- "fun ones like Rhythmbox current song album art display"
Other ideas:
We could dock some notification icons there instead of in the panel. (Doesn't currently work because ShellGtkEmbed isn't fully recognized as a ClutterActor because introspection doesn't know about ClutterGLXTexturePixmap.)
- Anything we currently use panel applets for:
- Calendar/appointment display
- World time
- Weather
- Stock ticker, fortune-telling fish, etc
- Notifications?
- Social networking
- IMs, Tweets, Facebook updates, etc
- Look at popular Google Gadgets, etc