moudey / Shell

Powerful context menu manager for Windows File Explorer
https://nilesoft.org
MIT License
3.62k stars 121 forks source link

documentation lacking, needs an example of "moving" an existing option. #308

Closed Ryder17z closed 1 year ago

Ryder17z commented 1 year ago

I occasionally use Autodesk Inventor and I want to effectively "move" the inventor-specific entries to a submenu.

That software adds 5 entries to the context menu in explorer when you rightclick on a folder. As I personally never really use these, I want them to exist in a submenu to reduce the clutter.

This is just one example but it's easy to come up with more. (and no, there is no option when installing this software to not have it throw in these context menu things)

RubicBG commented 1 year ago

In order to be able to help as much as possible, I need two things:

Ryder17z commented 1 year ago

I recently downloaded it, says 1.8.1

These are the commands i want to move to a submenu image

RubicBG commented 1 year ago

in imports\static.nss add: item(find='Design Assistant|Pack and Go|iProperties|Purge*' menu=title.more_options) this will move all of them to "More Options" menu

if you want to move them to a new menu, you must first create it

static
{
item(find='Design Assistant|Pack and Go|iProperties|Purge*' menu='new menu name')
}

dynamic
{
// create empty menu - not visible when empty
menu(mode="multiple" title='new menu name') { }
}

pay attention to static/dynamic in the files you edit

Ryder17z commented 1 year ago

I tried the second approach and it has no effect. I've tried adding it within shell{ } or adding it below, but neither works

the first solution works but items in that submenu are not sorted (i don't know how i would put everything after a separator but that would work fine)

RubicBG commented 1 year ago

I don't use Autodesk. I'm using the latest beta version of Nilesoft Shell, which has a slightly different syntax, which makes me improvise when giving the code:

item(find='Design Assistant' sep=sep.after pos=pos.bottom menu=title.more_options) 
item(find='Pack and Go|iProperties|Purge*' pos=pos.bottom menu=title.more_options) 
Ryder17z commented 1 year ago

Appending the above to the shell.nss file on version 1.8.40 also has no effect unfortunately.

I don't know how the context menu is stored other than that it's somewhere in the windows registry, I'd be happy to include details but I can't find these items if I search for "Purge" or "iProperties" and etcetera as a string.

RubicBG commented 1 year ago

version 1.8.1 and 1.8.40 have different syntax:

modify(find='Design Assistant' sep=sep.after pos=pos.bottom menu=title.more_options) modify(find='Pack and Go|iProperties|Purge*' pos=pos.bottom menu=title.more_options)

Also, the commands don't need to be stored in the registry - they are most likely read from some .dll file