Changing multi-file open to behave like "Send to"

Discussion related to "Everything" 1.5 Alpha.
Post Reply
mvdeckard
Posts: 29
Joined: Tue Oct 25, 2022 11:46 pm

Changing multi-file open to behave like "Send to"

Post by mvdeckard »

Hi, I'm looking for a way to open multiple selected files more like Windows "Send to", whereby the links of the current selection are sent to my external program.

The issue currently is if I press the ENTER key to open a multi-file selection in Everything, it opens separate instances of the external program (mpv). However the program is capable of accepting multiple files as input for a single instance, because both Send to and drag&drop work fine into a single instance.

Edit: Reading a bit more about this, I understand Send To, drag&drop, and Everything's exec("%1) all handle this differently. The goal is to be able to map a shortcut key to Everything to act more like Send to.
Last edited by mvdeckard on Sat Jul 22, 2023 9:06 pm, edited 2 times in total.
NotNull
Posts: 5461
Joined: Wed May 24, 2017 9:22 pm

Re: "Send to" functional equivalent to open links to files instead of files

Post by NotNull »

There might be an Add to Playlist option? That way each file gets added to the list.


Another, rather complicated, way would be to":
- Use singleinstance to send all files as parameters to mpv.exe using a unique verb,
- Create a

Code: Select all

custom verb
in Everything,
- Create a keyboard shortcut for this custom verb.
mvdeckard
Posts: 29
Joined: Tue Oct 25, 2022 11:46 pm

Re: "Send to" functional equivalent to open links to files instead of files

Post by mvdeckard »

NotNull wrote: Sat Jul 22, 2023 7:34 pm There might be an Add to Playlist option? That way each file gets added to the list.
Do you mean an Add to Playlist function in Everything, or the external program (mpv)? Because mpv already accepts multi-files into a single instance by default - evidenced by SendTo and drag&drop from Everything both working correctly. The issue is with how Everything packages what's being sent to the external program by its Open (Files) handler.

Current Everything behavior on open is sending a multi-selection i.e. "Filename1.mp4" "Filename2.mp4" "Filename3.mp3" separately to $exec("%1").
Desired behavior is sending all filenames separated by spaces in a single action, just like drag&drop or SendTo.

I'm looking at all the Context Menu parameters and assuming I'm missing some magical parameter here.
Attachments
Clipboard02.jpg
Clipboard02.jpg (49.55 KiB) Viewed 1612 times
NotNull
Posts: 5461
Joined: Wed May 24, 2017 9:22 pm

Re: "Send to" functional equivalent to open links to files instead of files

Post by NotNull »

mvdeckard wrote: Sat Jul 22, 2023 7:50 pm The issue is with how Everything packages what's being sent to it by the Open handler.
So you are saying that Open handler mechanism works flawlessly in Explorer? Everything uses the same mechanism.

( Drag/drop, SendTo and the Open verb each use a different mechanisms to handle the files)

Do you mean an Add to Playlist function in Everything, or the external program (mpv)?
In Explorer. Is there a context menu entry "Add to Playlist" or similar?
mvdeckard
Posts: 29
Joined: Tue Oct 25, 2022 11:46 pm

Re: "Send to" functional equivalent to open links to files instead of files

Post by mvdeckard »

NotNull wrote: Sat Jul 22, 2023 7:55 pm So you are saying that Open handler mechanism works flawlessly in Explorer? Everything uses the same mechanism.
Correct, and I'm aware.
NotNull wrote: Sat Jul 22, 2023 7:55 pm ( Drag/drop, SendTo and the Open verb each use a different mechanisms to handle the files)
Understood.
NotNull wrote: Sat Jul 22, 2023 7:55 pm In Explorer. Is there a context menu entry "Add to Playlist" or similar?
No.

I'm trying to avoid fiddling with right-click context menus or dragging&dropping since it slows the workflow down having to do this repeatedly.

Another idea is instead of exec("%1") for open-file, if Everything could interpret let's say exec("%a") or exec("%allfiles%) variable as functionally equivalent to exec("%1" "%2" "%3" "%4" "%5" "%6" etc through 99999)
void
Developer
Posts: 16775
Joined: Fri Oct 16, 2009 11:31 pm

Re: Changing multi-file open to behave like "Send to"

Post by void »

Like in Windows Explorer, "executing" multiple items in Everything will create a context menu and invoke the default verb.

To execute each selected item individually:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    invoke
  • Select shell_execute_invoke_id_list.
  • Set the value to: false
  • Click OK.
shell_execute_invoke_id_list
therube
Posts: 4985
Joined: Thu Sep 03, 2009 6:48 pm

Re: Changing multi-file open to behave like "Send to"

Post by therube »

(Just to note, that setting, regardless of the setting, "opening" multiple media files from within Everything does not "queue" them in MPUI [mplayer] (with MPUI set to 'Single instance' mode).

Windows Explorer also fails (multiple files) with MPUI (single instance mode).

I don't have mpv.net [mpv] set as default so can't say what will happen.

mpv.net, I drag&drop or Open With or work from command-line.

[I also purposely don't use any single instance mode.])
Post Reply