Table of Contents

Thunar: Redesign of the Shortcuts Pane

A project brought to you by the Xfce Design SIG.

Old ideas and discussions can be read in the page history.

Description

Thunar offers two different side panes, a directory tree and a side pane with shortcuts, called the shortcuts pane. The shortcuts pane was not updated in Thunar 1.2 despite the functionality added by GIO, such as the availability to mount archives or browse remote locations. A straight-forward way to extend the current shortcuts pane would be to simply add the new items into the flat list that is shown under Current Design. However, we felt that we can do better and we are looking for suggestions on how to improve the current design to a) integrate the new features and b) look more appealing.
Git repository for test-code

Current Design

Here are two screenshots of the current user interface of Thunar. The second shot is a good example of how cluttered the side pane looks as soon as more devices are attached to the computer:

Problems / Comments

New Design

Categories in the Shortcuts Pane

Here's our list of categories, we still have to settle on what comes first (“network” comes last):

Mockups

Quick Mockup of an Early Custom Button Idea

GIMP source: http://users.xfce.org/~jannis/xfce/thunar-shortcut-button.xcf

Comments

Early Glade Mockup Using Buttons and Expanders

Comments

Mockup After Initial Discussions

GIMP source

Comments

Implemented Mockup using Expanders and a Custom Row Widget

Comments

Summarized Requirements List and Implementation Status

The following criteria were identified as necessary and/or desirable for the new design of the shortcuts pane. The IDs are prefixed with A for Appearance, B for Behavior and I for Implementation. The discussions about these criteria can be read in the page history.

The status cells are color coded:

ID Description Mockup custom-view Thunar
A01 Categories have a down array and can be expanded @palegreen: Yes @palegreen: Yes
A02 Items are left-aligned with category titles – (only fixed indentation at the moment) @palegreen: Yes
A03 Items have an icon, an ellipsized title and an action area with a button @palegreen: Yes @palegreen: Yes
A04 Items have uniform size (height in particular) @palegreen: Yes @palegreen: Yes
A05 Items are highlighted on hover @palegreen: Yes @palegreen: Yes
A06 Items and action buttons are highlighted independently depending on the mouse position @palegreen: Yes @palegreen: Yes
A07 The padding of the view can be configured by the theme
A08 The background color of the view can be configured by the theme @palegreen: Yes @palegreen: Yes
B01 Categories can be expanded with mouse and keyboard @palegreen: Yes @palegreen: Yes
B02 Categories are not selected/focused when clicked/double-clicked with the mouse @palegreen: Yes @palegreen: Yes
B03 Categories can be cycled through with the keyboard @palegreen: Yes (tab key) @palegreen: Yes (tab key)
B04 Categories are expanded with a single click @palegreen: Yes @palegreen: Yes
B05 Items can be navigated with keyboard and mouse @palegreen: Yes (arrow keys) @palegreen: Yes (arrow keys)
B06 Items and action buttons can be focused/activated independently @palegreen: Yes @palegreen: Yes
B07 Items and action buttons are selected/focused/activated with a single click @palegreen: Yes @palegreen: Yes
B08 Activating an item replaces its action button icon with a spinner until it is mounted and loaded @palegreen: Yes
B09 Activating an action button replaces its icon with a spinner until the eject operation is finished @palegreen: Yes @palegreen: Yes
B10 Dragging a URI to empty area or a category title opens a free spot in the category it belongs to @lightgrey: Partly
B11 Dragging a URI to an item works just like with dragging to folders in Thunar @palegreen: Yes
B12 Dropping a URI on empty area or a category title creates a bookmark in the correct category
B13 Dropping a URI on an item copies/moves/links the URI into the corresponding folder or mount point. The selection/focus is not changed @palegreen: Yes
B14 Categories/items remain selected when unfocusing the Thunar window @palegreen: Yes
B15 Right-clicking the empty area displays a context menu
B16 The empty area context menu has an item to edit the items in the shortcuts pane
B16 Right-clicking a category title displays a context menu @palegreen: Yes
B17 The category context menu has an item to hide the category
B18 The category context menu has an visibility check box item for each item available in the category @orange: Yes (not saved yet)
B19 Right-clicking an item displays a context menu @palegreen: Yes
B20 The item context menu has an item to mount the item if not mounted yet @palegreen: Yes
B21 The item context menu has an item to unmount the item if mounted @palegreen: Yes
B22 The item context menu has an item to safely remove (or disconnect) the corresponding device if there is one @palegreen: Yes
B23 If a new mount or volume becomes available and the corresponding category is collapsed, its header flashes a few times (e.g. by changing the background color) @palegreen: Yes
B24 Dragging a URI to the empty area or a category title with the right mouse button pops up a context menu where the user can choose between a temporary and permanent bookmark in the category
B25 Dragging an item to a different location reorders the items in a category @orange: Yes (not saved yet)
B26 The DEVICES category displays system volumes (hidden by default), removable volumes and mounted archives @orange: Yes (system volumes not hidden yet)
B27 The PLACES category displays the home, desktop and trash directories plus XDG user dirs plus local URIs from ~/.gtk-bookmarks @orange: Yes (XDG user dirs not included yet)
B28 The NETWORK category displays all remote URIs from ~/.gtk-bookmarks and all mounted remote locations @palegreen: Yes
B29 Items are selected whenever the corresponding folder is opened in folder view @palegreen: Yes
I01 Categories and items are stored in an implementation of GtkTreeModel @palegreen: Yes
I02 Expanders and a custom row widget are used instead of a GtkTreeView @palegreen: Yes @palegreen: Yes

Comments

Implementation Notes

References

Nautilus: Mockup from 2008

Source: http://www.bomahy.nl/hylke/blog/clutter-in-nautilus-sidebar/

Comments

Nautilus: Current Design (GNOME 3, 2011)

1291455266260.jpg

Source: http://derstandard.at/1291454133084/WebStandard-Update-GNOME-3-Die-naechste-Desktop-Generation-glaenzt-im-neuen-Look

Comments

OS X Finder

handbrake_203.jpg

Sources: http://osxhelp.com/customizing-the-finder-sidebar-in-os-x/ http://www.macwize.com/HOWTO/files/application_installation.html

Comments

Marlin File Browser (mockup)

Source: http://www.omgubuntu.co.uk/2010/11/nautilus-elementary-is-dead-marlin-file-browser/

Comments