NiftyLink addon - Links using internal associations and more
Moderators: Hacker, petermad, Stefan2, white
Re: Support for file system plugins and internal commads
.lnk files do support relative paths.lio wrote:After a long search (many years) for relative path soft link support by the OS (I don't know why Microsoft have never added relative path support to .lnk files), I found your GREAT and very useful extension.
http://www.portablefreeware.com/forums/viewtopic.php?f=2&t=3640
Re: Support for file system plugins and internal commads
Thanks, but I don't trust lnker.exe:m^2 wrote:.lnk files do support relative paths.
on virustotal search for the following id
bf6a5239fc32969523abae580de4a61b451355993fd5783cc0b57234b310ed05-1296472622
(Sorry but I'm not allowed to post URLs)
I will continue to prefer FlexLink
Re: Support for file system plugins and internal commads
Results as usual, I wonder why do people still use antiviruses....lio wrote:Thanks, but I don't trust lnker.exe:m^2 wrote:.lnk files do support relative paths.
on virustotal search for the following id
bf6a5239fc32969523abae580de4a61b451355993fd5783cc0b57234b310ed05-1296472622
(Sorry but I'm not allowed to post URLs)
I will continue to prefer FlexLink
Anyway, you can use what you wish, just don't spread misinformation further. If you don't believe that it works, send it to your antivirus vendor so their specialists analyse it and when they say it's fine, run and see.
Hi there!
I'm sorry for the long delay in the development of this tool. However, there will be some more progress in the near future.
For me, this program initially was a proof of concept. In the meantime, I have changed and enhanced my private copy, and it has proven to be quite useful for me. I'm using the program now on a daily basis.
And I hope the new enhanced version is ready for release in a few days.
Kind regards, Juergen
I'm sorry for the long delay in the development of this tool. However, there will be some more progress in the near future.

For me, this program initially was a proof of concept. In the meantime, I have changed and enhanced my private copy, and it has proven to be quite useful for me. I'm using the program now on a daily basis.
Great idea, thank you! The next version will have initial support for TC's filesystem plugins.lio wrote:
- Support for file system plugins:
[...]
or better:Code: Select all
\\\WebDAV\my_connection\my_path
This topic is about a standalone EXE program, not a plugin. Download from my website works fine on at least 364 days of the year.bettersjb wrote:I can't download the plugin from your website.
I'm sorry! I forgot about that. Unfortunately, I also didn't get a mail notification from the forum software, when you wrote this post. Now there is a new working version (otherwise almost unchanged) available -- see link for d/l in the first post of this thread.sgp wrote:The current flexlink.exe beta ( 0.78 ) has expired. Could you please provide a new, non-expiring copy? My file system includes many flexlinks.
Thank you in advance.
Message box says: This Beta version is outdated and not operative anymore.
And I hope the new enhanced version is ready for release in a few days.

Kind regards, Juergen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
Hi all,
I'm happy to announce the new version 0.85 beta. There are several changes, and I hope they won't cause any inconveniences for you.
changed
Regards, Jürgen
I'm happy to announce the new version 0.85 beta. There are several changes, and I hope they won't cause any inconveniences for you.
changed
- Command-line parameters for creating Flexlinks changed, so that Flexlinks now can be created in TC as well as in Windows Explorer by 'Drag and Drop'.
- Dialog for creating Flexlinks much extended.
- Archives now are treated like directories, i.e. links to archieves can now contain <newtab>, <other>, and <newtabother>.
- Now even archives can be opened with the corresponding packer plugin, when their extension is not associated with TC (i.e. archieves which are normally opened with CTRL+PAGE DOWN).
- When the SHIFT key is pressed while a Flexlink is executed, the target file or the target directory will not be opened anymore. Instead, the parent directory is opened now (in TC in the other panel), and the target is selected there. This works in Total Commander and in Windows Explorer.
- Icons for links to directories and files slightly changed.
- Shortcuts can now be used more generally (slightly changed format in the INI file).
- More preconfigured shortcuts.
- "Go to page" can now be used more generally (slightly changed format in the INI file).
- More preconfigured commands for "Go to page".
- Execution of the program was made more robust in several respects.
- Improved error handling.
- Enhanced documentation.
- Initial support for Flexlinks to directories which are provided by filesystem plugins of Total Commander.
- Added an icon for the program itself (e.g. for TC's button bar).
Regards, Jürgen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
Hello sgp!
The program was supposed to save the original content of the clipboard, and to restore it later. However, I absolutely agree that it's unacceptable when this doesn't work reliably on all systems.
I've now uploaded a new version 0.85a (same link as before). It still uses the new command-line syntax (which allows Drag and Drop of a link target on the program button on TC's button bar), but a smarter way to get Total Commander's target path. The clipboard remains completely untouched now.
Thanks for your patience.
Regards, Juergen
The program was supposed to save the original content of the clipboard, and to restore it later. However, I absolutely agree that it's unacceptable when this doesn't work reliably on all systems.
I've now uploaded a new version 0.85a (same link as before). It still uses the new command-line syntax (which allows Drag and Drop of a link target on the program button on TC's button bar), but a smarter way to get Total Commander's target path. The clipboard remains completely untouched now.
Thanks for your patience.

Regards, Juergen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
Hi Juergen, thanks for leaving the clipboard alone!
I like the new version 0.85a! Thank you for all the new features, and for the ability to create a link by dragging a target to the button bar.
Converting from the old version took 1 minute (changed 1 button). I didn't need to, but if one wants to use new features then editing individual flexlink files may be necessary.
I like the new icon.
If you have time, you might consider some suggestions and requests from my list below. Thank you again.
Highest preference top:
1. I like Shift-double-click going to the target file. It's very useful when I want to use TC right-click menu of the target file. However, currently shift+double-click implies <tabother> (when the target file isn't found in the other tab). Can you add a way to go to the target file in the current tab, that is, no new tabs nor change of tab. Interestingly, in the virtual panel plugin I added a flexlink object then I shift+double-clicked it and the flexlink target parent opened in the current tab.
2. For Target=<newtabother> and Target=<newtab>links can you add a way to keep focus on the click target (the link file) vs. the new tab?
3. When in TC and creating a flexlink file which already exists, can you display TC's standard overwrite/rename dialog rather than FlexLink's own "are you sure" prompt?
4. Why not making ._x and .fx extensions customizable in FlexLink.ini? (Note that personally I don't need such feature).
I like the new version 0.85a! Thank you for all the new features, and for the ability to create a link by dragging a target to the button bar.
Converting from the old version took 1 minute (changed 1 button). I didn't need to, but if one wants to use new features then editing individual flexlink files may be necessary.
I like the new icon.
If you have time, you might consider some suggestions and requests from my list below. Thank you again.
Highest preference top:
1. I like Shift-double-click going to the target file. It's very useful when I want to use TC right-click menu of the target file. However, currently shift+double-click implies <tabother> (when the target file isn't found in the other tab). Can you add a way to go to the target file in the current tab, that is, no new tabs nor change of tab. Interestingly, in the virtual panel plugin I added a flexlink object then I shift+double-clicked it and the flexlink target parent opened in the current tab.
2. For Target=<newtabother> and Target=<newtab>links can you add a way to keep focus on the click target (the link file) vs. the new tab?
3. When in TC and creating a flexlink file which already exists, can you display TC's standard overwrite/rename dialog rather than FlexLink's own "are you sure" prompt?
4. Why not making ._x and .fx extensions customizable in FlexLink.ini? (Note that personally I don't need such feature).
Hi sgp,
I'm glad that you like the new version.


On Windows, it's an old convention that particular file types have particular extensions. E.g. Portable Network Graphics have the extension PNG, the source code files of the programming language that I'm using for this project have the extension PB or PBI, and normal link files on Windows have the extenson LNK. Although the German word for "link" is "Verknüpfung", I don't think that any German user wants to use say "VKN" instead of "LNK" as extension for link files.
Flexibility and versatility have advantages in some respects, while in other respects standardization and simplicity are more important.
As you know, formerly I used different file extensons for FlexLinks, and then changed them for good reasons:
According to my experience, the main effect of using differnt extensions for the same file type would be, causing unnecessary confusion especially for unexperienced users. I'm not going to prevent people from using their own extensions for FlexLinks, but I also don't want to encourage them.
Thanks again for your feedback and your suggestions!
Regards, Juergen
I'm glad that you like the new version.
Yes, I see. It works fine this way already in my current private copy of the program.sgp wrote:1. I like Shift-double-click going to the target file. It's very useful when I want to use TC right-click menu of the target file. However, currently shift+double-click implies <tabother> (when the target file isn't found in the other tab). Can you add a way to go to the target file in the current tab, that is, no new tabs nor change of tab.

I haven't used that plugin yet, but I'll do some tests with it.sgp wrote:Interestingly, in the virtual panel plugin I added a flexlink object then I shift+double-clicked it and the flexlink target parent opened in the current tab.
Yes, I can (I'm thinking of an option in the INI file). And what about Target=<other>? Do you want to keep the focus on the link file in this case, too?sgp wrote:2. For Target=<newtabother> and Target=<newtab>links can you add a way to keep focus on the click target (the link file) vs. the new tab?
I don't know whether or how this would be possible. I'll try to do some "research" on this subject. At least FlexLink could provide a self-made dialog, that would look pretty much the same like TC's dialog.sgp wrote:3. When in TC and creating a flexlink file which already exists, can you display TC's standard overwrite/rename dialog rather than FlexLink's own "are you sure" prompt?

I think that would cause more disadvantages than advantages.sgp wrote:4. Why not making ._x and .fx extensions customizable in FlexLink.ini? (Note that personally I don't need such feature).
On Windows, it's an old convention that particular file types have particular extensions. E.g. Portable Network Graphics have the extension PNG, the source code files of the programming language that I'm using for this project have the extension PB or PBI, and normal link files on Windows have the extenson LNK. Although the German word for "link" is "Verknüpfung", I don't think that any German user wants to use say "VKN" instead of "LNK" as extension for link files.

As you know, formerly I used different file extensons for FlexLinks, and then changed them for good reasons:
- Names of FlexLinks to directories now begin with "_" by default, and their default extension is "_x". I'm aware of the fact that this might look unfamiliar for some people. However, with this naming FlexLinks to directories will in TC's file list always be near the subdirectories, regardless whether the list is sorted according to name or according to extension. That's the reason why I chose this default naming. I still consider it an advantage, e.g. compared to LNK files.
- Since FlexLinks to files have the default extension "fx", you can search for all FlexLinks with the pattern "*.?x".
According to my experience, the main effect of using differnt extensions for the same file type would be, causing unnecessary confusion especially for unexperienced users. I'm not going to prevent people from using their own extensions for FlexLinks, but I also don't want to encourage them.

Thanks again for your feedback and your suggestions!
Regards, Juergen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
You know, whether focus follows target vs. stays on flexlink really depends on what one needs to do. If you need to click a bunch of flexlinks then definitely you want focus to stay on flexlink. OTOH, if you need to click just one flexlink then it's likely that you also want focus to follow target. Possibly a keyboard modifier is a better solution than a setting in the INI file. The keyboard modifier could mean either "follow" or "stay" and all of <other>, <newtab> and <newtabother> would either "stay" or "follow" when the modifier isn't pressed. The challenge is that this new modifier should work in conjunction with Shift, which is already a modifier for "parent"...Juergen wrote:Yes, I can (I'm thinking of an option in the INI file). And what about Target=<other>? Do you want to keep the focus on the link file in this case, too?sgp wrote:2. For Target=<newtabother> and Target=<newtab>links can you add a way to keep focus on the click target (the link file) vs. the new tab?
Too bad I can't help you, I know nothing about plugin development. But I use an image comparison plugin which modifies the copy dialog by adding thumbs of the source and target files. So, some level of control of that dialog must be possible.I don't know whether or how this would be possible. I'll try to do some "research" on this subject. At least FlexLink could provide a self-made dialog, that would look pretty much the same like TC's dialog.sgp wrote:3. When in TC and creating a flexlink file which already exists, can you display TC's standard overwrite/rename dialog rather than FlexLink's own "are you sure" prompt?
Lastly, I agree with you that making ._x and .fx configurable would bring more issues than benefits.
Thanks again for flexlink!
Hi sgp,
thanks again for your input!
I agree with what you wrote about using a keyboard modifier as opposed to an entry in the INI file. My main problem was to choose a suitable key. It is supposed not only to work together with a double-click on a FlexLink, but also with pressing [ENTER]. However, [CTRL]+[ENTER], [ALT]+[ENTER], and more keystroke combinations are already used by Total Commander itself. The current version which I just released uses [ESC], please tell me whether it works for you.
Here is the list of changes in version 0.87:
fixed
Regards, Juergen
thanks again for your input!
I agree with what you wrote about using a keyboard modifier as opposed to an entry in the INI file. My main problem was to choose a suitable key. It is supposed not only to work together with a double-click on a FlexLink, but also with pressing [ENTER]. However, [CTRL]+[ENTER], [ALT]+[ENTER], and more keystroke combinations are already used by Total Commander itself. The current version which I just released uses [ESC], please tell me whether it works for you.
Here is the list of changes in version 0.87:
fixed
- Bug that occurred in certain cases, when the link target was a program with command-line parameters.
- When the SHIFT key is pressed while a Flexlink is executed, now the parent directory is always opened in the current tab of TC.
- Several internal details.
- Improved documentation.
- When the ESC key is pressed while a FlexLink is executed, the input focus alway stays in the current tab.
( If you want to execute multiple FlexLinks consecutively this way, you'll have to press and release the ESC key for each FlexLink -- holding down the ESC key all the time does not work as expected [for reasons that are unknown to me].)
Regards, Juergen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
Hi Juergen, this new version isn't working for me in a couple of ways.
Take link file f:\junctions\test._x (f: is a substituted drive, e: is a USB drive)
[FlexLink]
Target=<newtab> e:\ARC\pc\
when I doubleclick it opens a new tab and loads e:\ARC\pc\ in the address bar but fails to press ENTER, so the cursor is in the address bar and the folder doesn't change. This happens with the previous beta version too. Maybe it's some sensitivity to keyboard timings - I swap PCs very often.
If I press and keep ESC down and doubleclick the same link file:
1. a new tab is opened next to the current tab
2. some swift changes occur in TC panes, but I can't tell what those are
3. the input focus is left in the original tab (OK)
4. the new tab is open in the wrong folder: f:\temp (ERROR)
If I press and keep ESC down and press ENTER on the same link file:
1, 2, 3. same as above
4. the new tab is open in the wrong folder: f:\junctions (ERROR)
If I press and keep SHIFT down and doubleclick or press ENTER on the same link file
1. some swift changes occur in TC panes, but I can't tell what those are
2. the input focus is left in the original tab, which isn't the target folder (ERROR)
Take link file f:\junctions\test._x (f: is a substituted drive, e: is a USB drive)
[FlexLink]
Target=<newtab> e:\ARC\pc\
when I doubleclick it opens a new tab and loads e:\ARC\pc\ in the address bar but fails to press ENTER, so the cursor is in the address bar and the folder doesn't change. This happens with the previous beta version too. Maybe it's some sensitivity to keyboard timings - I swap PCs very often.
If I press and keep ESC down and doubleclick the same link file:
1. a new tab is opened next to the current tab
2. some swift changes occur in TC panes, but I can't tell what those are
3. the input focus is left in the original tab (OK)
4. the new tab is open in the wrong folder: f:\temp (ERROR)
If I press and keep ESC down and press ENTER on the same link file:
1, 2, 3. same as above
4. the new tab is open in the wrong folder: f:\junctions (ERROR)
If I press and keep SHIFT down and doubleclick or press ENTER on the same link file
1. some swift changes occur in TC panes, but I can't tell what those are
2. the input focus is left in the original tab, which isn't the target folder (ERROR)
Hi sgp,
you wrote:

All the recent previous versions of the program made a delay of 50 milliseconds before sending the simulated ENTER keystroke in this context. However, I often made the experience that proper timing can be very important when sending simulated keystrokes. I hope, the problem is fixed in this version.
Here is the list of changes in the new version 0.88:
fixed
Regards, Juergen
PS: I just detected a bug half an hour or so ago: Pressing SHIFT (or ESC) while double-clicking at a FlexLink that contains a link to a root directory will not work as expected IN TC ... because a root directory doesn't have a parent directory, of course.
This will be fixed in the next version.
you wrote:
This is a very basic function of my program. When it doesn't work correctly, any function that has something got to do with changing a directory will fail.when I doubleclick it opens a new tab and loads e:\ARC\pc\ in the address bar but fails to press ENTER, so the cursor is in the address bar and the folder doesn't change. This happens with the previous beta version too. Maybe it's some sensitivity to keyboard timings - I swap PCs very often.

All the recent previous versions of the program made a delay of 50 milliseconds before sending the simulated ENTER keystroke in this context. However, I often made the experience that proper timing can be very important when sending simulated keystrokes. I hope, the problem is fixed in this version.
Here is the list of changes in the new version 0.88:
fixed
- Changing the directory in Total Commander didn't work reliably. So in this version, the delay between sending a name to the path bar, and sending a simulated ENTER keypress was increased from 50 ms to 150 ms.
- Some internal details.
- FlexLinks now can contain pseudo environment variables for special directories, similar to Total Commander:
%$DESKTOP%, %$PERSONAL%, %$APPDATA%.
Regards, Juergen
PS: I just detected a bug half an hour or so ago: Pressing SHIFT (or ESC) while double-clicking at a FlexLink that contains a link to a root directory will not work as expected IN TC ... because a root directory doesn't have a parent directory, of course.

My add-ons and plugins for TC: NiftyLink, mbox, Sequences