Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

RADIAL MENU scripts - migrated to new forum


  • Please log in to reply
1310 replies to this topic
Pellicano
  • Members
  • 2 posts
  • Last active: Apr 29 2015 07:13 AM
  • Joined: 02 Apr 2015

Tnx for your hints. I will try and i will post the results of my tests =)

 

edit:

seems working fine =)

i also added a general setting to enable / disable this feature.
I think it is especially useful for those who use some transparent skin
so im posting here my simple tweak

 

in general setting.txt 
in the general section i added

HideParentMenu =  yes

in RM\Internal\Codes\RMApp lib.ahk
at line 1084 i added

RMApp_Reg("HideParentMenu",HideParentMenu),

then line 1728 

HideParentMenu := RMApp_Reg("HideParentMenu")
if (HideParentMenu = "yes"){
Gui 1: hide
}

line 1753

HideParentMenu := RMApp_Reg("HideParentMenu")
if (HideParentMenu = "yes"){
Gui 1: show
}

then line 1846

HideParentMenu := RMApp_Reg("HideParentMenu")
if (HideParentMenu = "yes"){
Gui 1: hide
}

line 1895

HideParentMenu := RMApp_Reg("HideParentMenu")
if (HideParentMenu = "yes"){
Gui 1: show
}
its a bit rudimental but I hope I have done well.

Thanks again for your help!


Learning one
  • Members
  • 1483 posts
  • Last active: Jan 02 2016 02:30 PM
  • Joined: 04 Apr 2009

I haven't tested it yet, but it seems you did a fine job! ;)


My Website • Recommended: AutoHotkey Unicode 32-bit • Join DropBox, Copy


saltito
  • Members
  • 10 posts
  • Last active: Oct 17 2015 11:14 PM
  • Joined: 24 Apr 2015

I have just discovered this amazing script and I find it super useful for my wacom tablet.
I have few questions about certain features of Radial Menu, I hope they haven't been asked 2m times already :shy: :

  • I have the following general setup:
    RMSelectMethod =   click
    RMShowHotkey =     ^g
    RMShowMethod =     0
    RSMShowHotkey =    MButton
  • I have correctly set up "context-sensitivity" by following the Help.htm page. However, is it possible, after that I press F3, to leave the RM open until I click? If I release the F3 button it closes. That may be difficult to use on a tablet.
    Basically what I am trying to accomplish is set up the context-sensitivity RM to behave exactly like the default one, so with the same config:
    RMSelectMethod =   click
    RMShowHotkey =     ^g
    RMShowMethod =     0
    RSMShowHotkey =    MButton
  • I have also find out that the LButton does not work with the Stylus pen click in the wacom tablet. Does anybody know if it is possible to make it work?

Edited by saltito, 25 April 2015 - 01:21 AM.


Learning one
  • Members
  • 1483 posts
  • Last active: Jan 02 2016 02:30 PM
  • Joined: 04 Apr 2009

Hi saltito, I'm glad you found Radial menu useful.

I have correctly set up "context-sensitivity" by following the Help.htm page. However, is it possible, after that I press F3, to leave the RM open until I click? If I release the F3 button it closes.

Just replace RMApp_MyRMHandler2(MenuToShow) with RMApp_MyRMHandler2(MenuToShow, "c")
The second parameter represents SelectMethod - "r" means "use release to select method", and "c" means "use click to select method". If omitted, "r" applies.

The third parameter (which is omitted in examples above) represents Key - a key that has to be clicked or released to select (or not) item in menu.

If key is <blank> (omitted), and SelectMethod is:
- "click to select" key is automatically set to LButton
- "release to select" key is automatically set to refined A_ThisHotkey.
If key is <not blank>, specified key applies.
 

LButton does not work with the Stylus pen click in the wacom tablet.

I don't have it so I can't do tests and help you with this...


My Website • Recommended: AutoHotkey Unicode 32-bit • Join DropBox, Copy


saltito
  • Members
  • 10 posts
  • Last active: Oct 17 2015 11:14 PM
  • Joined: 24 Apr 2015

Thank you very much for your reply! I have been able to set up the Stylus to use the MButton, as the LButton didn't work. I have one last question, if I set up the third parameter (key) to a letter, for example "h", when I press it in a program like notepad, it types the letter inside. Shouldn't the input be disabled until RM is closed?

RMApp_MyRMHandler2(MenuToShow, "c", "h");

Never mind - I have used the release method so I don't need this anymore.
 

Is it possible to extend the function below (by adding another parameter) to change the general setting RSMShowHotkey too?
 

RmChangeHotkeys(key1 = "")
{
    ; get real key
    RMSelectMethod := RMApp_Reg("RMSelectMethod")

    ; temporary set another key
    RMApp_Reg("RMSelectMethod", key1)

    ; execute RMApp_RMShowHotkey subroutine
    Gosub, RMApp_RMShowHotkey

     ; restore real key
    RMApp_Reg("RMSelectMethod", RMSelectMethod)
    return
}


Learning one
  • Members
  • 1483 posts
  • Last active: Jan 02 2016 02:30 PM
  • Joined: 04 Apr 2009

If you'll use "h" as third parameter, you should also use "h" as a hotkey which calls the menu - something like this:

#IfWinActive, ahk_class PutYourAppClassHere
h::RMApp_MyRMHandler2(PutTheNameOfYourMenuHere, "c", "h")
#IfWinActive

not

#IfWinActive, ahk_class PutYourAppClassHere
F3::RMApp_MyRMHandler2(PutTheNameOfYourMenuHere, "c", "h")
#IfWinActive

If you really need to use unusual combination such as F3 as hotkey + "h" as third parameter, you should put additional code in the script which will disable "h" if your menu is visible. Something like this (not tested);

#If (DllCall("IsWindowVisible", A_PtrSize ? "Ptr" : "UInt", RM2_Reg("MPutTheNameOfYourMenuHere#HWND")) = 1)
h::return
#If

Is it possible to extend the function below (by adding another parameter) to change the general setting RSMShowHotkey too?

Yes it is... but user is supposed to simply set hotkeys in General settings.txt. Hovewer, if you have custom needs, you are free to write your custom codes which will modify RM behaviour.


My Website • Recommended: AutoHotkey Unicode 32-bit • Join DropBox, Copy


saltito
  • Members
  • 10 posts
  • Last active: Oct 17 2015 11:14 PM
  • Joined: 24 Apr 2015

Thanks for your replay, I know it's uncommon to set RM in this way, I had to choose a double hotkey for both the General RM and the Context Sensitive RM because I have found that the "release" works perfectly on Keyboard but it is almost impossible to get it to work on a Intuos Tablet, however the "click" method works perfectly there. If anyone is having trouble with it, this is my setup (the only problem is you won't be able to use F2 to rename a file :p):
 

if (RMApp_RMShowHotkeyConditions() != "block")
{
F1::RmChangeHotkeys("release")
^!Numpad1::RmChangeHotkeys("click")

; context sensitive menu
F2::RmLoadApps("r")
^!Numpad2::RmLoadApps("c", "MButton")
}

Note: if you happen to use RM on Unreal Engine 4, the Intuos tablet won't work 80% of the times with AHK hotkeys, but it does work with this Send functions:
 

SendSpecialTwo(key1, key2) {
	Send, {%key1% down}{%key2% down}{Sleep 20}
	Send, {%key1% up}{%key2% up}
}

SendSpecialThree(key1, key2, key3) {
        Send, {%key1% down}{%key2% down}{%key3% down}{Sleep 20}
        Send, {%key1% up}{%key2% up}{%key3% up}
}

Use it in this way:

Action= fun SendSpecialTwo|Alt|4
Action= fun SendSpecialThree|LCtrl|Shift|s

Learning One, thanks again for your support and for developing this awesome script. I have been feverishly reading AHK/RM documentation for a week and I can say that RM with AHK is an amazing combination, I've already doubled my workflow speed. I can't imagine myself going back to regular keyboard shortcuts. This is definitely one of the most useful scripts for Windows.



Learning one
  • Members
  • 1483 posts
  • Last active: Jan 02 2016 02:30 PM
  • Joined: 04 Apr 2009

Thanks for kind words. I think you should replace;

if (RMApp_RMShowHotkeyConditions() != "block")
{
; hotkeys here...
}

with

#If (RMApp_RMShowHotkeyConditions() != "block")
; hotkeys here...
#If

Also, instead of having SendSpecialTwo(), SendSpecialThree() etc., you could have only one function which can receive variable number of parameters (Variadic Function), like this;

SendSpecial(KeysToSend*){
	For k,v in KeysToSend
		Send, {%v% down}
	Sleep, 20
	For k,v in KeysToSend
		Send, {%v% up}
}

My Website • Recommended: AutoHotkey Unicode 32-bit • Join DropBox, Copy


saltito
  • Members
  • 10 posts
  • Last active: Oct 17 2015 11:14 PM
  • Joined: 24 Apr 2015

 

Also, instead of having SendSpecialTwo(), SendSpecialThree() etc., you could have only one function which can receive variable number of parameters (Variadic Function), like this;

 

Thanks a lot for the tips, I didn't know about the Variadic Function. About SendSpecial, at the end I had to change it to the following because it wasn't working:

sendSpecial(KeysToSend*) {
     For k,v in KeysToSend
     {
        x .= "{" v " down}"
        y .= "{" v " up}"
        if (KeysToSend.MaxIndex() = A_Index)
        {
            Send, %x%{Sleep 20}
            Send, %y%
        }
     }
}

The main problem is that in Autohotkey, a Send in one line seems to behave differently from a Send in multiple lines (didn't work). I have no idea why. Basically this does not work...

Send, {x down}
Sleep, 20
; etc..

...and this does work...

Send, {x down}{Sleep 20}
; etc..


Learning one
  • Members
  • 1483 posts
  • Last active: Jan 02 2016 02:30 PM
  • Joined: 04 Apr 2009

Be careful; there is a difference between sleep command and send command which sends sleep key;

Sleep, 20        ;  waits 20 ms before going to the next command.
Send, {Sleep}    ; sends computer "Sleep" key.
Send, {Sleep 20}    ; It doesn't sleep/wait for 20 ms before going to the next command - it sends computer "Sleep" key 20 times.

My Website • Recommended: AutoHotkey Unicode 32-bit • Join DropBox, Copy


Moderated
  • Members
  • 124 posts
  • Last active: Aug 27 2015 04:01 PM
  • Joined: 28 May 2012

Is there a way to detect if you click or right click while radial menu is open? I'm thinking about trying something where if you click while it's open a textbox slides out the center and it runs whatever you type. 



regbalt
  • Members
  • 1 posts
  • Last active: May 23 2015 04:30 PM
  • Joined: 22 May 2015

On the search, to make my life easier with putty, I land on autohotkey and then here. Is there a way for item actions to type a command ?

So i can hold right mouse in putty and select a item and it types me a command in putty ?



saltito
  • Members
  • 10 posts
  • Last active: Oct 17 2015 11:14 PM
  • Joined: 24 Apr 2015

On the search, to make my life easier with putty, I land on autohotkey and then here. Is there a way for item actions to type a command ?

So i can hold right mouse in putty and select a item and it types me a command in putty ?

 

Yes, check this post. I use RM with Console2 and the default Command line. For example:

cmdSend(command) {
    if WinActive("ahk_exe Console.exe") || WinActive("ahk_exe cmd.exe")
    {
        Send, ^c{Sleep 50}
        Send, ^c{Sleep 50}
        Send, %command%
    } else {
        MsgBox, 0x41000, Command Aborted, It seems that the command line is inactive!
    }
}

Then you can call the function like this (here's an example running node package manager install):

Action=    fun cmdSend|npm install

If you don't know the name of the ahk_exe (PuTTY), right click in the tray of AutoHotkey, click "Window Spy", then click any PuTTY window to get the info about that program.



Relvexial
  • Members
  • 3 posts
  • Last active: Jun 12 2015 02:32 PM
  • Joined: 23 Apr 2013

Hello! FIrst off Radial menu's really great! I get many questions at work as to what it is. Thanks for all your hard work on it! Now for my question/problem! :)

 

Since the July '14 update the Radial Menu designer's been having issues for me. When attempting to click and drag icons around, there seems to be some kind of weird offset for where the mouse click/drag registers. e.g. When trying to drag an icon, one to the lower left seems to get dragged (though the actual icon that gets drug (dragged?) isn't always predicatable.

 

Anyone else notice this behavior? Any ideas what might be causing it. I thought it might be due to my dual monitor setup but after further testing this appears not to be the case.

 

Thanks for your time!



Moderated
  • Members
  • 124 posts
  • Last active: Aug 27 2015 04:01 PM
  • Joined: 28 May 2012

Can you make so RMD uses the skin you're using?