doublecmd icon indicating copy to clipboard operation
doublecmd copied to clipboard

Missing Windows Special Folders

Open lars18th opened this issue 2 years ago • 8 comments

Version

Double Commander Version: 1.1.10 beta Revision: 387 Commit: a1e12af80 Build date: 2024/02/17 Lazarus: 2.2.6.0 FPC: 3.2.2 Platform: x86_64-Win64-win32/win64 OS version: Windows 11 23H2 x86_64

Description

Hi,

Several Windows Special Folders are missing (doesn't appear when using, but they are included in the code). Here the list:

  • CSIDL_BITBUCKET,'%$BITBUCKET%'
  • CSIDL_COMMON_OEM_LINKS,'%$COMMON_OEM_LINKS%'
  • CSIDL_COMPUTERSNEARME,'%$COMPUTERSNEARME%'
  • CSIDL_CONNECTIONS,'%$CONNECTIONS%'
  • CSIDL_CONTROLS,'%$CONTROLS%'
  • CSIDL_DRIVES,'%$DRIVES%'
  • CSIDL_INTERNET,'%$INTERNET%'
  • CSIDL_NETWORK,'%$NETWORK%'
  • CSIDL_PERSONAL,'%$PERSONALXP%'
  • CSIDL_PRINTERS,'%$PRINTERS%'
  • CSIDL_RESOURCES_LOCALIZED,'%$RESOURCES_LOCALIZED%'

The source code is here: https://github.com/doublecmd/doublecmd/blob/bcf728ee89c9d125f92594dfe029d62a3e7321a5/src/uspecialdir.pas#L528-L566

And you can check here the list that it's shown: special-folders

Futhermore, I recommend to order alphabetically these lines of code to find more easy the values (at time they aren't ordered).

lars18th avatar Mar 07 '24 08:03 lars18th

Hi @alexx2000 ,

You want to address this trouble? IMHO the folders CSIDL_COMPUTERSNEARME and CSIDL_NETWORK are must-have!

lars18th avatar Apr 08 '24 12:04 lars18th

Hi, it is not a real folders, so they cannot be added. CSIDL_NETWORK, CSIDL_BITBUCKET and CSIDL_DRIVES are available from \\ drive button/menu.

alexx2000 avatar Apr 08 '24 13:04 alexx2000

Hi @alexx2000 ,

Thank you for the response. However, take note that:

  • When you write cd \\ in Windows, you don't go to CSIDL_BITBUCKET and CSIDL_DRIVES. Futhermore, in DC running in Windows 11 this command takes a long time to complete (around 20 seconds). And you will see only the CSIDL_NETWORK. This is a very different behaviour compared with TC. Therefore, something requires to be improved to get fast-access to CSIDL_COMPUTERSNEARME, CSIDL_DRIVES and others without using special buttons (please, remember that some people has the toolbars hidden).

I hope you agree to try to improve this aspect. Perhaps the first action could be to "reorder" the list of special forlders (very easy with the text editor). And a second could be to add some of the missing special folders pointing to real folders. What you think?

lars18th avatar Apr 09 '24 06:04 lars18th

Hi, path \\ and button/menu \\ is not equal. Button/menu opens vfs:\ virtual directory, there you can find CSIDL_NETWORK, CSIDL_BITBUCKET and CSIDL_DRIVES. Drives menu with \\ item also accessible by hotkeys Alt+F1 and Alt+F2.

You can reorder items and send modified file to me.

alexx2000 avatar Apr 09 '24 13:04 alexx2000

Hi @alexx2000 ,

path \ and button/menu \ is not equal. Button/menu opens vfs:\ virtual directory,

And that's the problem! Here some of the troubles with this approach:

  • When the button toolbar is hidden the user doesn't have a direct method to open the vfs:\ (because the only way is to open the disk list and go to the last entry that is the VFS List).
  • When using the Directoty Hotlist is not possible to add the vfs:\ directory. If you try to do it (with "add current dir"), what is stored is %COMMANDER_PATH%\vfs:\ that is never resolved because is a fake directory.
  • And while you can run cd \\, you can't do cd vfs:/ (which makes perfect sense, especially if you can do cd wfx://FTP).

Therefore, what is missing is a direct way to open the VFS and/or CSIDL_NETWORK & CSIDL_DRIVES...

My suggestion is then:

  1. Add support to add the VFS to the Directoty Hotlist. This could be easy defining a new variable based on the content of cm_OpenVirtualFileSystemList, or directly catching cd vfs://.
  2. Update the "Special Dirs" menu entry of the Directory Hostlist with the missing special folders. It has sense that the missing 11 (eleven) values that are defined in Windows are all included. Or I'm missing something about a real reason to not include them?

I comment this because I want to help improving the usability of this very good file manager. I'm comming from TC and this is a must-have missing functionality.

lars18th avatar Apr 11 '24 06:04 lars18th

You can reorder items and send modified file to me.

And this is now done: please review #1573

lars18th avatar Apr 11 '24 06:04 lars18th

VFS List also available from main menu "Commands"->"Open VFS List ", plus you can attach a hotkey to cm_OpenVirtualFileSystemList command.

alexx2000 avatar Apr 11 '24 18:04 alexx2000

VFS List also available from main menu "Commands"->"Open VFS List ", plus you can attach a hotkey to cm_OpenVirtualFileSystemList command.

Thank you @alexx2000 for the tip. I've added the shortcut ALT + \ to cm_OpenVirtualFileSystemList and it works like a charm.

However, I can't found a method to add the "VFS List" to the "Special Dirs". Any idea? This functionality is in TC and I've used it for a lot of time.

lars18th avatar Apr 15 '24 11:04 lars18th