I haven’t used tabbed file management yet (as I am a devoted Sala disciple
) but I think that it could be really useful. So I will not try to depict an
ideal implementation (as I lack experience) but what would be an
ideal start for me as a newbie on tabbed browsing.
Credits go to
JohnFredC,
jis,
mazy(in
this thread), TC, SC and Firefox for inspiration.
Let’s start with my
Guiding principles
- Intuitive (the first user’s guess about the behavior should be right; well, at least the second)
- Consistent (tabbed browsing should be consistent with the behavior of panel browsing and other features in SS)
- Minimized configuration/options (if there is one intuitive approach, then take that, even if some users might want it differently)
- Equal or better than competitors implementation (not that I am concerned about that)
- No annoyances (well, you could say this covers it all)
So then, let’s start with the
Architecture
I found the following related statements on the roadmap
- Tree view, Quick view, Information view.
- Browsing network neighborhood in panel.
- Folders browser in panel (My Computer, Desktop, Control Panel, Recycle Bin, etc.)
So there will be more than directories in panels (very nice, btw). There are also some ideas out about
workspacesetc., therefore I would like to
1) handle a tab group as a group of panels, not as a group of directories
This would have the following consequences
- Enable tabbed browsing for all types of folders not only for directories
- Allow to freely mix directories, quick views, tree views, virtual folders etc. in a tab group
- Everything that works for a panel now should work for a tab (e.g. configuration)
And another statement from the roadmap
- Structured and unlimited Hot Paths
That rang a bell and I remembered the Firefox implementation, so why not
2) Integrate tab group management with hot path management and treat a tab group as a named collection of hot paths
This would have some interesting implications. If fully implemented it should be possible to have a tab group of tab groups ...
Out of the first two follows a third architectural request:
3) Expand hot paths to hot panels
That means that hot paths/panels should remember filters, sort orders, display style etc. (like panels do today, when re-establishing last state on start-up of Sala)
Next step is
General Behaviour and Display
- Save tab configuration on shut-down. Re-open last state on start-up (consistent with behavior of panels in SS2.5)
- Show tab-bar at top (Windows GUI style)
- Add new tab to the right of tab list (there I would expect a new tab)
- Any directory selection per hot path, directory change etc. should only affect the active tab (should not replace whole tab group, somehow obvious I think)
- Remember tab configuration like sorting, filter, layout etc. (follows directly out of the architecture)
- Tab name should equal the folder name (dynamic). Once the name has been edited manually it should become static.
Now to the
User Interface
I am a mouse-centric user, so I will focus on that part:
- Allow drag and drop to arrange tabs (even across panels)
- Allow drag and drop to pull folders to the tab bar (also cross-panel)
- Click on directory with middle mouse button adds the folder to the tab group of the panel (pressing also CTRL adds to other panel’s tab group)
- Show tab with left button
- Close tab with middle button
- Invoke context menu of tab with right button
- Rotate with mouse wheel to switch tabs when the pointer is over tabs bar
- When the pointer isn't over the tab bar, press the right mouse button and rotate with mouse wheel to switch tabs (suppressing context menu after release of right button)
- Allow inline editing of tab name with slow double click (like Excel does with worksheets and Sala/Explorer with files/directories)
- Dragging files and directories to a tab should work as if dragged to the panel itself (copy, move or create depending on Shift-, Ctrl-key and drive), the active tab should not change during this operation
Tab Context-menu should contain:
- Close tab
- Close all (other) tabs
- Duplicate tab
- Edit name
- Save tab group
I thought about an intuitive process to bring up the tab bar (if not always on). How about this
- Option in panel context menu like ‘Add to tab group / Show as tab’
- Bring up the tab bar if a directory is dragged to the panel toolbar (now SS switches to that directory, what I can achieve much simpler with double clicking it)
And finally the
Miscellaneous
Required General Options
As stated above only the ones required to avoid major annoyances
- Checkbox: Hide tab bar if only one tab
- Checkbox: Show all tabs in one row
Things to think about but not important for a start
Tab display
Different color / font style (e.g. bold) or icon for a tab if it is
- dynamic or static,
- a directory or something else (registry etc.)
- ???
Tab and tab group pairing
Could be achieved with additional tab specific option:
Option: Open this tab group/hot panel in other panel: (Combo with tab groups/hot panels)
This could become a general option for hot-panels
Navigation thru tabs
Dragging to a tab and holding the button for, let’s say, a second should open that tab to allow dropping on a sub-folder (not a must-have, but would support my workflow. Needs to be optional, I think)
Startup
Especially useful if tab-groups in tab-groups will be possible: A master set of tabs that will be loaded on startup
Option 1: Restore panels on start-up (like described above as the minimum)
Option 2: Open following tab-groups on start-up
Values: Open following tab-group in left panel
Values: Open following tab-group in right panel
Navigation
- Allow to go back to previously selected tab-groups (like now with directories), would allow to navigate in a tab-group hierarchy
Ideas I don’t like
- Please don’t place configuration files in every folder
- Don’t save tab group configuration in extra files (do it in the configuration like hot-paths)
That's it folks. Now it's your turn. And don't dare to come up with a SS 3.0 beta 1 without tabbed browing
Amended sections in blue