View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003905||Far Manager||File associations||public||2021-10-18 13:29||2021-10-19 09:36|
|Summary||0003905: Unexpected behavior of !& in Find File Results|
|Description||When the special symbol !& is used in a file association, and this file association is invoked from the Find File Results (I mean the output list of files generated by the Find File dialog), the special symbol !& refers to the active file panel rather than to the Find File Results. I mean, file name from the active panel is substituted instead of file name from the Find File Results.|
|Steps To Reproduce||1. Have a file association that uses !& - for example, @"C:\Progs\Notepadpp\notepad++.exe" !&|
2. Go to a folder "FAR3\Plugins"
2. Search for a file "changelog" under that folder (including subfolders)
3. This finds "changelog" under the subfolders Align, ArcLite, AutoWrap and so on
4. Select any "changelog" item in the Find File Results and call (invoke) the file association that uses !&
Expected behavior: it should open the current file from the Find File Results in a given application (e.g. in Notepad++)
Actual behavior: it tries to open files from the active file panel in a given application.
1) Make !& to refer to the Find File Results when a file association is called (invoked) from the Find File Results.
2) Either introduce a modifier to !& that will use full file paths instead of file names or make !& to implicitly use full file paths when it is invoked from Find File Results. Motivation: the Find File Results can include files in subfolders, so full path should be used to open these files.
|Tags||No tags attached.|
||Discussion (in Russian): https://forum.farmanager.com/viewtopic.php?p=168617#p168617|
Alternatively, this situation may be resolved by introducing conditions within the file associations. The conditions would allow to alter the exact behavior. Here is a sample of pseudo-code just to demonstrate the idea:
This particular file association would use !& for file panels and would use "!\!.!" for find file results.