Download - latest version Usage
At the moment, only the following functionality is supported:
Command line control:
- cd::name ... Saves the current directory under the name "name".
- cd:name .... Jumps to the directory previously saved under the name "name".
- cd:- ....... Jump to the location which was active before the last cd:name.
- cd: ........ Opens the plugin's panel.
An item in the Disks menu lets you display defined named folders. From this panel, you can also use the following keyboard shortcuts:
- ENTER ......... Switch to the focused item's directory.
- SHIFT+ENTER ... Switch the passive panel to the focused item's directory.
- F3 ............ View focused item as XML.
- F4 ............ Edit focused item.
- SHIFT+F4 ...... Create a new item.
- F5, F6 ........ Copy/move selected items to a XML file or back.
- F8 ............ Delete selected items.
If you use "cd:x" from the command-line and no saved directory exists for "x", then the plugin will scan directories whose names start with "x". If more than one is present, you will be given a choice between them; if only one is present, it will be used instead of "x". Since version 1.03, this feature is only optional (but enabled by default in plugin's options).
Another fuzzy search option involves search across directories: If it is enabled, command "cd:x" will also find named folders such as "a/x" or "bbb/x". Note that if "x" contains directories, i.e. "cd:x/a", then this functionality is disabled: "cd:x/a" will never find named folder "z/x/a". This is intentional - once a path is given, it should be matched.
Note that an exact match will always take precedence over a fuzzy match.
Variables Support
If you edit saved directories manually (from the panel), you can optionally use variables within the paths. E.g., instead of writing the actual path to the start menu, you can use a variable which gets replaced with the actual start menu folder's location at runtime.
Note that this functionality is disabled by default and needs to be enabled in Plugin Options. Also, only regular directory-based paths are scanned for variables, plugin paths are left as-is.
The following types of variables are available (and can be individually turned on or off in Options if you so desire):
- Known folders: "$(DIR:STARTMENU)", "$(CSIDL_STARTMENU)" - Known Windows folders, as per Microsoft CSIDL constants.
- Environment: "$(ENV:USERPROFILE)", "$(ENV:TEMP)" - Environment variables of the current process.
- CMD environment: "%USERPROFILE%", "%TEMP%" - Same as above, but with a different syntax (like in CMD.EXE).
- Registry: "$(REG:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SomeApp)" - The last element is the name of the value to be used. Shortcut forms for the root key (e.g. "HKLM") are also supported. Note: Only string values are supported.
The syntax is, generally:
Code: Select all
Plugin.Call("6073FF5D-703E-4C1E-8182-26400240073A", command, params)
Subdirectory support
It is possible to directly enter a subdirectory of a named folder with "cd:a/b\c\d". Here "a/b" is the name of the named folder and "\c\d" is a subdirectory to go to, determined as everything starting from the first backslash ("\"). E.g., assume that "a/b" points to "C:\WINDOWS". Then "cd:a/b\system32" opens "C:\WINDOWS\System32". This feature is disabled by default. If you want to use it, go to the plugin's options and activate the "Allow path suffix" option.
Other plugin's PluginCall support
The plugin may be used to create shortcuts to non-panel functionalities of various plugins if you enable the "Allow plugin calls" option and then enter plugin command-line as a directory: "edit:<far /?". Be wary of creating loops as these are not being detected and will eventually crash FAR Manager.
Known Limitations
Named folders to quite a few plugins' panels do not work. That is not a limitation of Named Folders Lite but of each plugin itself - in order for the plugin to be supported, it must implement OPEN_SHORTCUT source when opening the plugin. That is not required by FAR API itself so many plugins do not implement it. I do not know how to overcome this issue.