Xplorer2Hack: Menu++ Customizable menu for Xplorer2

A collection of especially useful xplorer² topics and ideas. New users may find it helpful to look here before searching the other forums for information. >>>>>> Please post new material in the relevant forum. (New stuff posted here will be removed.) Thanks. -fg-

Moderators: fgagnon, nikos

User avatar
bellig_cat
New Member
Posts: 7
Joined: 2007 Jun 19, 17:50

Possible to define multiple actions?

Post by bellig_cat »

First and foremost thank you snakebyte for your work on this great little app!  I actually use the litestep !popup (I don't use "ls" as a shell) along with "strokeit" mouse gestures to create dynamic menus for quick access to all my frequntly used apps.  So this approach is very native and valuable to me.  

Secondly, (is it possible)/(can you add the ability) to create a menu command that has multiple Actions?  Something like this.

Code: Select all

Title='Copy to opposite pane'
Action=CmdID,32793
Action=Send,{Enter}
DisableIfNoSelections=1
Thanks.
User avatar
snakebyte
Gold Member
Gold Member
Posts: 430
Joined: 2003 May 07, 07:14
Location: Seattle
Contact:

Post by snakebyte »

Hi Bellig,

This is a nice idea, but currently its not possible to stack multiple action commands.

There are two workarounds to achieve the same effect

1. You can send multiple hot keys using following syntax

Code: Select all

Action=Send,<hotkey1>[<hotkey2><hotkey3>...<hotkeyN>]
or 
Action=Send,<hotkey1>,[<hotkey2>,<hotkey3>...<hotkeyN>]
In your case CMDId 32793 has the hotkey F5, so you can use following actions

Code: Select all

Action=Send,{F5}{Enter}   (Executes one hotkey after another)
or
Action=Send,{F5},{Enter}  (Inserts 50 millisecond delay b/w these two commands)
If a command Id does not have a hotkey, then you can assign it a new hotkey using Customize->Keyboard

2. Write your custom action in a autohotkey / autoit / vbscript and invoke it as

Code: Select all

Action=Run,"C:\Program Files\AutoIt3\AutoIt3.exe" "c:\My Script\S1.au3"

or 
Action=Run,"C:\Program Files\AutoHotkey\AutoHotkey.exe" "c:\My Script\S2.ahk"

or 
Action=Run, "c:\My Script\S3.vbs"
Help! I'm an AI running around in someone's universe simulator.
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

With all the latest hotfixes and whatnot with Vista, shell commands stopped working with Menu++.
For example,

Code: Select all

Action=Run, shell:RecycleBinFolder
I can get around this with

Code: Select all

Action=Run, explorer.exe ::{645FF040-5081-101B-9F08-00AA002F954E}
My tree starts with My Computer in x2, so I need to access explorer.exe to get to Recycle Bin.
Anyway, is anyone having this problem?
User avatar
snakebyte
Gold Member
Gold Member
Posts: 430
Joined: 2003 May 07, 07:14
Location: Seattle
Contact:

Post by snakebyte »

desslok wrote:With all the latest hotfixes and whatnot with Vista, shell commands stopped working with Menu++.
For example,

Code: Select all

Action=Run, shell:RecycleBinFolder
Run, shell:RecycleBinFolder works for me in Vista x86 SP1.
desslok wrote: My tree starts with My Computer in x2, so I need to access explorer.exe to get to Recycle Bin.
1. How did you manage to start tree with my computer instead of Desktop? I would love to have this option.

2. You can directly access Recycle bin from X2 using menus or by assigning custom hotkeys. Have you tried following menu option?
Go To > Special folders > Recyle bin
Help! I'm an AI running around in someone's universe simulator.
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

Is there anything in your program that is laguage dependant? (i.e. It has to be English.)

To answer your question,
1. Use the swtich /R:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}.
2. You can't do that when you use the switch in 1.
User avatar
snakebyte
Gold Member
Gold Member
Posts: 430
Joined: 2003 May 07, 07:14
Location: Seattle
Contact:

Post by snakebyte »

desslok wrote:1. Use the swtich /R:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}.
Works great!. Thanks.

What happens when you directly execute "shell:RecycleBinFolder" or "shell:::{645FF040-5081-101B-9F08-00AA002F954E}" from windows Run dialog? It launches recycle bin for me in Vista SP1.

If only the command with GUID works that means there is something wrong in your registry with the shell folder name and GUID mapping.

Also try executing following from your X2 address bar (with > symbol)

> shell:RecycleBinFolder
or
> shell:::{645FF040-5081-101B-9F08-00AA002F954E}

If this launches Recycle bin, then you can create a user command with above string and add it to your tool bar. You can also optionally reference this user command from menu++.
Help! I'm an AI running around in someone's universe simulator.
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

snakebyte wrote:What happens when you directly execute "shell:RecycleBinFolder" or "shell:::{645FF040-5081-101B-9F08-00AA002F954E}" from windows Run dialog?

> shell:RecycleBinFolder
or
> shell:::{645FF040-5081-101B-9F08-00AA002F954E}
Both works.
Lo and behold, Menu++ started to work again!
In my environment (Vista 32bit SP1), shell commands from Menu++ sometimes stop working after killing and restarting explorer.exe from Task Manager.
I don't know what that entails, but I am just reporting.
User avatar
johngalt
Gold Member
Gold Member
Posts: 559
Joined: 2008 Feb 10, 19:41
Location: 3rd Rock
Contact:

Post by johngalt »

If you have to kill explorer.exe and restart it, try seeing if a logout and log in makes a difference, or if Menu++ is till broken.
Image

Image
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

As you guessed, loging off and in makes it stop working. So what's your call, johngalt?
User avatar
johngalt
Gold Member
Gold Member
Posts: 559
Joined: 2008 Feb 10, 19:41
Location: 3rd Rock
Contact:

Post by johngalt »

I could have sworn I replied to this message, and yet it is not here....

desslok, my guess would be something is interfering with the Menu++ system, but you may want to get Snake involved - it could be something as stupid as a firewall setting because X2 keeps accessing AutoIt repeatedly and the Firewall / Defender blocks access to it thinking it is a problem....

That was just a stab in the dark, but I have not yet implemented using Menu++, I was just wondering what happens when logging off and logging back on....
Image

Image
User avatar
snakebyte
Gold Member
Gold Member
Posts: 430
Joined: 2003 May 07, 07:14
Location: Seattle
Contact:

Post by snakebyte »

I'm not doing anything funky with run in menu++. I'm just passing run action parameter as target to Autohotkey's run command.

Ideally speaking, if your command does not work from windows run dialog or from Xplorer2 address bar, then it would not work with menu++ as well.
Help! I'm an AI running around in someone's universe simulator.
User avatar
johngalt
Gold Member
Gold Member
Posts: 559
Joined: 2008 Feb 10, 19:41
Location: 3rd Rock
Contact:

Post by johngalt »

Problem is, snake, that it works then *stops* working, as I understand it - then again, I have been known to be wrong numerous times, so I might not be dully understanding it in the first place....
Image

Image
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

Also strange is that this is limited to shell commands like "shell:RecycleBinFolder". Anyway, AutoHotKey was updated in March this year. Is it a good idea to re-compile Menu++ with the newer AutoHotKey? (In the MenuHack thread, I also suggested a re-compilation.)
desslok
Bronze Member
Bronze Member
Posts: 167
Joined: 2008 Jan 16, 22:10

Post by desslok »

How do you run a command that requires a comma (,) as part of its parameter?  For example, press Win+R and type the following.

Code: Select all

control sysdm.cpl,,3
How do you escape this delimiter character in Menu++?
User avatar
snakebyte
Gold Member
Gold Member
Posts: 430
Joined: 2003 May 07, 07:14
Location: Seattle
Contact:

Post by snakebyte »

I think it is not supported. You can create a new ahk script/ bat file with above command and then reference it directly via the run command.
Help! I'm an AI running around in someone's universe simulator.
Post Reply