I would like to propose and discuss a lightweight file manager with a command line (à la Vimperator) at the bottom. In case someone might be interested someday.
description:
Either a tree-view or a detail-view is shown a single window that can be docked and/or linked with other windows (see below). Default keymappings known from the Vim editor trigger similar commands as seen in Vimperator or Pentadactyl for Firefox. The functionalities of other managers such as TC, ... are extended and extendable.
fundamental principles:
{A} The interface is minimal, simple and efficient by default.
{B} The use of modifier keys and mousedrags is avoided. Instead, commands are triggered via the command line using hotstrings for a specific mode.
{C} Each default keymapping is well tought-through if different from Vim keys.
{D} Paths are all based on a refined relative reference algorithm.ideas with high regard for these principles:
01#{A} Andvanced use of the Dock module makes two-pane windows unnecessary. Given that docked windows could be removed from the alt-tab list when the parent window is this file manager, and the child is a file manager window too, a two-pane view can be set up using automatic window alignment. After (un)docking, the taskbar is refreshed to remove or add the child's taskbar button, preserving the order of the buttons.
02#{D} An algorithm can be made combining the change detection scripts and is important for smooth indexing and avoiding problems with linking when running portable. Custom keymappings and commands can be defined in an .ini file in the same dir as the .exe file by default, where also extensions reside.
03#{B} All instructions appear in the command line auto suggestion splash window (see Vimperator), or in a tooltip folowing the mouse movement.
04#{B} I suggest two modes: command mode and an edit mode to type and ignore all 'Vim-keymappings'. Both have autocomplete suggestions: for CMD mode in the cmd-line and the splash window above; for edit mode in the edit field(s).
05#{A} I suggest two interface types: tree-view and detail-view, both with cmd line and title bar.
06#{A} Linking two windows makes communication between the two views possible and can be done automatically. Other windows (other programs) could be docked and linked manually for text or image previews etc...
07#{A} Tree-view has only archives and folders displayed. The further down the tree, the bigger the horizontal spacing of child icons according to the Fibonacci sequence calculated to fit to the window width, and there can never be a horizontal slidebar. The vertical root-line on the left never moves horizontally (other minimal line movement only possible by the spacing variation). For saving more vertical space, several parent-levels can be collapsed, displaying a multi-folder icon folowed by the number of hidden folders. The selected folder is always vertically aligned in the middle.
08#{A} In tree-view, no renaming should be possible, making navigation less confusing by using only the CMD mode.
09#{A} Detail-view is a table disposition displaying the items in a folder. A folder can be opened in a linked tree-view window or via the CMD line of either linked windows.
10#{A} The appearance of column headers is made context sensitive. Overriding saved association settings is possible by making a column sticky, so that it appears anyway. Applicable for all items or not, unsticky columns appear whenever the number of folders, archives or file types exeeds a predefined limit. The maximum number of columns resulting from the 'importance-list' can be easily reduced or increased manually or automatically (according to window-width). Specific column headers can be invoked by command.Their widths are saved as well. Also, some column headers have a number of saved options: date notation, aligning center left or right, using which units (kb, Mb, Gb), etc... and multiple columns can be used to sort either alphanumeric or otherwise, by the selecting and sorting each column subsequently. Finally, folder-specific settings can be written to an .ini file in that folder.
11#{B} Different from the windows explorer, there are no context menus: all context menu commands can be accesed via the command line.
12#{A+B} If either of tree-view or detail-view panes missing or not linked, a search command will link the first two windows in the alt-tab list or open and link either of them and then list the result in the detail-view. When an item is selected in detail-view, the tree-view will select either the parent folder of a file or the selected folder or archive. Multiple filters can be set up successively or simultaneously using commands. Usefull inspiration is the QuickHint mode in Vimpertor. Other vimperator-ideas such as bookmarking a folder (or archive) using search keywords can be used as follows. Pressing "a" in CMD mode invokes the bmark command that writes this to the cmd-line: bmark title="[folder or archive name]" [full path]. After editing and adding params that represent colomn headers and hitting enter, the below can be used by pressing "o" that will invoke the open command, after which you can type the keyword and the query, for instance "comp Bach".
:bmark -title="search mp3's by composer in %fullpath" c:\users\me\music -k="comp" -filetype="mp3" -composer="%s"
:open comp BachWhile typing the keyword "comp" autosuggestion appears in the splash window, listing the bookmark on top along with recently opened files and folders with that pattern in the filename.
13#{A+B} Automatically executing code on certain events, such as linking and docking GUI's whenever a number of files of one type exeeds the predefined limit, arranging them on the screen, or creating temporary playlists, can be defined using javascript or AHK extensions.
... there is so much more to say! Images or javascript simulations of these reveries might follow if someone's interested. While exited about my ideas, I wrote them down in my best English and as clearly as I could. Please comment pretending that this file manager will be written in AHK, and please contribute preserving the hashtag numbering for reference.
cheers, bart




