Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
design:thunar:shortcuts-pane [2011/06/07 04:29] – [Summarized Requirements List and Implementation Status] jannisdesign:thunar:shortcuts-pane [2012/10/05 14:41] (current) jannis
Line 14: Line 14:
 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: 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:
  
-{{http://mocha.xfce.org/~jannis/screenshots/xfce/thunar-shortcuts-pane-20110526.png?200}} {{http://molly.corsac.net/~corsac/xfce/thunar.png?490}}+{{http://users.xfce.org/~jannis/screenshots/xfce/thunar-shortcuts-pane-20110526.png?200}} {{http://molly.corsac.net/~corsac/xfce/thunar.png?490}}
  
 ==== Problems / Comments ==== ==== Problems / Comments ====
Line 35: Line 35:
 === Quick Mockup of an Early Custom Button Idea === === Quick Mockup of an Early Custom Button Idea ===
  
-{{http://mocha.xfce.org/~jannis/xfce/thunar-shortcut-button.png}}+{{http://users.xfce.org/~jannis/xfce/thunar-shortcut-button.png}}
  
-GIMP source: http://mocha.xfce.org/~jannis/xfce/thunar-shortcut-button.xcf+GIMP source: http://users.xfce.org/~jannis/xfce/thunar-shortcut-button.xcf
  
 == Comments == == Comments ==
Line 45: Line 45:
 === Early Glade Mockup Using Buttons and Expanders === === Early Glade Mockup Using Buttons and Expanders ===
  
-{{http://mocha.xfce.org/~jannis/xfce/thunar-shortcut-button-no-custom.png}}+{{http://users.xfce.org/~jannis/xfce/thunar-shortcut-button-no-custom.png}}
  
 == Comments == == Comments ==
Line 65: Line 65:
 === Implemented Mockup using Expanders and a Custom Row Widget === === Implemented Mockup using Expanders and a Custom Row Widget ===
  
-{{http://mocha.xfce.org/~jannis/screenshots/xfce/thunar-shortcuts-pane-custom-20110604-1.png}}+{{http://users.xfce.org/~jannis/screenshots/xfce/thunar-shortcuts-pane-custom-20110604-1.png}}
  
 == Comments == == Comments ==
Line 84: Line 84:
 | **ID** | **Description** | Mockup **custom-view** | **Thunar** | | **ID** | **Description** | Mockup **custom-view** | **Thunar** |
 | A01 | Categories have a down array and can be expanded | @palegreen: Yes | @palegreen: Yes | | 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) | -- (only fixed indentation at the moment) |+| 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 | | 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 | | A04 | Items have uniform size (height in particular) | @palegreen: Yes | @palegreen: Yes |
Line 92: Line 92:
 | A08 | The background color of the view can be configured by the theme | @palegreen: Yes | @palegreen: Yes | | 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 | | 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 | -- |+| 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) | | 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 | | B04 | Categories are expanded with a single click | @palegreen: Yes | @palegreen: Yes |
Line 99: Line 99:
 | B07 | Items and action buttons are selected/focused/activated with a single click | @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 | | 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 | @orange: |+| B09 | Activating an action button replaces its icon with a spinner until the eject operation is finished | @palegreen: Yes | @palegreenYes |
 | B10 | Dragging a URI to empty area or a category title opens a free spot in the category it belongs to | @lightgrey: Partly | -- | | 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 | -- | -- |+| 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 | -- | -- | | 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 | -- | -- |+| 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 | | B14 | Categories/items remain selected when unfocusing the Thunar window | -- | @palegreen: Yes |
 | B15 | Right-clicking the empty area displays a context menu | -- | -- | | 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 | 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 | -- | -- |+| B16 | Right-clicking a category title displays a context menu | -- | @palegreen: Yes |
 | B17 | The category context menu has an item to hide the category | -- | -- | | B17 | The category context menu has an item to hide the category | -- | -- |
-| B18 | The category context menu has an item to edit the items in the side pane | -- | -- +| 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 | -- | -- +| B19 | Right-clicking an item displays a context menu | -- | @palegreen: Yes 
-| B20 | The item context menu has an item to hide the item | -- | -- | +| 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 mount the item if not mounted yet | -- | -- +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 eject the item if mounted | -- | -- +B22 | The item context menu has an item to safely remove (or disconnect) the corresponding device if there is one | -- | @palegreen: Yes 
-B23 | The item context menu has an item to safely remove the corresponding device if there is one | -- | -- +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 | If a new device is plugged in and the devices section is collapsed, the header should blink a few times (e.g. by changing the background color) | -- | -- +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 a URI to the empty area or a category title displays a context menu where the user can choose between a temporary and permanent bookmark | -- | -- | +B25 | Dragging an item to a different location reorders the items in a category | -- | @orange: Yes (not saved yet) 
-B26 | Dragging an item to a different location reorders the items in a category | -- | -- +B26 | The DEVICES category displays system volumes (hidden by default), removable volumes and mounted archives | -- | @orange: Yes (system volumes not hidden yet) 
-B27 | The DEVICES category displays system volumes (hidden by default), removable volumes and mounted archives | -- | -- +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 PLACES category displays the home, desktop and trash directories plus XDG user dirs plus local URIs from ''~/.gtk-bookmarks'' | -- | -- +B28 | The NETWORK category displays all remote URIs from ''~/.gtk-bookmarks'' and all mounted remote locations | -- | @palegreen: Yes | 
-B29 | The NETWORK category displays all remote URIs from ''~/.gtk-bookmarks'' and all mounted remote locations | -- | -- |+| 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 | | 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 | | I02 | Expanders and a custom row widget are used instead of a GtkTreeView | @palegreen: Yes | @palegreen: Yes |
Line 127: Line 127:
  
   * **B20:** Firstly, this would pollute the context-menu. Secondly (and more importantly) this is not a very good option for a context-menu, because you can __only__ hide the item, not unhide it from there. I think in terms of consistency for the user (meaning: "Where do I change this or that behavior?") one place to hide and unhide is better (e.g. the thunar preferences-dialog). Other stuff like making an item non-/persistent makes more sense, simply because the item doesn't disappear as a result of setting that option. --- //[[simon.steinbeiss@univie.ac.at|Simon Steinbeiß]] 2011/06/06 16:53//   * **B20:** Firstly, this would pollute the context-menu. Secondly (and more importantly) this is not a very good option for a context-menu, because you can __only__ hide the item, not unhide it from there. I think in terms of consistency for the user (meaning: "Where do I change this or that behavior?") one place to hide and unhide is better (e.g. the thunar preferences-dialog). Other stuff like making an item non-/persistent makes more sense, simply because the item doesn't disappear as a result of setting that option. --- //[[simon.steinbeiss@univie.ac.at|Simon Steinbeiß]] 2011/06/06 16:53//
 +    * True, I removed it from the list (so B20 now refers to something else). --- //[[jannis@xfce.org|Jannis Pohlmann]] 2011/09/07 02:01//
 +
 +=== Implementation Notes ===
 +
 +  * We need to distinguish various types of files, mounts and volumes:
 +    * **local (or //regular//) files** that are not associated with a mount
 +    * **remote files** that are **optionally associated with a mount** (this is the case with remote bookmarks; as soon as they are mounted, a mount will be created and we need to attach it to the shortcut)
 +    * **mounts** that are **not associated with a volume** (this is the case with mounts of remote bookmarks, mounted archives and samba shares; mounts of remote bookmarks need to be attachd to remote bookmark shortcuts, others need to be displayed as a stand-alone shortcut either in the devices or network category)
 +    * **mounts** that are **associated with a volume** (these should be ignored)
 +    * **volumes** that have a mount and **for which pressing eject should only unmount/eject that mount** (these are USB sticks etc.)
 +    * **volumes** that have a mount and **for which pressing eject should eject the entire device** (these are CD drives etc.)
 ===== References ===== ===== References =====