Open Sag7030 opened 1 year ago
there is no solution for now: https://github.com/moudey/Shell/issues/319
i am trying to recreate the entire "Send To" menu so that the system one can be replaced
there is no solution for now: #319
i am trying to recreate the entire "Send To" menu so that the system one can be replaced
* system shortcuts like "Compressed (zipped) folder" and "Mail recipient" I can't find a system command that does the same * all shortcuts that point to the exe are recognized automatically and they work * shortcuts of a driver, folder, and all other files (with extensions .exe files) I still haven't found a simple solution to make them work when I'm done with most of the menu I'll let you know
Hi @RubicBG, Can you share your progress config with us so we can use it while waiting complete solution ?
Shell v1.9.10 on Microsoft Windows 11 Pro, v10.0.22621, build 22621
In addition to #319 and #392 , I'm also experiencing weird results depending on the extension of the file name I'm right clicking on.
Below is what is shown correctly if I right click on an .mp3 file. 46 targets starting with "0file-smart-rename-only (bat) _" and ending with "file-today-mvtoday":
If I right click on a .log file, only the first of the 46 targets is shown:
$sendto_items=path.files(user.sendto, '*.lnk')
menu(title='Se&nd to' type='file|dir' mode='multiple' where=len(sendto_items)>0 pos=indexof('Send to', 1) image=icon.send_to){
item(title='Compressed (zipped) folder' image='@sys.bin\imageres.dll, 165' vis='disable' )
item(title='Desktop (create shortcut)' image='@sys.bin\imageres.dll, 105'
cmd=for(i=0, i<sel.count) { path.lnk.create(user.desktop+'\'+path.title(sel.get(i))+if(!keys.shift(), ' - Shortcut')+'.lnk', sel.get(i)) } & command.refresh)
item(title='Documents (create copy)' image='@sys.bin\imageres.dll, 189' where=!str.contains(sel.path, user.documents)
cmd=for(i=0, i<sel.count) { io.copy(sel.get(i), '@user.documents'+"\\"+path.name(sel.get(i)), 16 | 4) } & command.refresh)
item(title='Mail recipient' image='@sys.bin\sendmail.dll'
//cmd='mailto:support@"@"nilesoft.org?subject=Аttachments are via Nilesoft Shell&attach=file:///D:/TEST.txt&body="Test"')
cmd='mailto:support@"@"nilesoft.org?subject=Attachments are via Nilesoft Shell&body="Test"&attachment=sel(true)')
separator()
item(title=path.title(sendto_items[0]) where=len(sendto_items)>0 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[0]))
image=path.lnk(user.sendto+'\'+sendto_items[0]) cmd=user.sendto+'\'+sendto_items[0] args=sel(true))
item(title=path.title(sendto_items[1]) where=len(sendto_items)>1 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[1]))
image=path.lnk(user.sendto+'\'+sendto_items[1]) cmd=user.sendto+'\'+sendto_items[1] args=sel(true))
item(title=path.title(sendto_items[2]) where=len(sendto_items)>2 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[2]))
image=path.lnk(user.sendto+'\'+sendto_items[2]) cmd=user.sendto+'\'+sendto_items[1] args=sel(true))
item(title=path.title(sendto_items[3]) where=len(sendto_items)>3 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[3]))
image=path.lnk(user.sendto+'\'+sendto_items[3]) cmd=user.sendto+'\'+sendto_items[3] args=sel(true))
item(title=path.title(sendto_items[4]) where=len(sendto_items)>4 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[4]))
image=path.lnk(user.sendto+'\'+sendto_items[4]) cmd=user.sendto+'\'+sendto_items[4] args=sel(true))
item(title=path.title(sendto_items[5]) where=len(sendto_items)>5 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[5]))
image=path.lnk(user.sendto+'\'+sendto_items[5]) cmd=user.sendto+'\'+sendto_items[5] args=sel(true))
item(title=path.title(sendto_items[6]) where=len(sendto_items)>6 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[6]))
image=path.lnk(user.sendto+'\'+sendto_items[6]) cmd=user.sendto+'\'+sendto_items[6] args=sel(true))
item(title=path.title(sendto_items[7]) where=len(sendto_items)>7 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[7]))
image=path.lnk(user.sendto+'\'+sendto_items[7]) cmd=user.sendto+'\'+sendto_items[7] args=sel(true))
item(title=path.title(sendto_items[8]) where=len(sendto_items)>8 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[8]))
image=path.lnk(user.sendto+'\'+sendto_items[8]) cmd=user.sendto+'\'+sendto_items[8] args=sel(true))
item(title=path.title(sendto_items[9]) where=len(sendto_items)>9 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[9]))
image=path.lnk(user.sendto+'\'+sendto_items[9]) cmd=user.sendto+'\'+sendto_items[9] args=sel(true))
item(title=path.title(sendto_items[10]) where=len(sendto_items)>10 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[10]))
image=path.lnk(user.sendto+'\'+sendto_items[10]) cmd=user.sendto+'\'+sendto_items[10] args=sel(true))
item(title=path.title(sendto_items[11]) where=len(sendto_items)>11 and path.isexe(path.lnk(user.sendto+'\'+sendto_items[11]))
image=path.lnk(user.sendto+'\'+sendto_items[11]) cmd=user.sendto+'\'+sendto_items[11] args=sel(true))
separator()
item(title=path.title(sendto_items[0]) where=len(sendto_items)>0 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[0]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[0])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[0]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[0]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[1]) where=len(sendto_items)>1 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[1]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[1])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[1]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[1]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[2]) where=len(sendto_items)>2 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[2]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[2])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[2]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[2]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[3]) where=len(sendto_items)>3 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[3]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[3])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[3]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[3]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[4]) where=len(sendto_items)>4 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[4]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[4])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[4]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[4]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[5]) where=len(sendto_items)>5 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[5]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[5])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[5]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[5]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[6]) where=len(sendto_items)>6 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[6]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[6])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[6]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[6]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[7]) where=len(sendto_items)>7 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[7]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[7])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[7]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[7]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[8]) where=len(sendto_items)>8 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[8]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[8])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[8]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[8]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[9]) where=len(sendto_items)>9 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[9]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[9])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[9]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[9]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[10]) where=len(sendto_items)>10 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[10]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[10])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[10]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[10]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
item(title=path.title(sendto_items[11]) where=len(sendto_items)>11 and path.isdirectory(path.lnk(user.sendto+'\'+sendto_items[11]))
image='explorer.exe' keys='SHIFT move' tip=path.lnk(user.sendto+'\'+sendto_items[11])
cmd=for(i=0, i<sel.count) { if(keys.shift(),
io.move(sel[i], path.lnk(user.sendto+'\'+sendto_items[11]) + '\' + path.name(sel.get(i))),
io.copy(sel[i], path.lnk(user.sendto+'\'+sendto_items[11]) + '\' + path.name(sel.get(i)))) } & command.refresh() & msg('Jobs done!'))
}
* only recognizes shortcuts in the SendTo folder (max number: 12)
Forgive my ignorance as I'm still new to the Nilesoft Shell app: is 12 an imposed limit by the Nilesoft Shell executable, or just a number you picked because your own scripting use case doesn't need more than 12?
I don't use the SendTo menu much - and I only have 5 executables in there 😁😇 For testing purposes 12 was more than enough for me
Send to feature is not working properly, i tested on different types items like on desktop shortcuts & folders. also from other drives not visible
on desktop "create new shortcut" is missing
plz fix this error i like your work