files-community / Files

A modern file manager that helps users organize their files and folders.
https://files.community
MIT License
34.41k stars 2.19k forks source link

Use the registered copy handler for copy/move operations #7518

Open ilbalta opened 2 years ago

ilbalta commented 2 years ago

What's the Problem?

Currently Files handles move/copy operations "internally", this is slower than explorer.exe (documented here) and does not support third party programs handling move/copy operations (e.g., TeraCopy).

Solution/Idea

It would be interesting to, instead, have the possibility to use the registered copy handler to allow a smooth integration of third party programs such as TeraCopy. This could also possibly make Files as fast as the default explorer as, it is my understanding, the registered copy handler by default is explorer.exe itself.

Alternatives

Currently I use the contextual menu for TeraCopy, this is clearly sub-optimal as it requires several more clicks for all move/copy operations (not only the right click but the TeraCopy contextual menu is hidden under the "... More >" entry)

Priorities

| Capability | Priority | | Support other Copy Handlers | Must | | Support the usage of the default registered Copy Handler | Should |

Files Version

Version: 2.0.34.0

Windows Version

Windows OS Version: 10.0.19044.1415

Comments

No response

MalteTasler commented 2 years ago

Just curious: Do you experience other advantages in using TeraCopy over the default Files copy operations besides increased speed?

ilbalta commented 2 years ago

If I have to perform several big move operations with TeraCopy I can easily schedule them (e.g., move game A from SSD to HDD, then move game B from HDD to SSD). Also it checks for the operation to be successful, maybe it's placebo but it makes me feel safe :D

DOWIT-JoelFrojmowicz commented 2 years ago

+1 for Teracopy integration !

Josh65-2201 commented 2 years ago

Asking @yaichenbaum for approval.

yaira2 commented 2 years ago

I'm not familiar with this to know if we can integrate with them. Deferring to @gave92

gave92 commented 2 years ago

I'm not familiar with this either. I know Teracopy registers itself as a drag&drop handler. Explorer++ code is a good place to see how to invoke it.

yaira2 commented 2 years ago

@ilbalta I presume that this will be possible when we migrate to WinUI 3 so I'll approve this but we're going to need some help on this.

thiagojramos commented 1 year ago

The biggest reason that I still haven't migrated to files was the lack of this function.

carlosvsilva commented 1 year ago

I would also relieve Files copy operations to Microsoft's own robocopy "robust copy" which is command line, and would greatly complement Files GUI.

vivadavid commented 1 year ago

Just curious: Do you experience other advantages in using TeraCopy over the default Files copy operations besides increased speed?

I mostly use Teracopy for the hash verification: it gives me peace of mind.

It would be great to have support for programmes like Teracopy in the future.

vivadavid commented 12 months ago

Hi,

Sorry if I sound pushy, but are there any plans to support Teracopy (or similar programmes) in the foreseeable future? It's still a basic feature for me.

Josh65-2201 commented 12 months ago

It will depend on when someone looks at working on this and the features might end up being built into Files instead.

yaira2 commented 12 months ago

There are some really powerful tools out there that'll provide more functionality than Files probably ever will. I hope we can add support for them in the future but we can't really provide a timeframe.

vivadavid commented 12 months ago

There are some really powerful tools out there that'll provide more functionality than Files probably ever will. I hope we can add support for them in the future but we can't really provide a timeframe.

I understand: thank you for your reply.

GameBurrow commented 11 months ago

Feel this is really needed, especially since I am mostly a teracopy user but even then personally really don't like that the copy dialog is not very visible in Files: there is small copy indicator only in the window where you triggered it - it should be a separate window like native windows logic is or show up in notifications like some linux distros do it or at least show that small copy indicator on all Files open windows (and list all on-going copy processes there).

Bobrokus commented 11 months ago

+1 for TeraCopy integration 💯

MattPolster commented 6 months ago

Absolutely would love a data transfer option to allow files to just divert to explorers transfer GUI and natural functionality or to be able to use Teracopy, as it does definitely seem faster and just more of a preference thing. I think it would enhance files app greatly. Thanks for the great work so far!

Bobrokus commented 6 months ago

I'm not familiar with this either. I know Teracopy registers itself as a drag&drop handler. Explorer++ code is a good place to see how to invoke it.

It can also be used via command line. See: https://support.codesector.com/en/articles/8789945-teracopy-command-line

carlosvsilva commented 1 month ago

Hi, any update on overall reliability of Files, file copy/move functionality? Thanks

0x5bfa commented 1 month ago

Which updates from when? We've made many improvements for reliability and performance. If you have an issue with that, please file another issue.


As for copy and move shell handler, I know IFileOperation windows api interface internally checks registered ICopyHook interfaces in Windows Registry and a class tries to instantiate that and calls it instead. In fact IFileOperation accepts a flag FOFX_NOCOPYHOOKS not to use that copy hook while we don't use it.

The weird thing is we use IFileOperation in most places.

yaira2 commented 1 month ago

Hi, any update on overall reliability of Files, file copy/move functionality? Thanks

Crashes are down by more than 50% in the last 2 months. There is always more to do, but this is incredible progress by the entire team.