You are on page 1of 182

AutoHotkey Community

L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page 1, 2, 3 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View ne

Author Message

Learning one Posted: Fri Nov 06, 2009 4:08 pm Post subject: RADIAL MENU scripts

Here you can find my radial menu works:


Joined: 04 Apr 2009
1 . Radial menu v3 - recommended, es pec ially if you like "releas e to s elec t", up to 9 5 items in total,
Posts: 293
Location: Croatia s ubmenus ,
built- in s kins , multiple item rings , c us tom s ubroutines , mous e ges tures , s ounds , effec ts , nic e graphi
2 . [module] Radial menus and docks
3 . Radial menu "mg" method
4 . Simple radial menu - obs olete. "L eft c lic k to s elec t", up to 8 items per menu, s implic ity.
5 . Radial menu v2 - obs olete. "T ouc h to s elec t", up to 8 items per menu, larger text&buttons , s pec ia
effec ts ...
6 . Radial menu v1 - obs olete

A ll menus are s kinnable. 1 , 2 , 3 are us ing Tic's GDI+ f unction library. T hank you T ic !

You can also find some nice modifications and experiments from other AHK memb
here.
Just scroll this topic down...
Radial menu v3
Short descript ion:
Radial menu is a new method of giving commands to your computer. I t's a powerful hotkey, launcher, and
ges tures
s ys tem packed in ergonomic and nice looking interface. I t is driven by AutoHotkey, s o it can do almos t any
Radial menu program c ons is t of 1 ) radial menu module and 2 ) mous e ges tures func tionality.
P leas e read Radial menu help file for further information.

Def ault hot keys:


Rbutton:
- Drag down to s how radial menu module.
- Drag in other direc tions to exec ute mous e ges tures .
Lbutton: s hows /hides s ubmenus

Get lat est original version:


Radial menu 3 .1 8

Get RM modif icat ions*:


- Radial menu v3 .1 8 T ouc h_M od by H oundx ... Read releas ing pos t.
- Radial menu v3 .1 8 T hemes by L iquidG ravity ... Read releas ing pos t.

Licence inc luded in Radial menu pac kage.

Cont act : c ontac t link

___________________
* Note: RM licence prohibits (re)distribution without my written permission.
These people have my permission to upload their modifications. If you want to upload your modification, ask me for permission first.
Also read Posting Radial menu code - regulation.
More previews

Old versions
- Radial menu v2
- Radial menu v1
- Simple radial menu

Last edited by Learning one on Fri Jun 04, 2010 10:46 am; edited 66 times in total
Back to top

HotKeyIt Posted: Fri Nov 06, 2009 6:12 pm Post subject:

L ooks nic e
Joined: 18 Jun 2008
Posts: 2570
Location: GERMANY M ay I give s ome c omments

While it is nic e that mous e jumps bac k to the middle, a timer before exec ution would be good as well
So I would need to point on an item for defined ms ec onds before it gets exec uted.
T his way I c ould leave the area when ac c es s ed by ac c ident as well

A ls o would be great if this c ould be in a func tion s tyle + variable hotkeys and eas y to define menu.
Something like
Code:

;Define menu = ItemName1|FunctionOrLabelOrFilePath:ItemName2|FunctionOrLabelOrFilePath...


MenuItems=Notepad|notepad.exe:Windows`nExplorer|%A_WinDir%\explorer.exe
;User defined Hotkey
Hotkey=RButton
;function
RadialMenu(MenuItems, Hotkey="RButton")

E ac h time you add/delete/c hange an I tem you would need to c hange the c ode and this is not very pr
think.
_________________
AutoHotFile+ToolTip+AutoHotkey_H18.dll

Back to top

MarcInSpace Posted: Fri Nov 06, 2009 7:53 pm Post subject:

Wow, amazing! T hanks for this great s c ript.


Joined: 23 Feb 2009
Posts: 30
Y et, I do agree c ompletely with H otKeyI t about the timer (in fac t that was my s ec ond reac tion! [T he
s upris e]) and the " func tion s tyle".

G reetings ,

M arc

Back to top

Delusion Posted: Fri Nov 06, 2009 11:15 pm Post subject:

nic e looks great


Joined: 17 Jul 2008 heres s omething s imilar : http://www.autohotkey.c om/forum/viewtopic .php? t=2 8 9 8 4 &highlight=radi
Posts: 172
Location: Greece/Rhodos _________________
Movie Launcher

Back to top

Learning one Posted: Sat Nov 07, 2009 4:59 pm Post subject:

H otKeyI t, M arc I nS pac e, D elus ion, thank you for c ompliments !


Joined: 04 Apr 2009
Posts: 293
Location: Croatia @ Hot KeyIt , MarcInSpace
Quote:

a timer before execution would be good as well.


So I would need to point on an item for defined mseconds before it gets executed.

H mm... I prefer "touc h to s elec t". I t's fas ter and s impler.

Required act ions t o select comparison:


* t ouch t o select
1 . c lic k&hold Rbutton
2 . drag mous e at s ome angle

* point on an it em f or def ined mseconds bef ore it gets executed


1 . c lic k&hold Rbutton
2 . drag mous e at s ome angle
3 . you have to think how far you move your mous e
4 . after you "aimed" item, you have to wait for defined ms ec onds

Quote:

Also would be great if this could be in a function style

Y es , I definitely agree. But that will wait for a while...

RA DIA L MENU v2
I 'm c urrently working on RA D I A L M E N U v2 . I t will look muc h better. I think I will be able to upload i
tomorrow. So vis it this topic again!

Back to top

netfun81 Posted: Sat Nov 07, 2009 7:21 pm Post subject:

V ery nic e. Y ou might c ons ider making an ini file or an eas ier way to add/c hange applic ations for thos
Joined: 28 Oct 2006 new to A H K.
Posts: 58

Back to top

Learning one Posted: Sun Nov 08, 2009 1:45 pm Post subject:

Check out Radial menu v2!


Joined: 04 Apr 2009
Posts: 293
Location: Croatia @ netfun8 1
Quote:

Very nice. You might consider making an ini file or an easier way to add/change applications for those more new to
AHK.

T hanks netfun8 1 . U nfortunately, Radial menu v2 s till don't us e .ini file.

Back to top

Delusion Posted: Sun Nov 08, 2009 1:49 pm Post subject:

nic e but i liked the buttons in the firs t on better...thes e bigger ones dont look s o nic e
Joined: 17 Jul 2008
Posts: 172
Location: Greece/Rhodos and yeah us ing an ini file for quic kly adding and removing items would be nic e
_________________
Movie Launcher

Back to top

Learning one Posted: Sun Nov 08, 2009 7:05 pm Post subject:

Quote:
Joined: 04 Apr 2009
nice but i liked the buttons in the first on better...these bigger ones dont look so nice
Posts: 293
Location: Croatia

I f you prefer s maller, 5 0 x5 0 buttons - download this :


http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu
/Radial% 2 0 menu% 2 0 v2 .1 beta% 2 0 5 0 x5 0 .ahk

C reating .ini file will wait for a while...

Last edited by Learning one on Sun Nov 15, 2009 1:06 am; edited 1 time in total

Back to top

Moebius Posted: Sun Nov 08, 2009 9:09 pm Post subject:

nic e s c ript!
Joined: 09 Mar 2009 T he s etting "build effec t = 0 " does not s how the menu ins tantly.
Posts: 17
M aybe the menu s hould be c onfigurable in a s ettings file?
Submenus would als o be nic e.
eas yG es tures in firefox us es the s ame method, s o it c onflic ts with radialmenu...

I f you like, take a look at my page - i als o tried to do a pie menu tool, but its vb6 & flas h bas ed.
_________________
http://mons c hein.org

Back to top

Learning one Posted: Mon Nov 09, 2009 11:16 am Post subject:

Check out new script, Simple radial menu


Joined: 04 Apr 2009
D ifferent approac h, bes t res ults .
Posts: 293
Location: Croatia
@Ref lexNPG
T hanks .

us e:
BuildD elay = 0
BuildE ffec t = 0

I took a look at your page. I like your M oWaM ous e.

Back to top

Delusion Posted: Mon Nov 09, 2009 12:59 pm Post subject:

nic e
Joined: 17 Jul 2008
Posts: 172
Location: Greece/Rhodos i rewrote your new s imple radial menu and made s ome s mall c hanges and improvements :

Code:
/*
Simple radial menu (40x40 buttons) by Learning one
Modified by Delusion
AHK forum location: http://www.autohotkey.com/forum/viewtopic.php?p=308352#308352
*/

;________START_________________________________________|

#NoEnv
#SingleInstance Force
#Persistent
SetBatchLines -1
SetWinDelay -1
SetControlDelay -1

;________SETTINGS______________________________________|

$ProgramName := "Radial Menu", $Version := "Simple Version", $MainGui := "1"


$BuildDelay := "200", $ButtonBack := "Button5.png"

Item1 := "Test"
Item2 := "Meow"
Item3 := "123"
Item4 := "Boring"
Item5 := "Test 2"
Item6 := "blabla"
Item7 := "000"
Item8 := "15HFF"

;________AUTO EXEC_____________________________________|

IFNotExist, %A_ScriptDir%\%$ButtonBack%
{
URLDownloadToFile, http://www.autohotkey.net/~Delusion/%$ButtonBack%,
%A_ScriptDir%\%$ButtonBack%
Sleep 500
}

GoSub BuildGui
Menu Tray, Tip, % $ProgramName A_Space $Version "`n by Learning one (Modified by Delusion)"
Menu Tray, Icon, Shell32.dll, 44

RETURN

;________BUILD GUI_____________________________________|

BuildGui:
Gui %$MainGui%: +AlwaysOnTop +ToolWindow -Caption +LastFound
WinSet, Region, 1-0 W180 H180 R180-180
Gui %$MainGui%: Font, s7 cwhite, Arial
Gui %$MainGui%: Color, fffffd
PicturePositions = x70 y10|x115 y25|x130 y70|x115 y115|x70 y130|x25 y115|x10 y70|x25 y25
TextPositions = x73 y13|x118 y28|x133 y73|x118 y118|x73 y133|x28 y118|x13 y73|x28 y28
Loop 8
{
Loop, Parse, PicturePositions, `|
Gui %$MainGui%: Add, Picture, %A_LoopField% w40 h40 BackgroundTrans gSub%A_Index%,
%A_ScriptDir%\%$ButtonBack%
Loop, Parse, TextPositions, `|
Gui %$MainGui%: Add, Text, %A_LoopField% w34 h34 Center Bold BackgroundTrans
gSub%A_Index%, % Item%A_Index%
}
Gui %$MainGui%:Add, Picture, x70 y70 w40 h40 gGuiHide, %A_ScriptDir%\%$ButtonBack%
Gui %$MainGui%:Add, Text, x73 y78 w34 h24 Center BackgroundTrans gGuiHide, Close`nMenu
RETURN

;________SUBROUTINES___________________________________|

Sub1:
RETURN
Sub2:
RETURN

Sub3:
RETURN

Sub4:
RETURN

Sub5:
RETURN

Sub6:
RETURN

Sub7:
RETURN

Sub8:
RETURN

;________HOTKEY________________________________________|

RButton::
Sleep %$BuildDelay%
IF not (GetKeyState("RButton","p"))
{
SendInput {RButton}
RETURN
}
CoordMode Mouse, Screen
MouseGetPos mx1, my1
RMGuiX := mx1 - 90
RMGuiY := my1 - 90
Gui %$MainGui%: Show, x%RMGuiX% y%RMGuiY% w180 h180, % $ProgramName
WinSet TransColor, fffffd 255, % $ProgramName
RETURN

GuiHide:
SendInput {LButton up}
Gui %$MainGui%: Hide
CoordMode Mouse, Relative
RETURN

_________________
Movie Launcher

Back to top

Moebius Posted: Mon Nov 09, 2009 1:17 pm Post subject:

i've s et builddelay = 0 and buildeffec t = 0


Joined: 09 Mar 2009 but it s till draws eac h item one by one whic h takes s ome time...
Posts: 17
I like the s imple radial menu - it works ins tantly.

H ere i have another 2 c ents


What about a dynamic number of menu items ?
A nd what about a tas kmanager as radial menu?

T hanks for s haring your s c ripts !


_________________
http://mons c hein.org

Back to top
Learning one Posted: Mon Nov 09, 2009 10:11 pm Post subject:

@Delusion
Joined: 04 Apr 2009 eh, I als o rewrote S imple radial menu before I s aw your (nic e ) modific ation...
Posts: 293
Location: Croatia Simple radial menu is now in "newbie friendly s tyle"

one interes ting new s etting:


U nfoc us M enu = 1 ; A c tivates window that was ac tive before pres s ing hotkey, s o you c an s c roll it, ty
etc ...

@Ref lexNPG
I n fac t G ui- s are always s hown one by one, but with this (0 ) s ettings , ti s hould be almos t invis ible. I
almos t invis ible on my c omputer...

Back to top

doyle Posted: Tue Nov 10, 2009 10:26 am Post subject:

G reat Sc ript.
Joined: 14 Nov 2007
Posts: 308
Location: London, England I c us tomis ed v2 , s o you c an s pec ify how many ic ons you want, and c an define them at the s tart.

I found that I didnt always require 8 ic ons .

I f you think it is a good idea, pleas e add it.

T hanks again.

I have mes s ed around with the button s izes though, s o I wouldnt rec ommend us ing mine as is .

Code:

Number = 5 ; Number of Icons

TextSize = 8 ; Item's text size Once when you get used to your radial menu, you will
remember item's positions, and text size won't be so important to you. So you will select item
by position in your mind, not by reading item's text.

TextColor = black ; Item's text color


Font = Calibri ; Item's font

BuildDelay = 170 ; menu will start to show itself after %BuildDelay% miliseconds. To show it
instantly, set 0. This delay gives you opportunity to send normal RButton click without annoyi
menu showing. THE BEST THING TO DO is to change hotkey to XButton1 or XButton1 (if you have th
- I don't) and use BuildDelay = 0. MButton is also good idea.

BuildEffect = 50 ; menu items will show themself, one by one, in interval of %BuildEffect% m
To show them all instantly, set 0.

ItemBounce = 1 ; 1 means: items will bounce when you select them. 0 means: items will not
bounce.
SoundOnSelect = 1 ; 1 means: play sound when item is selected. 0 means: don't play sound. Of
course, you can change sound...
; SoundOnShow ; Play with effects: you can easily add this by slightly modifying script..
; SoundOnDestroy

Color = Black ; this is alternative background color, if script can't load picture (butto
picture).
ButtonBack = Button3.png ; button's background

Item1 = Calc
Item2 = NotePad
Item3 = Explorer
Item4 = About
Item5 =
Item6 =
Item7 =
Item8 =

;===Auto-execute======================================================================

StringTrimRight, Sname, A_ScriptName, 4


Menu, Tray, Tip, %Sname%
Loop, %Number% ; load item's background (fake button), set altenative backgroun
and font
{
; If you want to change item's background, try to use 50x50 images. Some other backgrounds
are available on:
; http://www.autohotkey.net/~Learning one/Radial Menu

; Play with effects: small deviations in Add, Picture options have interesting effect:
; x0 y-1 w69 h69 ; small shadow
; x0 y-1 w71 h71 ; no shadow
Gui 9%A_Index%:Add, Picture, x0 y0 w32 h32 , %A_scriptdir%\%ButtonBack%
Gui 9%A_Index%:Font, s%TextSize%, %Font%
Gui, Color, EEAA99
Gui +LastFound ; Make the GUI window the last found window for use by the line below.
WinSet, TransColor, EEAA99
}

;======Set item names======


; This is just example. Build your own menu! You don't need to manually reposition item's text
(like in Radial menu v1).

; Play with effects: Remove BackgroundTrans in GuiTextOptions and set Color = 757500 (GUI's
color)
GuiTextOptions = x2 y28 w32 h32 c%TextColor% BackgroundTrans

Loop, %Number%
{
current := Item%A_Index%
Gui 9%A_Index%:Add, Text, %GuiTextOptions% , %current% ; Auto build items 1-5
}
;==========================

;===Hotkey==============================================================================
RButton:: ; Press & hold to show menu. Touch items with mouse to select them. Release RButto
to hide menu. THE BEST THING TO DO is to change hotkey to XButton1 or XButton1 if you have the
( I don't :( )
PressedTime = 0
CoordMode, mouse, Screen
MouseGetPos, mx1, my1
SetTimer, RadialMenuClose, 35

Loop, %Number% ; Draw items (GUIs) at exact positions --> 50x50 buttons
{
if A_index = 1
{
RMx := mx1-25
RMy := my1-95
if BuildDelay
{
Sleep , %BuildDelay% ; menu will start to show itself after %BuildDelay% ms
if not (GetKeyState("RButton","p"))
Return
}
}
Else if A_index = 2
{
RMx := mx1+25
RMy := my1-75
}
Else if A_index = 3
{
RMx := mx1+45
RMy := my1-25
}
Else if A_index = 4
{
RMx := mx1+25
RMy := my1+25
}
Else if A_index = 5
{
RMx := mx1-25
RMy := my1+45
}
Else if A_index = 6
{
RMx := mx1-75
RMy := my1+25
}
Else if A_index = 7
{
RMx := mx1-95
RMy := my1-25
}
Else if A_index = 8
{
RMx := mx1-75
RMy := my1-75
}

Gui 9%A_Index%: +AlwaysOnTop +ToolWindow -caption +LastFound


;WinSet, Region, 1-0 W50 H50 R25-25
Gui 9%A_Index%: Show, x%RMx% y%RMy% h40 w48, Item%A_Index%
WinSet, Transparent, 255, Item%A_Index%

Sleep, %BuildEffect%
if not (GetKeyState("RButton","p"))
Return
}

SetTimer, GetSelectedItem, 15
Return

;===Subroutines=========================================================================
GetSelectedItem: ; menu items are identified by GUI's title!
MouseGetPos, , , WinID
WinGetTitle, Item, ahk_id %WinID%

if Item contains Item ; This is just example. Build your own menu!
{
CoordMode, mouse, Screen
MouseMove, %mx1%, %my1%
if Item = Item8 ; About Radial menu
{
if ItemBounce = 1
Gosub, ItemBounceOnSel
MsgBox, 64, About, Title:%A_Tab%Radial menu v2`nAuthor:%A_Tab%Boris Mudrinic (Learning on
on AHK forum)`nContact:%A_Tab%boris-mudrinic@net.hr`n`nLicence:`nFree for non-commercial
use.`nFor commercial use, e-mail me please.`n`nIf you will use Radial menu in your free
software,`nmention author's name and contact.
Return
}
else if Item = Item7 ; Runs Windows Explorer
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, %A_WinDir%\explorer.exe
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else if Item = Item6 ; Runs Notepad
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, notepad
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else if Item = Item5 ; Runs Calculator
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, %A_WinDir%\system32\calc.exe
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else
{
if ItemBounce = 1
Gosub, ItemBounceOnSel
MsgBox,, You selected:, %Item%,1
}
}
Return

RadialMenuClose:
PressedTime++
if not (GetKeyState("RButton","p"))
{
if (PressedTime < 7) ; if user holded RButton for less than 210ms ...
SendInput, {RButton} ; ... script will send normal RButton click

SetTimer, GetSelectedItem, off


SetTimer, RadialMenuClose, off

; Fade out effect


InitialTrans = 255
Loop, 17
{
Loop, %Number%
WinSet, Transparent, %InitialTrans%, Item%A_Index%
InitialTrans -= 15
Sleep, 25 ; change fade out speed if you wish
}
Loop, %Number%
Gui 9%A_index%: Hide
Return
}
Return

ItemBounceOnSel: ; bounce effect


Critical
WinGetPos, XBounce, YBounce,,, %Item%
SetTimer, RadialMenuClose, off
SetTimer, GetSelectedItem, off
SetWinDelay, 5 ; bounce speed

if Item = Item1
{
Loop, %Number%
{
if A_Index <= 4
YBounce -= 4 ; bounce lenght
Else
YBounce += 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item2
{
Loop, %Number%
{
if A_Index <= 4
{
XBounce += 4
YBounce -= 4
}
Else
{
XBounce -= 4
YBounce += 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item3
{
Loop, %Number%
{
if A_Index <= 4
XBounce += 4
Else
XBounce -= 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item4
{
Loop, %Number%
{
if A_Index <= 4
{
XBounce += 4
YBounce += 4
}
Else
{
XBounce -= 4
YBounce -= 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item5
{
Loop, %Number%
{
if A_Index <= 4
YBounce += 4
Else
YBounce -= 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item6
{
Loop, %Number%
{
if A_Index <= 4
{
XBounce -= 4
YBounce += 4
}
Else
{
XBounce += 4
YBounce -= 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item7
{
Loop, %Number%
{
if A_Index <= 4
XBounce -= 4
Else
XBounce += 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item8
{
Loop, %Number%
{
if A_Index <= 4
{
XBounce -= 4
YBounce -= 4
}
Else
{
XBounce += 4
YBounce += 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}

SetWinDelay, 100 ; default


SetTimer, GetSelectedItem, on
SetTimer, RadialMenuClose, on
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ExitApp
Pause::
Suspend
Pause,,1
return

Escape::
Suspend
ExitApp
Return

F7::Reload
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Back to top

Display posts from previous: All Posts Oldest First Go

All tim
AutoHotkey Community Forum Index -> Scripts & Functions
Goto page 1, 2, 3 ... 16, 17
Page 1 of 18
Watch this topic for replies Jump to: Scripts & Function

Powered by phpBB © 2001, 2005 phpBB Group


AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3, ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

Learning one Posted: Tue Nov 10, 2009 4:49 pm Post subject:

@doyle T hanks . I implemented s ome of yours ideas in v2 .1 beta


Joined: 04 Apr 2009
Posts: 293
Location: Croatia
RADIAL MENU v2.1 beta
I did this very quic kly, s o there might be s ome mis takes . I f you want, tes t it.
Firs t manually download and plac e in % A _s c riptdir% this two .png- s :
http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu/wizard.png
http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu/monitor.png

Code:

;===Description=========================================================================
/*
RADIAL MENU v2.1 beta by Learning one
AHK forum location: http://www.autohotkey.com/forum/viewtopic.php?p=308352#308352

Draws radial menu when you press & hold RButton. Touch items with mouse to select them.
Release RButton to hide menu.
After each selection, mouse will bounce back to center. You can easily select multiple
items at once, just with one mouse click!

When I was writing this script, my goals were (sorted by priority):


1. minimize mouse clicks
2. minimize mouse movements
3. minimize eye movements
4. support longer item names than in RADIAL MENU v1
5. not too big, practical, and nice looking menu
6. preserve normal RButton click function
7. write script in tidy, neat style to ease studying and modifying job for all members
of AHK community
8. add some special effects

HOW DOES IT WORK? It simply draws 8 carefully positioned & shaped GUIs. See comments in
script.
IMPORTANT: Menu items are identified by GUI's title, not by item's text. As GUI's titles
are Item1, Item2 etc., we can say that items are identified by position.
I was using high GUI numbers, so you can easily implant Radial menu in your script.

SOME THOUGHTS: Don't think that 8 items are the limit of this menu! One item can be
submenu that will open new radial menu! Or, selecting one "special" item
may also have effect like pressing modyfiers on you keyboard (Ctrl, Alt, etc.)! There
are almost no limits! Such "special" items may have different
color or may be slightly transparent. Also try to create context sensitive radial menu
(menu items are different for different active windows).
That's what I did (my private version). Add icons instead of item's text. Change item's
background picture (try to use 70x70 images).
Add some sounds. Create different menu build effect. There are plenty of "make-up" and
functional possibilities.

LICENCE:
Free for non-commercial use.
For commercial use, e-mail me please.
If you will use Radial menu in your free software,
mention author's name and contact.
Author: Boris Mudrinic (Learning one on AHK forum)
Contact: boris-mudrinic@net.hr

HOTKEYS:
RButton ; Press & hold to show menu. Touch items with mouse to select them. Release
RButton to hide menu.
Escape ; ExitApp
Pause ; Pauses the script's current thread and suspends RButton Hotkey, but not
Escape Hotkey!

CODE STRUCTURE:
Settings
Auto-execute
Hotkey
Subroutines
GetSelectedItem
RadialMenuClose
ItemBounceOnSel
My standard ExitApp and Suspend+Pause hotkeys

You can change button's action in GetSelectedItem subroutine


*/

;===Basic settings====================================================================
TotalButtons = 7 ; Total number of buttons in menu (8 max!)
ButtonBack = Button3.png ; Button's background (in %A_scriptdir%)

;Item names ; Use `n if you need. Text will be above icon.


Item1 = Calc
Item2 = NotePad
Item3 = Explorer
Item4 = About
Item5 = Thanks`ndoyle
Item6 =
Item7 = Text is`nabove ; Note! this one has different placement. See below,
;======Set item names======
Item8 =

;Button's icons (in %A_scriptdir%) ; Use .png format!


Icon1 =
Icon2 =
Icon3 =
Icon4 =
Icon5 =
Icon6 = wizard.png
Icon7 = monitor.png
Icon8 =

;You can change button's action in GetSelectedItem subroutine

;===Advanced settings=================================================================
TextSize = 9 ; Item's text size Once when you get used to your radial menu,
you will remember item's positions, and text size won't be so important to you. So you
will select items by position in your mind, not by reading item's text.
TextColor = white ; Item's text color
Font = Arial ; Item's font
BuildDelay = 190 ; menu will start to show itself after %BuildDelay% miliseconds. To
show it instantly, set 0. This delay gives you opportunity to send normal RButton click
without annoying menu showing. THE BEST THING TO DO is to change hotkey to XButton1 or
XButton1 (if you have them - I don't) and use BuildDelay = 0. MButton is also good idea.
BuildEffect = 30 ; menu items will show themself, one by one, in interval of
%BuildEffect% ms. To show them all instantly, set 0.
ItemBounce = 1 ; 1 means: items will bounce when you select them. 0 means: items
will not bounce.
SoundOnSelect = 1 ; 1 means: play sound when item is selected. 0 means: don't play
sound. Of course, you can change sound...
; SoundOnShow ; Play with effects: you can easily add this by slightly modifying
script...
; SoundOnDestroy
Color = Black ; this is alternative background color, if script can't load picture
(button picture).

;===Auto-execute======================================================================
IfNotExist, %A_scriptdir%\%ButtonBack%
{
URLDownloadToFile, http://www.autohotkey.net/~Learning one/Radial Menu/%ButtonBack%,
%A_scriptdir%\%ButtonBack%
Sleep, 500
}

StringTrimRight, Sname, A_ScriptName, 4


Menu, Tray, Tip, %Sname%

;===Set button's background, altenative background and font===


Loop, %TotalButtons%
{
; If you want to change item's background, try to use 70x70 images. Some other
backgrounds are available on:
; http://www.autohotkey.net/~Learning one/Radial Menu

; Play with effects: small deviations in Add, Picture options have interesting
effect:
; x0 y-1 w69 h69 ; small shadow
; x0 y-1 w71 h71 ; no shadow
Gui 9%A_Index%:Add, Picture, x0 y-1 w69 h69 , %A_scriptdir%\%ButtonBack%
Gui 9%A_Index%:Font, s%TextSize%, %Font%
Gui 9%A_Index%: Color, %Color%
}

;======Set icons======
Loop, %TotalButtons%
{
CurrentIcon := Icon%A_Index%
if (CurrentIcon = "")
Continue
Gui 9%A_Index%:Add, Picture, x3 y3 w64 h64 BackgroundTrans,
%A_scriptdir%\%CurrentIcon%
}

;======Set item names====== ; text has precedence over icons!


; Play with effects: Remove BackgroundTrans in GuiTextOptions and set Color = 757500
(GUI's color)
GuiTextOptions = x7 y10 w56 h50 c%TextColor% BackgroundTrans ; principle

Loop, %TotalButtons%
{
if A_index = 7 ; exception
Gui 97:Add, Text, x7 y14 w56 h50 c%TextColor% center BackgroundTrans , %Item7%
else ; principle
CurrentItem := Item%A_Index%
Gui 9%A_Index%:Add, Text, %GuiTextOptions% , %CurrentItem% ; Build items
}

;===Hotkey==============================================================================
RButton:: ; Press & hold to show menu. Touch items with mouse to select them. Release
RButton to hide menu. THE BEST THING TO DO is to change hotkey to XButton1 or XButton1
if you have them ( I don't :( )
PressedTime = 0
CoordMode, mouse, Screen
MouseGetPos, mx1, my1
SetTimer, RadialMenuClose, 35
Loop, %TotalButtons% ; Draw items (GUIs) at exact positions
{
if A_index = 1
{
RMx := mx1-35
RMy := my1-135
if BuildDelay
{
Sleep , %BuildDelay% ; menu will start to show itself after %BuildDelay%
ms
if not (GetKeyState("RButton","p"))
Return
}
}
Else if A_index = 2
{
RMx := mx1+33
RMy := my1-103
}
Else if A_index = 3
{
RMx := mx1+65
RMy := my1-35
}
Else if A_index = 4
{
RMx := mx1+33
RMy := my1+33
}
Else if A_index = 5
{
RMx := mx1-35
RMy := my1+65
}
Else if A_index = 6
{
RMx := mx1-103
RMy := my1+33
}
Else if A_index = 7
{
RMx := mx1-135
RMy := my1-35
}
Else if A_index = 8
{
RMx := mx1-103
RMy := my1-103
}

Gui 9%A_Index%: +AlwaysOnTop +ToolWindow -caption +LastFound


WinSet, Region, 1-0 W70 H70 R25-25
Gui 9%A_Index%: Show, x%RMx% y%RMy% h70 w70, Item%A_Index%
WinSet, Transparent, 255, Item%A_Index%

Sleep, %BuildEffect%
if not (GetKeyState("RButton","p"))
Return
}

SetTimer, GetSelectedItem, 15
Return

;===Subroutines=========================================================================
;===Change button's action here===
GetSelectedItem: ; menu items are identified by GUI's title!
MouseGetPos, , , WinID
WinGetTitle, Item, ahk_id %WinID%

if Item contains Item ; This is just example. Build your own menu!
{
CoordMode, mouse, Screen
MouseMove, %mx1%, %my1%
if Item = Item4 ; About Radial menu
{
if ItemBounce = 1
Gosub, ItemBounceOnSel
MsgBox, 64, About, Title:%A_Tab%Radial menu v2.1 beta`nAuthor:%A_Tab%Boris Mudrinic
(Learning one on AHK forum)`nContact:%A_Tab%boris-mudrinic@net.hr`n`nLicence:`nFree for
non-commercial use.`nFor commercial use, e-mail me please.`n`nIf you will use Radial
menu in your free software,`nmention author's name and contact.
Return
}
else if Item = Item3 ; Runs Windows Explorer
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, %A_WinDir%\explorer.exe
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else if Item = Item2 ; Runs Notepad
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, notepad
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else if Item = Item1 ; Runs Calculator
{
if SoundOnSelect = 1
SoundPlay, *-1 ; plays simple beep.
Run, %A_WinDir%\system32\calc.exe
if ItemBounce = 1
Gosub, ItemBounceOnSel
Return
}
else
{
if ItemBounce = 1
Gosub, ItemBounceOnSel
MsgBox,, You selected:, %Item%,1
}
}
Return

RadialMenuClose:
PressedTime++
if not (GetKeyState("RButton","p"))
{
if (PressedTime < 7) ; if user holded RButton for less than 210ms ...
SendInput, {RButton} ; ... script will send normal RButton click

SetTimer, GetSelectedItem, off


SetTimer, RadialMenuClose, off

; Fade out effect


InitialTrans = 255
Loop, 17
{
Loop, 8
WinSet, Transparent, %InitialTrans%, Item%A_Index%
InitialTrans -= 15
Sleep, 25 ; change fade out speed if you wish
}
Loop, %TotalButtons%
Gui 9%A_index%: Hide
Return
}
Return

ItemBounceOnSel: ; bounce effect


Critical
WinGetPos, XBounce, YBounce,,, %Item%
SetTimer, RadialMenuClose, off
SetTimer, GetSelectedItem, off
SetWinDelay, 5 ; bounce speed

if Item = Item1
{
Loop, 8
{
if A_Index <= 4
YBounce -= 4 ; bounce lenght
Else
YBounce += 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item2
{
Loop, 8
{
if A_Index <= 4
{
XBounce += 4
YBounce -= 4
}
Else
{
XBounce -= 4
YBounce += 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item3
{
Loop, 8
{
if A_Index <= 4
XBounce += 4
Else
XBounce -= 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item4
{
Loop, 8
{
if A_Index <= 4
{
XBounce += 4
YBounce += 4
}
Else
{
XBounce -= 4
YBounce -= 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item5
{
Loop, 8
{
if A_Index <= 4
YBounce += 4
Else
YBounce -= 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item6
{
Loop, 8
{
if A_Index <= 4
{
XBounce -= 4
YBounce += 4
}
Else
{
XBounce += 4
YBounce -= 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item7
{
Loop, 8
{
if A_Index <= 4
XBounce -= 4
Else
XBounce += 4
WinMove, %Item%, , %XBounce%, %YBounce%
}
}
else if Item = Item8
{
Loop, 8
{
if A_Index <= 4
{
XBounce -= 4
YBounce -= 4
}
Else
{
XBounce += 4
YBounce += 4
}
WinMove, %Item%, , %XBounce%, %YBounce%
}
}

SetWinDelay, 100 ; default


SetTimer, GetSelectedItem, on
SetTimer, RadialMenuClose, on
Return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ExitApp
Pause::
Suspend
Pause,,1
return

Escape::
Suspend
ExitApp
Return
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Back to top
doyle Posted: Tue Nov 10, 2009 4:55 pm Post subject:

G ood work L O .
Joined: 14 Nov 2007
Posts: 308
Location: London, England I 'll tes t it, and report bac k later.

Back to top

doyle Posted: Tue Nov 10, 2009 6:27 pm Post subject:

I was thinking that the s c ript would look s leeker if eac h item faded in individually. (A nd
Joined: 14 Nov 2007 fade out individually too.)
Posts: 308
Location: London, England
Would it be worth c reating a fade func tion?

i.e when a we loop through and c reate eac h item, we s end it to the fade func tion s o that it
fades in.

Something like:
Code:

fade(item,speed)
{

fade = 0
Loop, 25
{
WinSet, Transparent, %fade%, %item%
fade := fade + 10
Sleep, %speed%

WinSet, Transparent, 255, %item%


}

T hen when the s c ript fades out the window it fades them out one after the other by
s ending them to a fadeout func tion. (O r the s ame func tion but tweeked to ac c ept an in or
out arguement.)

We s tart a loop that c reates eac h item s eperately after a s mall delay, but if we triggered
the func tion for eac h item within the loop, then the s hould fade in individually.

Back to top

netfun81 Posted: Tue Nov 10, 2009 8:04 pm Post subject:

I liked the c onc ept s o I dec ided to make my own * even s impler* radial menu. T his one
Joined: 28 Oct 2006 us es the middle mous e button and dis appears in a c ouple s ec onds or when launc hing an
Posts: 58
app. M aybe s omeone will like it.

s c reens hot:

Code:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

CoordMode, Mouse, Screen


Gui +ToolWindow +AlwaysOnTop -Caption
Gui, Color, EEAA99
Gui +LastFound
WinSet, TransColor, EEAA99

Gui, Add, Button, x40 y5 w20 h20 , F


Gui, Add, Button, x20 y15 w20 h20 , E
Gui, Add, Button, x60 y15 w20 h20 , I
Gui, Add, Button, x10 y35 w20 h20 , C
Gui, Add, Button, x70 y35 w20 h20 , T
Gui, Add, Button, x20 y55 w20 h20 , L
Gui, Add, Button, x60 y55 w20 h20 , G
Gui, Add, Button, x40 y65 w20 h20 , S
Gui, show, w100 h90
Gui, hide
return

ButtonC:
Run, C:\program files\ccleaner\ccleaner.exe
gui, hide
return

ButtonE:
Run, explorer.exe c:\program files
gui, hide
return

ButtonF:
Run, c:\program files\mozilla firefox\firefox.exe
gui, hide
return

ButtonG:
Run, c:\windows\system32\spider.exe
gui, hide
return

ButtonI:
Run, c:\program files\internet explorer\iexplore.exe
gui, hide
return

ButtonL:
gui, hide
MsgBox, 4, , Do you want to Logoff?
IfMsgBox No
return
else
shutdown, 0
return

ButtonS:
gui, hide
MsgBox, 4, , Do you want to Shutdown?
IfMsgBox No
return
else
shutdown, 1
return

ButtonT:
Run, c:\windows\system32\taskmgr.exe
gui, hide
return

mbutton::
MouseGetPos, x, y
mgx:=x-50
mgy:=y-40
Gui Show, x%mgx% y%mgy%
Sleep 3000
gui, hide
return

mbutton & rbutton::


Send, !+{ESC}
WinRestore, A
return

Last edited by netfun81 on Mon Nov 16, 2009 6:43 am; edited 2 times in total

Back to top

TomXIII Posted: Thu Nov 12, 2009 6:41 pm Post subject:

@ L earning one: T hx! ! ! I really like the c onc ept!


Joined: 14 Apr 2009
Posts: 99
H ere is my vers ion of Radial M enu

M ain c hanges :
- A bility to c reate multiple items during the s c ript running
- O ther method to verify the time s inc e the hotkey triggering (more ac c urate for me)
- O ther method to run s elec ted item (tooltips added)
- Settings G U I

U pdate (2 0 h4 5 G M T ): I added a c entered item c alled C los e G U I to c anc el launc hing


ins tead of pres s ing L Button

Code:

/*
===Description=========================================================================
Original script : RADIAL MENU v2 by Learning one
Find it at AHK forum location: http://www.autohotkey.com/forum
/viewtopic.php?p=308352#308352

Remixed by TomXIII (not finished!!!!!!)


*/

;#### Start: Settings and GUI creation


CoordMode, Mouse, Screen

BitmapExist()

If FileExist(A_ScriptDir "\Settings.ini") ;<Read/verify settings values and create them


if none>
{
IniRead, wheelRadius, %A_ScriptDir%\Settings.ini, Settings, wheelRadius, NULL
If wheelRadius is not digit
wheelRadius := 50
IniRead, itemsNbr, %A_ScriptDir%\Settings.ini, Settings, itemsNbr, NULL
If itemsNbr is not digit
itemsNbr := 5
IniRead, buildDelay, %A_ScriptDir%\Settings.ini, Settings, buildDelay, NULL
If buildDelay is not digit
buildDelay := 200
If wheelRadius not between 50 and 200
wheelRadius := 100
If itemsNbr not between 1 and 24
itemsNbr := 12
If buildDelay not between 150 and 1000
buildDelay := 200
}
Else
{
wheelRadius := 100
itemsNbr := 12
buildDelay := 200
}
picSize := 48
picRadius := picSize/2

Gosub, CreateItems ;<Create items before for a quick display>

;<Close GUI>
Gui, 98:Add, Picture, x0 y0 w%picSize% h%picSize%, %A_ScriptDir%\bitmap.png
Gui, 98:+AlwaysOnTop +ToolWindow -Caption +LastFound
Gui, 98:Color, White

;<Settings GUI creation>


Gui, 99:Add, Text,, Wheel's Radius :
Gui, 99:Add, Edit, xp+120 yp-3 w35 vRadiusEdit Number, %wheelRadius%
Gui, 99:Add, Slider, xp+35 h20 Range50-200 ToolTip vWRSlider gGetWheelRadius,
%wheelRadius%
Gui, 99:Add, Text, xm, Number of items :
Gui, 99:Add, Edit, xp+120 yp-3 w35 vItemsEdit Number, %itemsNbr%
Gui, 99:Add, Slider, xp+35 h20 Range1-24 ToolTip vINSlider gGetItemsNbr, %itemsNbr%
Gui, 99:Add, Text, xm, Building delay (msec) :
Gui, 99:Add, Edit, xp+120 yp-3 w35 vDelayEdit Number, %buildDelay%
Gui, 99:Add, Slider, xp+35 h20 Range150-1000 ToolTip vBDSlider gGetBuildDelay,
%buildDelay%
Gui, 99:Add, Button, vBt gGetSettings default, Default
Gui, 99:+AlwaysOnTop +ToolWindow +LastFound

;<Tray context menu creation>


Menu, Tray, Add, Settings, ShowSettingsGUI
Menu, tray, Add,
Menu, tray, Add, Exit, Exit
Menu, tray, NoStandard
Menu, tray, Click, 1
Menu, tray, Default, Settings
Return

CreateItems: ;<Lets create items during the script running>


BitmapExist()
Loop, %itemsNbr%
{
itemNumber := itemsNbr<10 ? "0" . A_Index : A_Index
Gui, %itemNumber%:Add, Picture, x0 y0 w%picSize% h%picSize%,
%A_ScriptDir%\bitmap.png
Gui, %itemNumber%: +AlwaysOnTop +ToolWindow -Caption +LastFound
Gui, %itemNumber%:Color, White
}
Return

BitmapExist()
{
IfNotExist, %A_ScriptDir%\bitmap.png
{
TrayTip, Downloading bitmap:, Please wait!
URLDownloadToFile, http://www.autohotkey.net/~TomXIII/bitmap.png,
%A_ScriptDir%\bitmap.png
Loop
{
Sleep, 10
IfExist, %A_ScriptDir%\bitmap.png
Break
}
TrayTip
}
}
;########## End: Settings and GUI creation ##########
;########## Hotkey(s) ##########
!g::
GuiControlGet, var,, Pic2
MsgBox, %var%
Return

RButton::
Loop
{
If not GetKeyState("RButton", "P") OR (A_TimeSinceThisHotkey > buildDelay)
Break
}
If (A_TimeSinceThisHotkey < buildDelay)
SendInput, {RButton}
Else
{
MouseGetPos, mouseX, mouseY
deg := 0
Loop, %itemsNbr%
{
SetTimer, RadialMenuClose, 35
deg := deg ? deg+(360/itemsNbr): (360/itemsNbr)+90
pi :=4*Atan(1)
rad := deg*(pi/180)
xOffset := wheelRadius*(-1*Cos(rad))-picRadius
yOffset := wheelRadius*(-1*Sin(rad))-picRadius
itemX := mouseX + xOffset
itemY := mouseY + yOffset
itemNumber := itemsNbr<10 ? "0" . A_Index : A_Index
Gui, %itemNumber%: Show, x%itemX% y%itemY% h%picSize% w%picSize%, Item%A_Index%
WinSet, Transcolor, White 255, Item%A_Index%
}
SetTimer, GetSelectedItem, 15
}
Return
;########## End: Hotkey(s) ##########

;########## Start: Main labels ##########


RadialMenuClose:
If not (GetKeyState("RButton","P"))
{
SetTimer, GetSelectedItem, off
SetTimer, RadialMenuClose, off
Loop, %itemsNbr%
{
itemNumber := itemsNbr<10 ? "0" . A_Index : A_Index
Gui %itemNumber%:Hide
}
Gui 98:Hide
}
Return

GetSelectedItem:
Loop
{
If not GetKeyState("RButton", "P")
Break
MouseGetPos,,, WinID
WinGetTitle, item, ahk_id %WinID%
If InStr(item, "Item")
{
IniRead, itemToLaunch, %A_ScriptDir%\Settings.ini, Items, %item%, NULL
itemToLaunch := (item=="Item98") ? "Cancel" : itemToLaunch
ToolTip, %itemToLaunch%
lastItem := item
closeGuiX := mouseX-picRadius
closeGuiY := mouseY-picRadius
Gui, 98: Show, x%closeGuiX% y%closeGuiY% h%picSize% w%picSize%, Item98 ;Display
the close item to cancel launching
WinSet, Transcolor, White 255, Item98
}
Else
{
ToolTip
item := ""
}
}
ToolTip
item := lastItem
If (lastItem and itemToLaunch<>"NULL")
{
If (item="Item98") ;Place mouse over the centered item to cancel launching
{
lastItem := ""
Gui 98:Hide
Exit
}
Run, %itemToLaunch%,, UseErrorLevel
If ErrorLevel
MsgBox, Launching problem for :`n%itemToLaunch%
}
lastItem := ""
Return
;######## End: Main labels ##########

;######## Start: Settings labels ########


ShowSettingsGUI:
lastWheelRadius := wheelRadius ;Stores settings to get them back if they aren't in good
ranges
lastItemsNbr := itemsNbr
lastBuildDelay := buildDelay
Gui, 99:Show, h75
Return

GetWheelRadius:
GuiControlGet, wheelRadius,, WRSlider
GuiControl,, RadiusEdit, %wheelRadius%
Gosub, CreateItems
Return

GetItemsNbr:
GuiControlGet, itemsNbr,, INSlider
GuiControl,, ItemsEdit, %itemsNbr%
Gosub, CreateItems
Return

GetBuildDelay:
GuiControlGet, buildDelay,, BDSlider
GuiControl,, DelayEdit, %buildDelay%
Return

GetSettings: ;<Set sliders positions if "Edits" are set manually and verify values>
GuiControlGet, wheelRadius,, RadiusEdit
GuiControlGet, itemsNbr,, ItemsEdit
GuiControlGet, buildDelay,, DelayEdit
If wheelRadius not between 50 and 200
wheelRadius := lastWheelRadius
If itemsNbr not between 1 and 24
itemsNbr := lastItemsNbr
If buildDelay not between 150 and 1000
buildDelay := lastBuildDelay
GuiControl,, WRSlider, %wheelRadius%
GuiControl,, INSlider, %itemsNbr%
GuiControl,, BDSlider, %buildDelay%
GuiControl,, RadiusEdit, %wheelRadius%
GuiControl,, ItemsEdit, %itemsNbr%
GuiControl,, DelayEdit, %buildDelay%
Return

SaveSettings:
IniWrite, %wheelRadius%,% A_ScriptDir "\Settings.ini", Settings, wheelRadius
IniWrite, %itemsNbr%,% A_ScriptDir "\Settings.ini", Settings, itemsNbr
IniWrite, %buildDelay%,% A_ScriptDir "\Settings.ini", Settings, buildDelay
Return
99GuiClose:
Gosub, GetSettings
Sleep, 500
Gui, 99:Submit
Return
;######## End: Settings labels ########

Exit:
Gosub, SaveSettings
ExitApp
Return

T he s c ript is not c omplete but I think/hope it will help s omeone!

Back to top

Learning one Posted: Fri Nov 13, 2009 1:11 am Post subject:

Firs t pos t updated.


Joined: 04 Apr 2009
Posts: 293
Location: Croatia @doyle
Quote:

Would it be worth creating a fade function?

Y es .

@net f un81
N ic e mini radial

@TomXIII
I 'm impres s ed with your work!
G ui plac ement depending on wheel radius and number of items is a must have for all
further vers ions !
I totaly forgot thos e math func tions A tan() C os () Sin()

I was not us ing round buttons bec aus e you c an generally put les s text in them. H owever, i
als o c reated one vers ion with round buttons . See link below.
Quote:

Thx!!! I really like the concept!

T hank you!

Declaration
U nfortunately, I mus t s ay that that I won't be able to develop Radial menu s c ripts for a
longer time (few weeks )
N ow, it's up to you (A H K c ommunity) to c ontinue development. D on't s top!
Remember, the ultimate goal is to make nic e and func tional radial menu in f unction f orm.
C hec k out TomXIII work (one pos t above); G ui plac ement depending on wheel radius and
number of items . I t is a must have for all further vers ions ! A ls o c hec k his .ini s olution,
etc ...

I will s hare my last 2 experiments (emphas is was on aes thetic s ). T hey are c oded quic kly;
bugs pos s ible, s ome c omments don't matc h...
http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu
/Radial% 2 0 menu% 2 0 v2 .1 beta% 2 0 5 0 x5 0 .ahk
http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu
/Radial% 2 0 menu% 2 0 v2 .2 % 2 0 beta% 2 0 5 0 x5 0 % 2 0 round.ahk

Cont inue developing radial menu scripts and share your work!

Back to top

TomXIII Posted: Fri Nov 13, 2009 2:16 am Post subject:

@ Learning one : T hx for your las t c omment. D o you mind if I c reate a new pos t for the
Joined: 14 Apr 2009 s c ript remix (with a new s c ript name)? !
Posts: 99

Quote:

I won't be able to develop Radial menu scripts for a longer time (few weeks)

Will you definitely s top s c ripting or jus t a paus e? !

U pdate (0 0 h5 3 G M T ):
- N ow you c an us e defined labels for items to launc h
E x: G oogle for http://www.google.fr ins tead of I tem1 for http://www.google.fr (I tem#
was n't really explic it)
- M aximum items number is automatic ally s et to maximum lines in I ni file but minimum
c an be modified
- N ew bitmap for items

I als o added my I niFunc tions for ini files on my page, s o pleas e take a look at
A utoH otkey.net/~T omXI I I

@ A HK Communit y: Keep s c ripting!

P leas e, vis it my blog: T omXI I I .wordpres s

Back to top

doyle Posted: Fri Nov 13, 2009 9:27 am Post subject:

I 'd be happy to c ontinue developing the s c ript in the meantime L O , if you are ok with it.
Joined: 14 Nov 2007
Posts: 308
Location: London, England I have a few ideas i'd like to try whic h I think would c arry the s c ript forward.

Back to top

doyle Posted: Fri Nov 13, 2009 9:33 am Post subject:

@TOMXIII
Joined: 14 Nov 2007
Posts: 308
Location: London, England I really like your vers ion T om.

A lthough I do like L earning O nes bounc e effec t. T hat really makes the app feel good.

G ood work!

Back to top
yourmumisone Posted: Fri Nov 13, 2009 12:56 pm Post subject:
Guest

s erious ly, this s c ript is amazing. s uc h good programming. i have looked at others and c an
bearly unders tand them. this has good naming, good s pac ing and i c ant find any faults
with it. i didnt know s uc h a bas ic program c ould be extended s o far. i do hope you c reate
alot more s c ripts for this program

Back to top

Learning one Posted: Fri Nov 13, 2009 2:32 pm Post subject:

@TomXIII
Joined: 04 Apr 2009 Quote:
Posts: 293
Location: Croatia Will you definitely stop scripting or just a pause?!

J us t paus e. O nc e when you are in, you c an't s top.

@doyle
I 'm glad to hear that! C ontinue developing the s c ript!
I als o like bounc e effec t - it makes the app feel good.

@yourmumisone
T hank you for kind words . (H ere I s peak in my and others name)

@ALL
I encourage everybody to continue developing the script(s).
I suggest you to post all your works in this topic (not to create special topic
for your own Radial menu version)
In that way, we will:
- gain productivity and cooperation - everything connected with radial menu is
here, in one place. You don't need to monitor multiple Radial menu topics...
- keep this topic near top of Scripts & Functions topic list, so more people will
see it, and hopefully, more people will get involved in developing Radial menu

T here is a s tatement in the 1 . pos t of this topic :


Y ou c an als o find s ome nic e modific ations and experiments from other A H K members
here.
J us t s c roll this topic down...

Back to top

netfun81 Posted: Mon Nov 16, 2009 5:47 am Post subject:

I added s ome graphic s to my "mini Radial" to make it look nic er. I ts s till as s imple as
Joined: 28 Oct 2006 ever.
Posts: 58

Sc reens hot:

Y ou will need this graphic : http://www.autohotkey.net/~netfun8 1 /greenorb.png C opy it to


the s ame folder as the s c ript
Code:

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

CoordMode, Mouse, Screen


Gui +ToolWindow +AlwaysOnTop -Caption
Gui, Color, EEAA99
Gui +LastFound
WinSet, TransColor, EEAA99
pic:="greenorb.png"
color:="cGreen"
gui, font, s12, Arial bold

Gui Add, Picture, gFirefox x80 y3 BackgroundTrans, %pic%


Gui, Add, Text, %color% x92 y10 BackgroundTrans, F
Gui Add, Picture, gSpider x45 y20 BackgroundTrans, %pic%
Gui, Add, Text, %color% x55 y27 BackgroundTrans, G
Gui Add, Picture, gExplorer x115 y20 BackgroundTrans, %pic%
Gui, Add, Text, %color% x125 y27 BackgroundTrans, E
Gui Add, Picture, gShtdown x28 y55 BackgroundTrans, %pic%
Gui, Add, Text, %color% x37 y62 BackgroundTrans, S
Gui Add, Picture, gIE x132 y55 BackgroundTrans, %pic%
Gui, Add, Text, %color% x146 y62 BackgroundTrans, I
Gui Add, Picture, gLogoff x45 y90 BackgroundTrans, %pic%
Gui, Add, Text, %color% x57 y97 BackgroundTrans, L
Gui Add, Picture, gCcleaner x115 y90 BackgroundTrans, %pic%
Gui, Add, Text, %color% x125 y97 BackgroundTrans, C
Gui Add, Picture, gTaskmgr x80 y107 BackgroundTrans, %pic%
Gui, Add, Text, %color% x90 y115 BackgroundTrans, T
Gui, show, w170 h150
Gui, hide
return

Ccleaner:
Run, C:\program files\ccleaner\ccleaner.exe
gui, hide
return

Explorer:
Run, explorer.exe c:\program files
gui, hide
return

Firefox:
Run, c:\program files\mozilla firefox\firefox.exe
gui, hide
return

Spider:
Run, c:\program files\microsoft games\spidersolitaire\spidersolitaire.exe
gui, hide
return

IE:
Run, c:\program files\internet explorer\iexplore.exe
gui, hide
return

Logoff:
gui, hide
MsgBox, 4, , Do you want to Logoff?
IfMsgBox No
return
else
shutdown, 0
return

Shtdown:
gui, hide
MsgBox, 4, , Do you want to Shutdown?
IfMsgBox No
return
else
shutdown, 1
return

Taskmgr:
Run, c:\windows\system32\taskmgr.exe
gui, hide
return

mbutton::
MouseGetPos, x, y
mgx:=x-95
mgy:=y-70
Gui Show, x%mgx% y%mgy%
Sleep 3000
gui, hide
return

mbutton & rbutton::


Send, !+{ESC}
WinRestore, A
return

Back to top

notalone Posted: Tue Nov 17, 2009 3:08 am Post subject:


Guest

@ netfun - nic e new look to your mini radial. I like it, s imple and works ! I might try my
hand at adding to the radial s c ripts .

Back to top

Learning one Posted: Thu Nov 19, 2009 11:15 am Post subject:

I managed to c atc h s ome free time...


Joined: 04 Apr 2009 T wo things are s ure; Radial menu v3 will us e:
Posts: 293
Location: Croatia - G D I + (thanks tic and L exikos )
- "Releas e to s elec t" - - > 1 . c lic k defined mous e button to s how menu, 2 . drag mous e on
menu item 3 . releas e mous e button to s elec t item

I c aptured various Radial menu v3 s kins over various bac kgrounds


and put them together in .png file. H ere are the res ults :

Radial menu v3 preview


Radial menu v3 preview2
What do you think?

Last edited by Learning one on Thu Nov 19, 2009 4:49 pm; edited 1 time in total

Back to top

horntail Posted: Thu Nov 19, 2009 12:09 pm Post subject:

L ooking good, c ant wait for vers ion 3


Joined: 03 Aug 2009
Posts: 62
Location: UK
Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & All times are GMT
Functions Goto page Previous 1, 2, 3, ... 16, 17, 18 Next
Page 2 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3, 4 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View

Author Message

doyle Posted: Thu Nov 19, 2009 1:27 pm Post subject:

L ooking very good indeed.


Joined: 14 Nov 2007
Posts: 308
Location: London, England

Back to top

Moebius Posted: Thu Nov 19, 2009 4:06 pm Post subject:

looks very promis ing - i hope that its als o fas t and eas y to s etup
Joined: 09 Mar 2009 _________________
Posts: 17
http://mons c hein.org

Back to top

Learning one Posted: Thu Nov 19, 2009 4:53 pm Post subject:

T hanks .
Joined: 04 Apr 2009
Posts: 293
Location: Croatia I forgot to upload my favorite s kin...
H ere it is ; Radial menu v3 preview2

T hat's how it looks . I jus t c aptured my s c reen. N o additional photo editing.

Back to top
horntail Posted: Thu Nov 19, 2009 5:30 pm Post subject:

the button s hadows are a nic e touc h


Joined: 03 Aug 2009
Posts: 62
Location: UK

Back to top

netfun81 Posted: Thu Nov 19, 2009 10:22 pm Post subject:

H ere is an older radial menu s c ript.. L ook is n't great but c onfiguration was good... might be s ome ide
Joined: 28 Oct 2006 from it.
Posts: 58

http://www.autohotkey.c om/forum/topic 7 2 4 2 .html

Back to top

Learning one Posted: Fri Nov 20, 2009 5:31 pm Post subject:

ReflexNPG wrote:
Joined: 04 Apr 2009
i hope that its also fast and easy to setup
Posts: 293
Location: Croatia

It 's rocket f ast , (maybe even s lightly fas ter than RM v2 ! )


I t's very eas y to s etup if you us e s ome predefined s tyle s ettings and jus t c hange I tem name and I te
I f you want to c ompletely c hange s tyle than it is more c omplic ated...
(I tems are always auto pos itioned)

I n fac t, in more t han 90% cases, you only have to change Item name and Item action...
H ere is .ini file that RM v3 c urrently us es :
Code:

----------------------------------------------------------------------------------------------
ITEMS
----------------------------------------------------------------------------------------------
[Item1]
Name=
Action= C:\WINDOWS\explorer.exe
YPosition= 22
Icon= Windows explorer.png
IconShrink = 20

[Item2]
Name= Notepad
Action= C:\WINDOWS\notepad.exe
YPosition= 28
Icon= Notepad.png
IconShrink = 20

[Item3]
Name=
Action= C:\WINDOWS\system32\calc.exe
YPosition= 28
Icon= Calculator.png
IconShrink = 20

[Item4]
Name=
Action= C:\WINDOWS\system32\mspaint.exe
YPosition= 28
Icon= Paint.png
IconShrink = 20

[Item5]
Name= Avidemux
Action= http://fixounet.free.fr/avidemux/
YPosition= 28
Icon= Avidemux.png
IconShrink = 16

[Item6]
Name=
Action= C:\Program Files\Windows Media Player\wmplayer.exe
YPosition= 16
Icon= Windows Media Player.png
IconShrink = 20

[Item7]
Name=
Action= C:\Program Files\Movie Maker\moviemk.exe
YPosition= 16
Icon= Windows Movie Maker.png
IconShrink = 20

[Item8]
Name=
Action=
YPosition= 28
Icon=
IconShrink = 20

[Item9]
Name=
Action=
YPosition= 28
Icon=
IconShrink = 20

----------------------------------------------------------------------------------------------
GENERAL
----------------------------------------------------------------------------------------------
[General]

RMShowHotkey = RButton
ShowDelay = 220

MenuBackground = RMbackground.png
ButtonBackground = BlankBall3.png

SoundOnSelect = 1
SelectEffect = shake
DestroyEffect = 0

Font = Arial
TextSize = 12
TextColor = FFFFFF
TextAntialias = 1
TextTrans = DE

Shadow = 1
ShadowColor = 111119

ButtonSize = 75
WheelRadiusFactor = 11
MinWheelRadius = 59

A nd one more s c reens hot


Radial menu v3 preview3
Back to top

HotKeyIt Posted: Fri Nov 20, 2009 5:39 pm Post subject:

Joined: 18 Jun 2008


Posts: 2570 L ooks very nic e indeed, I hope the amount of I tems c an be c hanged as well [1 - 9 9 ]?
Location: GERMANY

EDIT :
T here are als o s ome func tions (like the ones in T oolT ip() ) that c an find as s oc iated ic on automatic al
great as well
_________________
AutoHotFile+ToolTip+AutoHotkey_H18.dll

Back to top

TomXIII Posted: Sun Nov 22, 2009 10:57 pm Post subject:

Whooooaaaahhhh! ! ! ! !
Joined: 14 Apr 2009 T he firs t time I read this pos t I was really impres s ed, but the graphic s quality s topped me! I really w
Posts: 99
know how you us e G D I +
P leas e give us v3 before this night! ! !
Quote:

Looks very nice indeed, I hope the amount of Items can be changed as well [1-99]?

@ H otkeyI t: L ook at my vers ion. I c oded the s olution. T he main problem is that is more diffic ult to re
items pos ition when you c hange this number.
(s orry for my poor englis h! )

Edit (22/11/09 21h15 GMT): Finally, after this afternoon I s uc c eed! H ere is my s c reens hot

T hanks for the G D I + advic e and als o for gdip.ahk! ! !

Ti ps: I f you want to have the icon of a webs ite (favicon, to the left of the url!), type the root url of the we
add "favicon.ico" and then s ave the icon.
Ex: for google: http://www.google.com/favicon.ico

Back to top

Learning one Posted: Mon Nov 23, 2009 11:45 am Post subject:

H ello, all
Joined: 04 Apr 2009
Posts: 293
Location: Croatia I s ee that people like my Radial menu s c ripts , es pec ially v3 previews .

Radial menu v3 :
- looks great
- has good c onc ept
- is fas t
- is us eful/func tional piec e of c ode
- has great potential to bec ome even better
- has potential to be releas ed as donationware or even as c ommerc ial s oftware one day

I have one big problem; I have a plenty of ideas and enthus ias m,
but I don't have enough time to fully develop Radial menu v3 . I haven't done nothing new
for days , I s imply don't have time...

So I dec ided to give you Radial menu v3 c ode (not totally finis hed) and all other s tuff under one c ond
N o matter how muc h Radial menu v3 and all further vers ions bas ed on it evolve, my s hare in
authors hip will always be minimum 5 1 % . I think this is the minimum I des erve.
D ownload Radial menu v3 pac kage here.

T hat's it. I 'll be bac k in the projec t as s oon as I c an.


C ontinue development, res pec t my authors hip, and good luc k!

L earning one

Back to top

TomXIII Posted: Tue Nov 24, 2009 4:48 pm Post subject:

@Learning one:
Joined: 14 Apr 2009 Quote:
Posts: 99
Thanks: Tic, TomXIII, Lexikos, and others

T hank you too!


Quote:

; Auto WheelRadius in development! @TomXIII: I'm sure that you can improve this.

Y es I c an! I 'll work on it next week- end!

Sorry but I have a problem with this vers ion. I f I edit the 9 th item, it does n't appear! I keep tes ting

A s you give us the c ode, I c an now give you mine! (not c lean but quite good! )
http://www.autohotkey.net/~T omXI I I /RM % 2 0 L aunc her.ahk
http://www.autohotkey.net/~T omXI I I /I niFunc tions .ahk
http://www.autohotkey.net/~T omXI I I /G dip.ahk T hank you T ic !
http://www.autohotkey.net/~T omXI I I /bac kground.png
http://www.autohotkey.net/~T omXI I I /foreground.png
http://www.autohotkey.net/~T omXI I I /c anc el.png

Be c areful, I us ed a different folder tree!


%A_ScriptDir%\AppData\ for Settings .ini
%A_ScriptDir%\AppData\icons \ for ic ons

@A ll:I pos t my c ode to give you s ome of mine s olutions . T hat is the vers ion I us e but keep us ing the
one vers ion! ! ! H e is the original c reator! ! !

back @Learning one: N ow you have 9 0 % ! L ol

Edit (23/11/09 22h16 GMT):


@Learning one: I have the formula for auto WheelRadius !
Code:

wheelRadius := ButtonSize/(2*Sin(pi/TotalButtons))

P ut the formula before xO ffs et and yO ffs et


L ike this :
Code:

;===Create buttons===
Loop, %TotalButtons%
{
;===Calculate positions===
deg := deg ? deg+(360/TotalButtons): (360/TotalButtons)+90
rad := deg*(pi/180)

wheelRadius := ButtonSize/(2*Sin(pi/TotalButtons))

xOffset := WheelRadius*(-1*Cos(rad))-picRadius
yOffset := WheelRadius*(-1*Sin(rad))-picRadius
itemX := mx1 + xOffset
itemY := my1 + yOffset

I t works very fine with my vers ion!


WheelRadius c us tom s etting is no more us eful now, s o I have to re- arrange the c ode.

Back to top

TomXIII Posted: Wed Nov 25, 2009 7:03 pm Post subject:

H i A H Kers !
Joined: 14 Apr 2009 I inc luded A uto WheelRadius option and tried to c lean up the c ode.
Posts: 99
P leas e take a moment to verify the traduc tion, I 'm Frenc h and my E nglis h is n't good enough!
A s my vers ion is quite different from Radial M enu v3 , I dec ided to rename my vers ion to RM L aunc he

RM _L aunc her v0 .1 .zip

Back to top

Maxmax14 Posted: Wed Nov 25, 2009 8:59 pm Post subject: RADIAL MENU scripts -> Transform Action

@ L earning one:
Joined: 30 Mar 2008
Posts: 21
Location: France 14 H ello,

I jus t have a look to Radial menu v3 : V ery nic e !

O ne s ugges tion : Y ou s hould add a "trans form,D eref,..." when you read .inifile Key "A c tion"
A c tion= % A _Windir% \explorer.exe s hould be rec ognize
(for me % A _Windir% is E :\windows no C :\windows )

M axM ax1 4

Back to top

Guest Posted: Thu Nov 26, 2009 2:32 am Post subject:

i've tried the 0 .1 vers ion and it is tooooo s low.


E ven with build delay 0 it takes ages until its up.
T here s hould be an option to s how it ins tantly.

N obody looks at the items , if it is us ed daily - jus t a s mall ges ture and thats it...the graphic s are onl
time us ers ...

Back to top

TomXIII Posted: Thu Nov 26, 2009 9:43 am Post subject:

@ G ues t: T hank you for your c omment!


Joined: 14 Apr 2009 I n the las t vers ion I added a "s leep, 1 " before eac h items dis play to have a s pec ial effec t but you're
Posts: 99
mos t important is quic k launc h and minimal ges ture! H ow about the c ode, explic it or not explic it eno

R M_La uncher v 0.1:


A t the end of RButton's hotkey part, c omment/remove the "s leep,1 " line
Code:

itemNumber := itemsNbr<10 ? "0" . A_Index : A_Index


Gui, %itemNumber%: Show, x%itemX% y%itemY% h%picSize% w%picSize%, Item%A_Index%
Sleep, 1 <== Comment/remove this line for a quick display!
}
SetTimer, GetSelectedItem, 15
}
Return

Back to top

Learning one Posted: Thu Nov 26, 2009 10:29 am Post subject:

@TomXIII
Joined: 04 Apr 2009 TomXIII wrote:
Posts: 293
Location: Croatia @Learning one: I have the formula for auto WheelRadius!

Wow! Well done! T H A N K Y O U !


TomXIII wrote:

Sorry but I have a problem with this version. If I edit the 9th item, it doesn't appear! I keep testing it!

When s c ript finds jus t one I tem without name or ic on, it c onc ludes that us er does n't want any more i
ignores all others .
For example; if items 1 ,2 ,3 have names , item 4 does n't, and items 5 ,6 ,7 ,8 ,9 again have names , s c ri
c onc ludes that us er wanted jus t 1 ,2 ,3 items to be s hown in menu.
Code:

;===Count items===
Loop, 10 ; (Loop, 99 in RM v3.1)
{
if I%A_Index%Name = ; Blank name
{
if I%A_Index%Icon = ; Blank Icon
{
TotalButtons := A_Index - 1 ; Auto set TotalButtons
Break
}
}
}

I tried your RM_Launcher v0.1.


G ood job! I like it!

@Maxmax14
Maxmax14 wrote:

I just have a look to Radial menu v3 : Very nice !


You should add a "transform,Deref,..." when you read .inifile Key "Action"

T hanks for c ompliments and s ugges tion.

@ALL
I managed to c atc h c ome free time again...
I c oded Radial menu v3 .1

Radial menu v3.1 improvements


- support s up t o 98 it ems
- support s mult iple it em rings (auto ring positioning, of course)
- uses A ut oWheelRadius developed by TomXIII (Thank you! )
- aut o Toolt ips
- cust om Toolt ips
- enable/disable MouseA cceleration when menu is shown
- enable/disable bet ter and more sounds (short .wav f iles)(SoundOnShow SoundOnHover SoundOnS
SoundOnHide)

I have submenus c onc ept in my head. I s till don't need them s o that improvement has low priority...
I als o have Radial menu creator c onc ept in my head. I s till don't need it s o that improvement has low
too, but it's "a mus t have" if
I will releas e Radial menu as c ommerc ial s oftware one day.
T o do: f ind associat ed icon automatically - s ugges tion by H otKeyI t (Q uote: "T here are als o s ome fu
(like the ones in T oolT ip() ) that c an find as s oc iated ic on automatic ally, would be great as well")

I also coded RMmg.


I t is Radial menu v3 c o- produc t. T otally different c onc ept. I t us es mous e ges tures to identify s elec t
("mg" means mous e ges tures ).
I 'll tell you more about it when I will have more time...

Some t est result s...

Last edited by Learning one on Thu Nov 26, 2009 11:42 pm; edited 1 time in total

Back to top

Display posts from previous: All Posts Oldest First Go

All
AutoHotkey Community Forum Index -> Scripts & Functions
Goto page Previous 1, 2, 3, 4 ... 16
Page 3 of 18
Watch this topic for replies Jump to: Scripts & Func

Powered by phpBB © 2001, 2005 phpBB Group


AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3, 4, 5 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next to

Author Message

Guest Posted: Thu Nov 26, 2009 12:04 pm Post subject:

@ T O M XI I I :

i've tried it without s leep and its ok. I would expec t that all s ettings
in a s c ript are in the front (maybe c ommented? ). I f i have to s earc h
through the c ode, its not very c omfortable.

O ne bug: if i "touc h" an item and i go bac k then in the c enter, it is s till ac tivated.

Back to top

TomXIII Posted: Thu Nov 26, 2009 4:08 pm Post subject:

N ew topic for my vers ion : L aunc hI t!


Joined: 14 Apr 2009
Posts: 99
@ G ues t(s ): T here is no bug for me.
C an you details pleas e!

Back to top

netfun81 Posted: Thu Nov 26, 2009 7:28 pm Post subject:

@ L earning one
Joined: 28 Oct 2006
Posts: 58
Wow, when c an i get a hold of RM mg...L ooks beautiful. Keep up the nic e work!

Back to top

kli6891 Posted: Fri Nov 27, 2009 4:00 am Post subject:

C an you make v3 s uc h that, like v2 , the program is ac tivated immediately onc e the right mous e
Joined: 01 Aug 2009 touc hes it?
Posts: 43

I ns tead of waiting for the mous e to go up.

Back to top

Learning one Posted: Fri Nov 27, 2009 1:55 pm Post subject:
Joined: 04 Apr 2009 Learning one proudly presetns you:
Posts: 293
Location: Croatia
Radial menu v3.1

Turn you speakers ON and


download Radial menu v3 .1

A s I 'm in a terrible hurry, c ode is not totally c leaned up, I have to write s ome func tions , write a help
etc ...
Sc ript works perfec tly on my c omputer (jus t I ntel C eleron 1 .4 7 G H z and 8 9 6 M B RA M ).
I f this is not the c as e on your mac hine s ee "improving performanc e" in s c ript.
I 'll try not to develop RM for a while, until I finis h s ome more s erious jobs ...
P leas e, res pec t lic enc e and authors hip!

D o you like it?


P os t a c omment.

Back to top

doyle Posted: Fri Nov 27, 2009 2:28 pm Post subject:

I like it.
Joined: 14 Nov 2007
Posts: 308
Location: London, England A lthough its far too hard to c us tomis e.

I would make s ome G U I s to adjus t the Settings .

Back to top

netfun81 Posted: Fri Nov 27, 2009 7:56 pm Post subject:

v3 .1 is nic e. I like the green orbs in the s c reens hot c an you inc lude them? Y eah a gui for s etting up
Joined: 28 Oct 2006 items would be nic e, and even nic er would be if the ic on c ould c ome from the program. I t's getting th
Posts: 58

Back to top

Learning one Posted: Fri Nov 27, 2009 8:10 pm Post subject:

@net f un81
Joined: 04 Apr 2009 Y ou c an watc h 1 :1 RM mg v1 .0 preview for now...
Posts: 293
Location: Croatia
@kli6891
kli6891 wrote:

Can you make v3 such that, like v2, the program is activated immediately once the right mouse touches it?

Y es , but I 'm not motivated to do this . RM v3 .1 us es multiple rings s o I had to abandon this c onc ept.
M aybe I will fulfill your wis h onc e...

@doyle
T hanks .
Regarding "s ettings G U I " - I totally agree.
I have Radial menu c reator c onc ept in my head - - > it will allow you to quic k&eas y c us tomize your
Radial menu.

Quick Radial menu creator concept explanation:


I t will be s pec ial (s tand alone, not part of main) s c ript that will vertic ally divide your s c reen in 2 area
I n left one, RM will be s hown, and in right one, you will s ee "s ettings G U I "
A s you c hange values in G ui, RM in the left area will refres h its elf automatic ally. When us er finis hes
c us tomization, and c lic ks A pply button, Radial menu c reator writes new values in RM s ettings .ini
So there will be 2 s teps :
1 . run Radial menu c reator (s tand alone s c ript) and c us tomize your Radial menu. A fter that, jus t
2 . run your c us tomized Radial menu

P roblem is : I 'm low on free time...

I f you want to make it in the meantime, I would be very happy. (A nd of c ours e, you will be in all "T ha
you" s ec tions in next Radial menu pac kage.)

Back to top

Learning one Posted: Sat Nov 28, 2009 9:47 pm Post subject:

Download lat est Radial menu v3 script: Radial menu v3.11 (28.11.2009.)
Joined: 04 Apr 2009 - minor c hanges ; improved performanc e (s peed) and reliability.
Posts: 293
Location: Croatia

Back to top

Jurras Posted: Sun Nov 29, 2009 11:49 am Post subject:


Guest

G reat s c ript!

I 'm having trouble c hanging the hotkey to s omething like L Button & RButton, without the pop- up dela
T he reas on I want this as my hotkey is that my ordinary right c lic k is delayed too muc h.

A ny ideas ?

Back to top

Learning one Posted: Mon Nov 30, 2009 10:51 am Post subject:

@Jurras
Joined: 04 Apr 2009 Jurras wrote:
Posts: 293
Location: Croatia Great script!

T hanks .
L Button & RButton and other hotkey combinations are not support ed,
s o, you c an us e only "s ingle key" hotkey. Y ou c an c hange that by
editing c ode, but that is more c omplic ated.

ShowDelay (in RM s ettings .ini) is 2 2 0 milis ec onds by default.


I f your ordinary right c lic k is delayed too muc h, dec res e this value.
T his delay gives you opportunity to s end normal mous e c lic k without annoying menu s howing. T o s h
it ins tantly, s et 0 , but than you
will los e normal RB utton c lic k func tion.

@A ll
Radial menu v3.12 improvements:
- inc reas ed performanc e (again) by preparing whole menu in auto- exec ute s ec tion.
A dded new s ettings s witc hes :
- T urnO ffSounds - turns off all s ounds (ignores SoundO nShow SoundO nH over SoundO nSelec t
SoundO nH ide)
- M enuBac kgroundT rans - c hanges RM bac kground trans parenc y
- Spec ialButtonBac k - now every button (item) c an have it's own bac kground. U s eful to dis tinguis h
s ec tions in your menu. I f blank, ButtonBac kground (general s etting) applies .

Back to top

Gauss Posted: Mon Nov 30, 2009 3:01 pm Post subject:

I s V 1 .0 releas ed or not yet?


Joined: 10 Sep 2009 I like the preview
Posts: 186

Back to top

Learning one Posted: Tue Dec 01, 2009 4:01 pm Post subject:

Download lat est version: Radial menu v3.12 (1.12.2009.)


Joined: 04 Apr 2009 C hanges : s ee 2 pos ts above + new I mages folder tree
Posts: 293
Location: Croatia

@Gauss
N ot yet

EDIT:
I inc luded wrong (old) item bac kgrounds in Radial menu v3 .1 2 pac kage.
Fixed now.

Back to top

Elesar Posted: Thu Dec 03, 2009 1:13 am Post subject:

I have s tarted work on a s ettings mod for this s c ript, and would like s ome input from the us ers on wh
Joined: 28 Jun 2007 to go from here.
Posts: 327

This script is st ill in an early development stage, so you may want to back up your RM settings.ini f i
bef ore running t his script.

A s is , it has n't mes s ed up my I N I file, but I have not had muc h time to tes t it yet.

C urrently you c an view all items and add new items only.

T he add items dialog retrieves any I mages in their appropriate s ub- folder for eas y s elec tion.

What I would like to know is whic h s ettings that are c urrently available s hould be s een as "G eneral"
"A dvanc ed", or if I s hould make s eparate tabs for other items .

A ls o, handling of s etting the s how hotkey is looking a bit tric ky due to limitations on the H otkey G U I
c ontrol (does not allow mous e/joys tic k or win buttons ). A ny ideas on a workaround for that would be
nic e.

A third is s ue is the lis ting of items thems elves , as they are jus t s hown as I tem1 , I tem2 , I tem3 , etc .
would like to us e the N ame attribute of an item in the lis t, but if you s et that, then you get text over y
ic ons , s o mos t people probably wouldn't like that.
I already have plans to allow editing, removing and s orting of items , and implementing all of the c urr
options in their res pec tive tabs onc e I have an idea of what s hould be c ons idered general or advanc e

P leas e note that my vers ion s ys tem is bas ed off of the c urrent vers ion of RM to eas e in c ompatibility
trac king.

RMSett ings.ahk:
Code:

;==================================================================================================
;
; RMSettings Mod
; By Elesar (brain.harder@gmail.com)
;
; Sections of this script are pulled from Radial Menu by Learning One (boris-mudrinic@net.hr)
;
;==================================================================================================
;
; Version History:
; 3.12a:
; Initial GUI complete
; LV lists all items found in INI, selecting an item displays its attributes
; Item additions and saving complete.
;
; Version Goals:
; 3.12b:
; Implement removal of items from listing
; Implement editing of existing items
; Implement re-ordering of items
; Implement General options
; Implement Advanced options
;
; 3.12:
; Initial testing release to AHK forums
;
; Future versions to follow official releases of Radial Menu
;
;===== System Setup =============================================================================
#SingleInstance Force
#NoEnv
SetBatchLines -1

#Include %A_ScriptDir%\RMdata\Gdip.ahk

Version := "3.12a" ; Use RM version number to ease compatability, letters indicate testing or
coding phases.

INIFile := "RM settings.ini" ; For testing only, normally would be the same file
INIFile1 := "RM settings.ini"
;===== INI Read =================================================================================
INIRead, HKey, %INIFile%, General, RMShowHotkey, RButton
INIRead, ShowDelay, %INIFile%, General, ShowDelay, 220
INIRead, MenuBG, %INIFile%, General, MenuBackground, RMbackground.png
INIRead, MenuTrans, %INIFile%, General, MenuBackgroundTrans, 255
INIRead, ButtonBG, %INIFile%, General, ButtonBackground, black.png
INIRead, UseSound, %INIFile%, General, Sounds, 1
INIRead, ShowSound, %INIFile%, General, SoundOnShow, show.wav
INIRead, HoverSound, %INIFile%, General, SoundOnHover, hover.wav
INIRead, SelectSound, %INIFile%, General, SoundOnSelect, select.wav
INIRead, HideSound, %INIFile%, General, SoundOnHide, hide.wav
INIRead, SelectEffect, %INIFile%, General, SelectEffect, shake
INIRead, DestDelay, %INIFile%, General, DestroyDelay, 0
INIRead, Font, %INIFile%, General, Font, Arial
INIRead, TextSize, %INIFile%, General, TextSize, 12
INIRead, TextColor, %INIFile%, General, TextColor, FFFFFF
INIRead, TextAA, %INIFile%, General, TextAntialias, 1
INIRead, TextTrans, %INIFile%, General, TextTrans, DE
INIRead, Shadow, %INIFile%, General, Shadow, 1
INIRead, ShadowColor, %INIFile%, General, ShadowColor, 222222
INIRead, ButtonSize, %INIFile%, General, ButtonSize, 55
INIRead, MinWheelRadius, %INIFile%, General, MinWheelRadius, 50
INIRead, Licence, %INIFile%, General, LicenceAgreement, 0

;===== Gui ======================================================================================


Gui, Add, Button, x220 y265 w100 h20, OK
Gui, Add, Button, x320 y265 w100 h20, Cancel
Gui, Add, Tab2,x5 y5 w415 h255, Items|General|Advanced
Gui, Tab, Items
Gui, Add, Button, x10 y30 w100 h20 gAddItem Disabled vAddItem, Add Item
Gui, Add, ListView, x10 y50 w100 h200 gLVHandler -Hdr,
INum|ItemName|Action|YPos|Icon|IconShrink|ToolTip|Background
Gui, Add, GroupBox, x115 y30 w300 h220, Item Attributes
Gui, Add, Text, x125 y50 w100 h20, Name:
Gui, Add, Edit, x210 y50 w195 h20 ReadOnly vIName,
Gui, Add, Text, x125 y70 w100 h20, Action:
Gui, Add, Edit, x210 y70 w195 h20 ReadOnly vIAction,
Gui, Add, Text, x125 y90 w100 h20, Y Pos:
Gui, Add, Edit, x210 y90 w195 h20 ReadOnly vIYPos,
Gui, Add, Text, x125 y110 w100 h20, Icon:
Gui, Add, Edit, x210 y110 w195 h20 ReadOnly vIIcon,
Gui, Add, Text, x125 y130 w100 h20, Icon Shrink:
Gui, Add, Edit, x210 y130 w195 h20 ReadOnly vIIShrink,
Gui, Add, Text, x125 y150 w100 h20, ToolTip:
Gui, Add, Edit, x210 y150 w195 h20 ReadOnly vITTip,
Gui, Add, Text, x125 y170 w100 h20, Background:
Gui, Add, Edit, x210 y170 w195 h20 ReadOnly vIBackground,
Gui, Tab, General
Gui, Add, Text, x10 y30 w405 h20 +Center, Still to come...
;Gui, Add, Text, x10 y30 w100 h20, Hotkey:
;Gui, Add, Hotkey, x110 y30 w100 h20 vHKey,%HKey% ; Needs workaround to allow mouse input a
use of Win keys.
;Gui, Add, CheckBox, x10 y50 w200 h20 Checked%Sound% vSound, Use animation sounds.
Gui, Tab, Advanced
Gui, Add, Text, x10 y30 w405 h20 +Center, Still to come...
LV_ModifyCol(1, 75)
LV_ModifyCol(2, 0)
LV_ModifyCol(3, 0)
LV_ModifyCol(4, 0)
LV_ModifyCol(5, 0)
LV_ModifyCol(6, 0)
LV_ModifyCol(7, 0)
LV_ModifyCol(8, 0)
RefreshList()
Gui, Show, xCenter yCenter w425 h290, RMSettings v%Version%
Return

;===== Labels ===================================================================================


ButtonOK: ; Check all file operation commands, I used RM settings1.ini for testing
Gui, Submit, NoHide ; Get all options from General and Advanced tabs
IfExist, %INIFile1%
FileDelete, %INIFile1% ; Easiest way I could see of properly handling removal of items
FileAppend, ; Maintaining current INI file format :P
(
`;-------------------------------------------------------------------------------------------------
`;Items
`;-------------------------------------------------------------------------------------------------

), %INIFile1%
ItemCount := LV_GetCount()
Loop, %ItemCount%
{
LV_GetText(INum, A_Index, 1)
LV_GetText(IName, A_Index, 2)
LV_GetText(IAction, A_Index, 3)
LV_GetText(IYPos, A_Index, 4)
LV_GetText(IIcon, A_Index, 5)
LV_GetText(IIShrink, A_Index, 6)
LV_GetText(ITTip, A_Index, 7)
LV_GetText(IBGround, A_Index, 8)
ItemString := "`n[" . INum . "]`nName = " . IName . "`nAction = " . IAction . "`nYPosition =
IYPos . "`nIcon = " . IIcon . "`nIconShrink = " . IIShrink . "`nTooltip = " . ITTip .
"`nSpecialButtonBack = " . IBGround . "`n"
FileAppend, %ItemString%, %INIFile1%
}
FileAppend, ; Header for general tab settings
(

`;-------------------------------------------------------------------------------------------------
`;General
`;-------------------------------------------------------------------------------------------------

), %INIFile1%

INIWrite, %HKey%, %INIFile1%, General, RMShowHotkey


INIWrite, %ShowDelay%, %INIFile1%, General, ShowDelay
INIWrite, %MenuBG%, %INIFile1%, General, MenuBackground
INIWrite, %MenuTrans%, %INIFile1%, General, MenuBackgroundTrans
INIWrite, %ButtonBG%, %INIFile1%, General, ButtonBackground
INIWrite, %UseSound%, %INIFile1%, General, Sounds
INIWrite, %ShowSound%, %INIFile1%, General, SoundOnShow
INIWrite, %HoverSound%, %INIFile1%, General, SoundOnHover
INIWrite, %SelectSound%, %INIFile1%, General, SoundOnSelect
INIWrite, %HideSound%, %INIFile1%, General, SoundOnHide
INIWrite, %SelectEffect%, %INIFile1%, General, SelectEffect
INIWrite, %DestDelay%, %INIFile1%, General, DestroyDelay
INIWrite, %Font%, %INIFile1%, General, Font
INIWrite, %TextSize%, %INIFile1%, General, TextSize
INIWrite, %TextColor%, %INIFile1%, General, TextColor
INIWrite, %TextAA%, %INIFile1%, General, TextAntialias
INIWrite, %TextTrans%, %INIFile1%, General, TextTrans
INIWrite, %Shadow%, %INIFile1%, General, Shadow
INIWrite, %ShadowColor%, %INIFile1%, General, ShadowColor
INIWrite, %ButtonSize%, %INIFile1%, General, ButtonSize
INIWrite, %MinWheelRadius%, %INIFile1%, General, MinWheelRadius
INIWrite, %Licence%, %INIFile1%, General, LicenceAgreement

; FileAppend, ; Header for advanced tab settings


;(
;
;`;------------------------------------------------------------------------------------------------
;`;Advanced
;`;------------------------------------------------------------------------------------------------
;
;), %INIFile1%
ExitApp
Return

LVHandler: ; Populates Item Attributes fields when an item is selected in the LV


rowNum := LV_GetNext(0, "F")
LV_GetText(IName, rowNum, 2)
LV_GetText(IAction, rowNum, 3)
LV_GetText(IYPos, rowNum, 4)
LV_GetText(IIcon, rowNum, 5)
LV_GetText(IIShrink, rowNum, 6)
LV_GetText(ITTip, rowNum, 7)
LV_GetText(IBackground, rowNum, 8)
GuiControl,, IName, %IName%
GuiControl,, IAction, %IAction%
GuiControl,, IYPos, %IYPos%
GuiControl,, IIcon, %IIcon%
GuiControl,, IIShrink, %IIShrink%
GuiControl,, ITTip, %ITTip%
GuiControl,, IBackground, %IBackground%
Return

AddItem: ; Adds an item to the LV by displaying a form for the user to fill out
Gui, 1:+Disabled
IconList := "None|"
BBackList := "None|"
Loop, %A_ScriptDir%\Images\Icons\*.* ; get all images in the Icons folder for the user to
select from
IconList := IconList . "|" . A_LoopFileName
Loop, %A_ScriptDir%\Images\Item backgrounds\*.* ; get all images in the Item backgrounds
folder for the user to select from
BBackList := BBackList . "|" . A_LoopFileName
Gui, 2:+Toolwindow
Gui, 2:Add, Text, x5 y7 w70 h20, Name:
Gui, 2:Add, Edit, x75 y5 w150 h20 vNName,
Gui, 2:Add, Text, x5 y32 w70 h20, Action:
Gui, 2:Add, Edit, x75 y30 w130 h20 vNAction,
Gui, 2:Add, Button, x205 y30 w20 h20 gActionBrowse, ...
Gui, 2:Add, Text, x5 y57 w70 h20, Y Position:
Gui, 2:Add, Edit, x75 y55 w150 h20,
Gui, 2:Add, UpDown, vNYPos Range0-55, 20
Gui, 2:Add, Text, x5 y82 w70 h20, Icon:
Gui, 2:Add, DropDownList, x75 y80 w150 h20 r5 vNIcon, %IconList%
Gui, 2:Add, Text, x5 y107 w70 h20, Icon Shrink:
Gui, 2:Add, Edit, x75 y105 w150 h20,
Gui, 2:Add, UpDown, vNIShrink Range0-30, 10
Gui, 2:Add, Text, x5 y132 w70 h20, Tooltip:
Gui, 2:Add, Edit, x75 y130 w150 h20 vNTTip,
Gui, 2:Add, Text, x5 y157 w70 h20, Background:
Gui, 2:Add, DropDownList, x75 y155 w150 h20 r5 vNBBack, %BBackList%
Gui, 2:Add, Button, x5 y180 w110 h20 gAddOK, OK
Gui, 2:Add, Button, x115 y180 w110 h20 gAddCancel, Cancel
Gui, 2:Show, xCenter yCenter w230 h205, Add Item
Return

ActionBrowse:
FileSelectFile, NAction, 3, ::{20d04fe0-3aea-1069-a2d8-08002b30309d}, Select action to perform
GuiControl, 2:, NAction, %NAction%
Return

AddOK:
Gui, 1:-Disabled
Gui, Submit, NoHide
Gui, 1:Default
INum := "Item" . (LV_GetCount() + 1)
If (NIcon == "None")
NIcon :=
If (NBBack := "None")
NBBack :=
LV_Add("", INum, NName, NAction, NYPos, NIcon, NIShrink, NTTip, NBBack)
Gui, 2:Destroy
Return

ButtonCancel:
GuiClose:
ExitApp

AddCancel:
2GuiClose:
Gui, 1:-Disabled
Gui, 2:Destroy
Return

;===== Functions ================================================================================


RefreshList()
{
Global
;=== Count Items === This section mostly from Radial menu script, writen by Learning One
Loop, 49
{
INIRead, I%A_Index%Name, %INIFile%, Item%A_Index%, Name
If I%A_Index%Name = ERROR ; item Section and Key does not exist at all
{
TotalButtons := A_Index - 1
Break
}
Else If (I%A_Index%Name = "" ) ; Blank name
{
INIRead, I%A_Index%Icon, %INIFile%, Item%A_Index%, Icon
If I%A_Index%Icon = ; Blank Icon
{
TotalButtons := A_Index - 1 ; Auto set TotalButtons
Break
}
}
}
If TotalButtons =
TotalButtons = 48
;=== End Count Items ===

Loop, %TotalButtons%
{
INum := "Item" . A_Index
INIRead, IName, %INIFile%, Item%A_Index%, Name
INIRead, IAction, %INIFile%, Item%A_Index%, Action
INIRead, IYPos, %INIFile%, Item%A_Index%, YPosition
INIRead, IIcon, %INIFile%, Item%A_Index%, Icon
INIRead, IIShrink, %INIFile%, Item%A_Index%, IconShrink
INIRead, ITTip, %INIFile%, Item%A_Index%, ToolTip
INIRead, IBackground, %INIFile%, Item%A_Index%, SpecialButtonBack
LV_Add("", INum, IName, IAction, IYPos, IIcon, IIShrink, ITTip,IBackground)
}
If (TotalButtons < 48)
GuiControl, Enable, AddItem
}

Back to top

Learning one Posted: Thu Dec 03, 2009 11:29 am Post subject:

Good job Elesar!


Joined: 04 Apr 2009 Cont inue developing RMSettings.ahk!
Posts: 293
Location: Croatia I put a link to your work in my firs t pos t.

@ all
I f you are working on RM c reator.ahk or RM Settings .ahk - c all it as you wis h, it must be stand alone
(not part of main) script! I ins is t on that!
Regarding RM c reator.ahk (or RM Settings .ahk);
I have in plan to s how blank Radial menu (A lways O nT op, with 4 8 blank items ) and G U I in the left pa
the s c reen, and Windows explorer on right s ide, and enable drag&drop files on RM I tems (by
G uiD ropFiles )...

A s us ual, I c ouldn't res is t do try s ome new things with RM . Res ults are very good;
Back to top

Display posts from previous: All Posts Oldest First Go

All times are


AutoHotkey Community Forum Index -> Scripts & Functions
Goto page Previous 1, 2, 3, 4, 5 ... 16, 17, 18
Page 4 of 18
Watch this topic for replies Jump to: Scripts & Functions

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3, 4, 5, 6 ... 16, 17, 18 Next
AutoHotkey Community Forum Index -> Scripts & Functions

View previou

Author Message

Elesar Posted: Thu Dec 03, 2009 6:23 pm Post subject:

3 .1 3 looks great!
Joined: 28 Jun 2007
Posts: 327
I have already done quite a bit more work from what I pos ted above, and revis ed a good portion of th

I have s c raped the idea for G eneral and A dvanc ed tabs and ins tead jus t made Settings 1 and Setting
by func tion (G raphic s , Sound, Font, H otkey)

I am als o planning a preview and had thought about drag and drop a bit, but I have s o many ideas s o
before I c an get it into c ode, and I 'm not really known for taking notes :\

With your permis s ion I would like to try and implement your ideas for the s ettings window. T hough I
it does lac k in the "vis ual des ign" department and having the blanked radial menu would help people
item would s how up.

I may jus t s tart working on the vis ual des igner in preparation for 3 .1 3 , and hopefully get a s ys tem w
mos tly future proof, with the exc eption of new features that need adding in.

Back to top

Learning one Posted: Fri Dec 04, 2009 1:31 pm Post subject:

Elesar wrote:
Joined: 04 Apr 2009
With your permission I would like to try and implement your ideas for the settings window.
Posts: 293
Location: Croatia

Y ou have my permis s ion.


Keep up good work.

I'll release RM v3.13 soon, s o keep watc hing this topic ...

P .S. I t's very boring job to trans form my private RM to public RM ...
A s I 'm redis tributing images and s ounds from other authors , I mus t obey lic enc es (lic ens es ), log ev
files , and s o on...

Back to top

Learning one Posted: Fri Dec 04, 2009 10:39 pm Post subject:

Radial menu v3.13 released


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Quick changes log:
- no more es c ape and paus e hotkeys
- added exit in tray menu
- double c lic k on tray ic on opens RM s ettings .ini
- ButtonSize limited to 1 3 0 max
- item under mous e glows
- new s kin - s mall, c ompac t, good looking
- s eparators
- ic ons without bac kground

New keys and/or values in RM settings.ini. Basic principle: s pec ial s etting [I tem]has prec edenc e ove
[G eneral]
- Name - - > determines button's name. I f name is s et to sepa ra tor item will bec ome s eparator - blan
ring. A ll other s ettings (ini keys ) for that item are than ignored.
- SpecialBut t onBack - - > determines button's bac kground. I f blank, ButtonBac kground applies (gene
button without bac kground, s pec ify no ba ckground U s eful to s how ic ons without bac kground.
- GenIconShrink - - > determines how muc h all ic ons with blank I c onShrink (s pec ial s etting) are s hrin
I c onShrink has prec edenc e over G enI c onShrink (general s etting).
- RMCloseDirect ion - - > determines RM 's c los e direc tion. C W means c loc kwis e. C C W means c ounter
if D es troyD elay is not s et to 0 .
- ShadowHeight - - > if button's bac kground .png has built in s hadow, s pec ify s hadow height for bette
not affec t on ic ons without bac kground.
- Sounds- - > 1 means Sounds on. 0 means Sounds off - ignores all other s ound s ettings

- D ue to new improvements minimal authors hip c hanged: "N o matter how muc h you improve this Rad
authors hip will always be minimum 81% ."

C us tomizing RM is s till not us er- friendly, no real s ettings gui (but E les ar is working on that), no real
but onc e when you s et it up to fit your needs , you will enjoy working with it!

* * *

Finally:
Download lat est version: Radial menu v3.13 (4.12.2009.)
I f you like it or have s ome s ugges tions pos t reply.

Sounds are not perfec t. I have tried s ome experiments with s ound mixing. Res ults were not good - h
mixing is not built in this vers ion.

I abandoned idea to enable/dis able mous e ac c eleration when menu is s hown. I c ould not get us ed to
I als o abandoned " RM s how effec ts " - it looks c ool in the beginning, but when you s how RM for more
realize that s how effec ts jus t was te your time.

Last edited by Learning one on Sat Dec 05, 2009 11:45 am; edited 1 time in total

Back to top

TomXIII Posted: Sat Dec 05, 2009 10:05 am Post subject:

G reat c hanges !
Joined: 14 Apr 2009 I like the way you s et bac kground ic ons and glow effec t!
Posts: 99

Back to top

Learning one Posted: Sat Dec 05, 2009 8:40 pm Post subject:

TomXIII wrote:
Joined: 04 Apr 2009
Great changes!
Posts: 293
Location: Croatia I like the way you set background icons and glow effect!

T hanks !

I have good news!


I n RM v3 .1 4 , I managed to auto position Items' name text and shadow to c enter without Y P os ition

So, no more YPosit ion in .ini,


and added new key in general s ec tion; ShadowOf f set - - > it is limited to 3 max, although, even Shad
I rec ommend ShadowO ffs et = 1 or ShadowO ffs et = 2

Back to top

alienyd Posted: Sun Dec 06, 2009 4:27 pm Post subject:

H ey guys , I 've been watc hing this pos t from the beginning and I really like the idea the the work of a
Joined: 17 Mar 2009 I 'd love to make a s ugges tion/reques t about the way you c hoos e the item though:
Posts: 1
I s it pos s ible that we c an highlight I tem by s c rolling the mous e, and then c hoos e with a mous e butto
- pres s a mous e button (e.g. XButton) to ac tivate menu
- s c roll to s elec t
- M Button to c hoos e
<- - - - - - - - totally without mous e movement!

I hope s omebody would c ome up with a s olution!


T hanks , and keep up the good work!
Y ou RO C K!

Back to top

Learning one Posted: Mon Dec 07, 2009 11:23 am Post subject:

@alienyd
Joined: 04 Apr 2009 T hanks for s ugges tion and s upport!
Posts: 293
Location: Croatia Y es , this is pos s ible. I nteres ting s ugges tion. I 'll try to do s ome tes ts , when I 'll have s ome free time

Radial menu v3.14 released


Changes:
- no more Y P os ition in .ini
- added new key in general s ec tion; S hadowO ffs et - - > it is limited to 3 max, although, even ShadowO
rec ommend ShadowO ffs et = 1 or ShadowO ffs et = 2
- new folder with .ini examples

- one c larific ation: ShadowH eight is not c onnec ted with text s hadow in any way! I t means : I f button'
built in s hadow, s pec ify s hadow height for better ic on and text pos itioning. D oes not affec t on ic ons w
M ore ac c urate name would be ButtonS hadowH eight.

Download Radial menu v3.14 (7.12.2009.)


Back to top

doyle Posted: Mon Dec 07, 2009 4:28 pm Post subject:

T hat jus t s eems like a nightmare to maintain, organis e, and memoris e.


Joined: 14 Nov 2007
Posts: 308
Location: London, England I t'd be quic ker jus t to c lic k on the desktop, and s elec t an ic on.

T he beauty of t his c onc ept is in its s implic ity.

Rather than have loads of ic ons , in a radial menu, I would foc us on c ontext s ens itive menus ?

So a different s et of ic ons would dis play depending what the c urrent us er is doing.

Back to top

doyle Posted: Mon Dec 07, 2009 4:31 pm Post subject:

I will s ay though.
Joined: 14 Nov 2007
Posts: 308
Location: London, England V ers ion 3 .1 4 is a very good looking piec e of s oftware!

P leas e try and implement the s ettings gui into the s ame s c ript though!

H aving two s eperate piec es of s oftware s eems unnec c es ary.

Back to top

doyle Posted: Mon Dec 07, 2009 4:33 pm Post subject:

A ls o...
Joined: 14 Nov 2007
Posts: 308
Location: London, England Whats the pos s ibility of having a "Sub- Radial M enus " feature?

So you open up your radial, and one of the ic ons s ays s omething like "P rogram Files "

T hen when you hover over it, another Radial is c reated with the items that fall under that c ategory.
Back to top

Elesar Posted: Mon Dec 07, 2009 6:42 pm Post subject:

T here are a c ouple different reas ons we are having the s ettings s c ript be s eperate.
Joined: 28 Jun 2007
Posts: 327
T he firs t being that there are two different authors , and we have barely talked during the c ours e of de
s c ript to update and c hange as he s ees fit, and RM Settings is my s c ript, with my own c oding s tyle a

Sec ond would be s c ript s ize. I f we were to integrate the s c ripts into one file, it would be allot more c o
have to s ift through to c hange their part of the s c ript.

T hird, performanc e. T rue, with mos t s ys tems , having both s c ripts in one wouldn't be that muc h of an
all of my s ettings s c ript when, onc e you have it c onfigured, you won't us e it 9 0 % of the time.

I 'm s ure that onc e I have a c ompleted (or c los e enough) s ettings s c ript it c an be inc luded with the m
launc hed from the tray menu, rather than opening the s ettings ini.

I didn't get a c hanc e to work on the s ettings this weekend, but I will s ee what I c an do this week. I h
s tuff s o that I c an generate a full preview of the menu and allow direc t editing and drag&drop func tion

Back to top

gongchao6330 Posted: Tue Dec 08, 2009 6:34 am Post subject:

L ooks fantas tic !


Joined: 25 Mar 2009
Posts: 16
I have ques tion, i us e a mous e ges ture s oftware "s trokeit" everyday, the hotkey of whic h is als o Rbu
with our Radial M enu func tion, and i don't want to c hange hotkeys of anyone. I wonder is there a good

Back to top

Elesar Posted: Tue Dec 08, 2009 7:27 am Post subject:

T here is a value that you c an s et in the I N I file of your c opy to whatever you wis h your hotkey to be.
Joined: 28 Jun 2007
Posts: 327
T his will als o be a field available in my RM Settings s c ript when it is c omplete.

Back to top

Larousse_off Posted: Tue Dec 08, 2009 8:26 pm Post subject:


Guest

A bs olutely great, but I have one problem with it - it exits unexpec tedly. I have it loaded through a s h
folder, and after a while (I don't us e it SO often during a s tandard s es s ion) I find out it's gone - - the
anymore. I have no idea what c aus es this .... Would you know?

T hanks ,

L A rg

Back to top

Learning one Posted: Wed Dec 09, 2009 11:32 am Post subject:

H i everybody,
Joined: 04 Apr 2009 A c ouple of times i s aid that I have to s top developing RM until I finis h s ome more s erious jobs . N ow
Posts: 293
Location: Croatia
T ake a look at s ome of my c onc epts /experiments :
Radial lab1 - s ubmenus c onc ept
Radial lab2 - RM mons ter, RM 6 , s earc hing for perfec t ring radius

T hat's it. I 'll be bac k in the projec t as s oon as I c an. Bye!

@ L arous s e_off: s trange, I never experienc ed s omething like that...

Last edited by Learning one on Thu Dec 10, 2009 2:43 am; edited 3 times in total

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & Functions


Goto page Previous 1, 2, 3
Page 5 of 18
Watch this topic for replies Jump to:

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 5, 6, 7 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions


View previo

Author Message

doyle Posted: Wed Dec 09, 2009 2:48 pm Post subject:

Radial lab 1 looks great.


Joined: 14 Nov 2007
Posts: 308
Location: London, England

Back to top

LastCallAgain Posted: Fri Dec 11, 2009 4:45 pm Post subject:

Quote:
Joined: 20 Nov 2009
Whats the possibility of having a "Sub-Radial Menus" feature?
Posts: 6

So you open up your radial, and one of the icons says something like "Program Files"

Then when you hover over it, another Radial is created with the items that fall under that category.

A wes ome idea D oyle! I wondered about that mys elf.

L earning one: G ood luc k with your new projec t, I hope you c an get bac k to RM s oon. I t's an inc redibl

H as anyone tried us ing RM to ac tivate hotkeys rather than launc h applic ations ?
I 'm tinkering with it mys elf but not having muc h luc k, other than us ing RM to ac tivate a s tandalone s
hotkey... s eems like a lot of extra work tho.
_________________
--------------------------------------------------
C omputers make it eas ier to do a lot of
things , but mos t of the things they make
it eas ier to do don't need to be done.
- - A ndy Rooney
--------------------------------------------------

Back to top

Elesar Posted: Fri Dec 11, 2009 6:53 pm Post subject:

the c urrent s ys tem s ends the run c ommand c ontaining a variable pointing to what you have c onfigur
Joined: 28 Jun 2007 c an do it with the run c ommand, you s hould be able to do it with RM .
Posts: 327

I think your method of launc hing s tandalone s c ripts is probably the only way to do s o at the moment
mod it in, or L earning O ne may take a look at it when he returns to this projec t.

Back to top

doyle Posted: Mon Dec 14, 2009 10:58 am Post subject:

I ts definately pos s ible. I ts jus t working out the bes t way to do it.
Joined: 14 Nov 2007
Posts: 308
Location: London, England M aybe a L abels .ahk #I nc lude(d) with the s c ript would work.

Y ou'd have to define what type of c ode the button would exec ute though I gues s .

Back to top
Learning one Posted: Tue Dec 15, 2009 9:13 pm Post subject:

@Last CallA gain


Joined: 04 Apr 2009 Y ou don't like to launc h s tandalone s c ripts by s elec ting RM I tem?
Posts: 293
Location: Croatia Y ou want that s elec ting RM I tem has effec t like pres s ing a hotkey, (when you s elec t it, RM exec utes

Back to top

Elesar Posted: Wed Dec 16, 2009 7:45 am Post subject:

I took a few minutes and figured the lates t reques t out.


Joined: 28 Jun 2007
Posts: 327
A round line 5 0 0 , in the item s elec tion portion of the s c ript:
Code:

if WinTitle contains RMItem ; RMShowHotkey released on item


{
MouseMove, %mx1%, %my1% ; back to original position
Gosub, MutualActions

Loop, %TotalButtons% ; determine what to run


{
if (WinTitle = "RMItem" . A_Index)
{
CurAction := I%A_Index%Action
if (CurAction = "Error" or CurAction = "")
Break
Else
{
If IsLabel(CurAction)
GoSub, %CurAction%
Else
{
Transform, CurAction, Deref, %CurAction% ; suggestion by Maxmax14 (Than
Run, %CurAction%
}
Break
}
}
}
Gosub, RadialMenuClose
;WinActivate, %OrigWinTitle%
}

A t the very end of the c ode:


Code:

#Include *i %A_ScriptDir%\UserCommands.txt

U s erC ommands .txt s hould be a file in the s ame direc tory as RM , and s hould be formatted as a s tand
Code:

TestLabel:
MsgBox, This is a test label from an included file.
Return

J us t add an item to the menu with the ac tion T es tL abel and it will launc h on s elec tion.

O n another note:
I have s everal new projec ts that I am having to s ee to c ompletion before I c an c ontinue my work on
c ouple webs ites to build, and s ome s tuff for work). I do hope to c ontinue work on this s oon, but if I fin
it before long, I will releas e what I do have, s o that hopefully s omeone els e may c omplete it and furth
M enu!

Back to top

Learning one Posted: Wed Dec 16, 2009 10:34 am Post subject:

T hat's very s imilar to my s olution in RM v3 .1 5


Joined: 04 Apr 2009 I 'm already us ing it for about 1 week, and it works perfec tly.
Posts: 293
Location: Croatia
T here are als o s ome other improvements /c hanges in RM v3 .1 5 .

A lthough I 'm s till very bus y, I 'll try to find s ome time to prepare RM v3 .1 5 for public releas e.

Back to top

Learning one Posted: Wed Dec 16, 2009 10:09 pm Post subject:

Radial menu v3.15 released


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Changes log:
- new layout - 6 items in 1 . ring, all other rings have s lightly reduc ed radius . A fter us ing RM for a lon
that this is the bes t good look/func tionality c ompromis e. N umber of items in menu is limited to 6 6 m

- 2 new .ini keys in [G eneral] s ec tion; M enuBac kgroundWidth and M enuBac kgroundH eight. D etermin
Width/H eight. I f blank or above M enuBac kground's (image) res olution, M enuBac kground's image res
Width/H eight.

- added new: M enuBac kground, ButtonBac kground (minor c hange; jus t s maller s hadow), SoundO nH o

- added "E dit M yS ubroutines " in tray menu

- pos s ibility to exec ute c us tom I tem's s ubroutine ins tead of launc hing s tand- alone s c ript (H otkey- l
1 . s pec ify My sub in item's ac tion
2 . c reate your c us tom s ubroutine in \U tilities \M ySubroutines .ahk. I f you are c reating s ubroutine for
mus t be I tem1. For I tem2 , I tem2 and s o on...

- s ome new s mall s c ripts in utilities dir, and other minor c hanges ...

Download: Radial menu v3.15 (16.12.2009.)

"I woul d l i ke to ha v e submenus, ca n y ou do tha t?"


Y es I c an. T hat's very old idea; s ee des c ription in my firs t RM s c ript; Radial menu v1
I know how to do it, I want to do it, but I 'm c urrently s till very bus y. So, you have to wait...
For now, you c an take a look at my Submenus concept

Last edited by Learning one on Fri Dec 18, 2009 12:09 am; edited 1 time in total

Back to top

Learning one Posted: Thu Dec 17, 2009 1:34 am Post subject:

Sorry, wrong default RM Bac kground in pac kage.


Joined: 04 Apr 2009 fixed now.
Posts: 293
Location: Croatia

Back to top
alaskatu Posted: Thu Dec 17, 2009 6:27 am Post subject:
Guest

H i, i have make a little improvements of our Work and add a bit more func tionality.
1 : C an exec ute C omands (like our ver. 3 .1 5 )
2 : Button 1 - 6 are the ac tually open windows . L ike A lt + T ab.

T he func tion ( like alt + tab) looks at the ic on path for ic ons with the program name. So, you have to
programm that you want put in there.

For the Sc ript func tion you have to add a field Sc ript at the I T E M (x) - RM s etinngs .

Code:

---------------------------------------------------------------------------------------------
ITEMS
---------------------------------------------------------------------------------------------
[Item1]
Name=
Action=
Script=
Icon=lime3.png
IconShrink=1
Tooltip=
SpecialButtonBack=no background
ID=

[Item2]
Name=
Action=
Script=
Icon=lime3.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item3]
Name=
Action=
Script=
Icon=lime3.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item4]
Name=
Action=
Script=
Icon=lime3.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item5]
Name=
Action=
Script=
Icon=lime3.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item6]
Name=
Action=
Script=
Icon=lime3.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item7]
Name=-------Search
Action=
Script=GoogleSearch
Icon=google.png
IconShrink = 1
Tooltip =Google Search
SpecialButtonBack =no background
ID=

[Item8]
Name=-------Image
Action=
Script=GoogleImage
Icon=google.png
IconShrink =1
Tooltip =
SpecialButtonBack =no background
ID=

[Item9]
Name=
Action=
Script=LEGENDAS.TV
Icon=Legendas.tv1.png
IconShrink = 1
Tooltip =Legendas.TV
SpecialButtonBack = no background
ID=

[Item10]
Name=
Action=
Script=OpenSubtitles
Icon=OpenSubtitles.png
IconShrink = 1
Tooltip =Fullscreem
SpecialButtonBack =no background
ID=

[Item11]
Name=
Action=
Script=Wikipedia
Icon=Wikipedia.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item12]
Name=
Action=
Script=IMDB
Icon=imdb4.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item13]
Name=
Action=
Script=Wikipedia
Icon=Wikipedia.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item14]
Name=
Action=
Script=IMDB
Icon=imdb4.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item15]
Name=
Action=
Script=
Icon=sub_black_next.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item16]
Name=Series
Action=
Script=Series
Icon=search_file.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item17]
Name=Filmes
Action=
Script=Filmes
Icon=search_file.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item18]
Name=Filmes
Action=
Script=Filmes
Icon=search_file.png
IconShrink = 1
Tooltip =
SpecialButtonBack =no background
ID=

[Item19]
Name=
Action=
Script=Desktop
Icon=Desktop.png
IconShrink =1
Tooltip =Desktop
SpecialButtonBack =no background

[Item20]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item21]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item22]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item23]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item24]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item25]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item26]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item27]
Name=
Action=
Script=
Icon= lime3.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

[Item28]
Name=
Action=
Script=WindowMonitorSwitch
Icon=sub_black_next.png
IconShrink = 1
Tooltip =
SpecialButtonBack = no background

[Item29]
Name=
Action=
Script=WinMove_Full_NoTitle
Icon=sub_black_add.png
IconShrink = 1
Tooltip =Fullscreem
SpecialButtonBack =no background
ID=

[Item30]
Name=
Action=
Script=WindowMonitorSwitch
Icon=sub_black_prev.png
IconShrink =1
Tooltip =
SpecialButtonBack = no background

[Item31]
Name=
Action= %A_WinDir%\system32\calc.exe
Script=
Icon= Calculator1.png
IconShrink = 2
Tooltip =
SpecialButtonBack = no background

--------------
And so on, up to Item48 (3 full rings)... Continue if you wish...
--------------

---------------------------------------------------------------------------------------------
GENERAL
---------------------------------------------------------------------------------------------
[General]

RMShowHotkey = XButton1
ShowDelay = 150

MenuBackground = RMbackground.png
MenuBackgroundTrans = 390
ButtonBackground = blue3.png
ShadowHeight = 0

GenIconShrink = 11

Sounds = 1
SoundOnShow =
SoundOnHover = hover.wav
SoundOnSelect =
SoundOnHide =

SelectEffect = shake
DestroyDelay = 0
RMCloseDirection = CCW

Font = arial
TextSize = 12
TextColor = FFFFFF
TextAntialias = 1
TextTrans = DD

Shadow = 1
ShadowColor = 222222
ShadowOffset = 1

ButtonSize = 60
MinWheelRadius = 50

LicenceAgreement =1
Code:

;===Description=========================================================================
/*
RADIAL MENU v3.15 by Learning one
AHK forum location: http://www.autohotkey.com/forum/viewtopic.php?p=308352#308352
Thanks: Tic, TomXIII
Script uses Tic's GDI+ functions library.

Draws radial menu when you press & hold defined mouse hotkey (RButton by default). Release mo
select it, or anywhere else to hide menu.
After each selection, mouse will bounce back to center.
To learn more about variables loaded in "settings" heading, see descriptions and comments in
versions; 1 and 2.
One of the most important is ShowDelay --> menu will show after %ShowDelay% miliseconds.
This delay gives you opportunity to send normal mouse click without annoying menu showing. T
instantly, set 0.
I'll try to make Radial menu creator - edit your RM visually, and a Help file.
Due to some special circumstances, this script is released before I planed, so it is not tota

LICENCE:
Free for non-commercial, personal use.
For commercial use, e-mail me please.
Do not (re)distribute without my permission!
Author: Boris Mudrinic (Learning one on AHK forum)
Contact: boris-mudrinic@net.hr

No matter how much you improve this Radial menu, my share in authorship will always be minimu
If you make your own program, based on one of mine Radial menu scripts; 1) my share in author
your program will always be minimum 51%, 2) you have to mention my name and contact in it, 3)
have to inform me about your program.
This are conditions under which I'm releasing all my Radial menu scripts.
If you don't agree with this, exit and delete this program from your computer immediately!

Note that script uses:


- Tic's GDI+ functions library. (Thank you!)
- a few lines developed by TomXIII. (Thank you!)
- some modified sounds by patchen and SpeedY (Thank you!)
- some icons by Iconka http://iconka.com (Thank you!)
- some images from other authors - see: Image sources.txt

HOW DOES IT WORK? It simply draws carefully positioned & shaped GUIs and threats them as menu
Menu items are identified by GUI's title, not by item's text. GUI's titles are RMItem1, RMIte

IMPROVING PERFORMANCE
On my computer (just Intel Celeron 1.47 GHz and 896 MB RAM), script works rocket fast!
If this is not the case on your machine, do something like this:
- lower the resolution fo images
- use #NoEnv
- disable (or set to 0) all open/select/close effects and delays
- disable sounds or lower their duration, or quality
- reduce number of items in menu
- set Process priority of the script to AboveNormal or High
I decided to limit number of items to 66 max (4 rings). If you want more items, it is much be
classic drop down menus!

DEFAULT HOTKEY:
RButton ; Press & hold to show menu after %ShowDelay% miliseconds.

CODE STRUCTURE:
- Description
- Auto-execute start
- Functions
- Load settings
- Prepare menu
- RMshow Hotkey
- Subroutines
*/
;===Auto-execute start==================================================================
SetBatchLines, -1
#SingleInstance force
CoordMode, mouse, Screen
OnExit, Exit
SetTitleMatchMode, 3 ; exact match

Menu, Tray, Icon, %A_ScriptDir%\RMdata\RMTrayIcon.ico


Menu, Tray, Tip, Radial menu v3.15

AboutRadialMenu =
(
Title:%A_Tab%Radial menu v3.15
Author:%A_Tab%Boris Mudrinic (Learning one on AHK forum)
Contact:%A_Tab%boris-mudrinic@net.hr
Thanks:%A_Tab%Tic, TomXIII

Licence:
Free for non-commercial, personal use.
For commercial use, e-mail me please.
Do not (re)distribute without my permission!

No matter how much you improve this Radial menu, my share in authorship will always be minimu
If you make your own program, based on one of mine Radial menu scripts; 1) my share in author
your program will always be minimum 51`%, 2) you have to mention my name and contact in it, 3
have to inform me about your program.
This are conditions under which I'm releasing all my Radial menu scripts.
If you don't agree with this, exit and delete this program from your computer immediately!

Note that script uses:


- Tic's GDI+ functions library. (Thank you!)
- a few lines developed by TomXIII. (Thank you!)
- some modified sounds by patchen and SpeedY (Thank you!)
- some icons by Iconka http://iconka.com (Thank you!)
- some images from other authors - see: Image sources.txt
)

;===LicenceAgreement===
IniRead, LicenceAgreement, %A_ScriptDir%\RM settings.ini, General, LicenceAgreement
if not (LicenceAgreement = 1)
{
MsgBox,324, Welcome to Radial menu v3.15, %AboutRadialMenu%`n`n`nDo you agree on licence a
terms?`n(If you agree, this message will never show again.)
; default button is no just because I want you to read MsgBox, not just automatically pres
space...
IfMsgBox, Yes
IniWrite, 1, %A_ScriptDir%\RM settings.ini, General, LicenceAgreement
Else
ExitApp
}

Progress, m2 b fs13 zh0 WMn700, `nPlease wait...`n

;===Functions===========================================================================
#Include %A_ScriptDir%\RMdata\Gdip.ahk

CalcPos()
{
global
deg := deg ? deg+(360/TotalButtons): (360/TotalButtons)+90
rad := deg*(pi/180)
xOffset := WheelRadius*(-1*Cos(rad))-picRadius
yOffset := WheelRadius*(-1*Sin(rad))-picRadius
itemX := mx1 + xOffset
itemY := my1 + yOffset
}

;===Count items===
Loop, 67
{
IniRead, I%A_Index%Name, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Name
if I%A_Index%Name = ERROR ; item Section and Key does not exist at all
{
TotalButtons := A_Index - 1
Break
}
Else if (I%A_Index%Name = "" ) ; Blank name
{
IniRead, I%A_Index%Icon, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Icon
if I%A_Index%Icon = ; Blank Icon
{
TotalButtons := A_Index - 1 ; Auto set TotalButtons
Break
}
}
}
if TotalButtons =
TotalButtons = 66

;===Load settings=======================================================================

;===Items===
Loop, %TotalButtons%
{
IniRead, I%A_Index%Icon, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Icon
IniRead, I%A_Index%Action, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Action
IniRead, I%A_Index%Script, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Script
IniRead, I%A_Index%ID, %A_ScriptDir%\RM settings.ini, Item%A_Index%, ID
IniRead, I%A_Index%IconShrink, %A_ScriptDir%\RM settings.ini, Item%A_Index%, IconShrink
IniRead, I%A_Index%Tooltip, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Tooltip ;
TomXIII's idea (Thanks!)
IniRead, I%A_Index%SpecialButtonBack , %A_ScriptDir%\RM settings.ini, Item%A_Index%, Speci
}

;===General===
IniRead, RMShowHotkey, %A_ScriptDir%\RM settings.ini, General, RMShowHotkey
IniRead, ShowDelay, %A_ScriptDir%\RM settings.ini, General, ShowDelay

IniRead, MenuBackground, %A_ScriptDir%\RM settings.ini, General, MenuBackground


IniRead, MenuBackgroundTrans, %A_ScriptDir%\RM settings.ini, General, MenuBackgroundTrans
IniRead, MenuBackgroundWidth, %A_ScriptDir%\RM settings.ini, General, MenuBackgroundWidth
IniRead, MenuBackgroundHeight, %A_ScriptDir%\RM settings.ini, General, MenuBackgroundHeight

IniRead, ButtonBackground, %A_ScriptDir%\RM settings.ini, General, ButtonBackground


IniRead, ShadowHeight, %A_ScriptDir%\RM settings.ini, General, ShadowHeight

IniRead, GenIconShrink, %A_ScriptDir%\RM settings.ini, General, GenIconShrink

IniRead, Sounds , %A_ScriptDir%\RM settings.ini, General, Sounds


IniRead, SoundOnShow, %A_ScriptDir%\RM settings.ini, General, SoundOnShow
IniRead, SoundOnHover, %A_ScriptDir%\RM settings.ini, General, SoundOnHover
IniRead, SoundOnSelect, %A_ScriptDir%\RM settings.ini, General, SoundOnSelect
IniRead, SoundOnHide, %A_ScriptDir%\RM settings.ini, General, SoundOnHide

IniRead, SelectEffect , %A_ScriptDir%\RM settings.ini, General, SelectEffect


IniRead, DestroyDelay, %A_ScriptDir%\RM settings.ini, General, DestroyDelay
IniRead, RMCloseDirection, %A_ScriptDir%\RM settings.ini, General, RMCloseDirection

IniRead, Font, %A_ScriptDir%\RM settings.ini, General, Font


IniRead, TextSize, %A_ScriptDir%\RM settings.ini, General, TextSize
IniRead, TextColor, %A_ScriptDir%\RM settings.ini, General, TextColor
IniRead, TextAntialias, %A_ScriptDir%\RM settings.ini, General, TextAntialias
IniRead, TextTrans, %A_ScriptDir%\RM settings.ini, General, TextTrans

IniRead, Shadow, %A_ScriptDir%\RM settings.ini, General, Shadow


IniRead, ShadowColor, %A_ScriptDir%\RM settings.ini, General, ShadowColor
IniRead, ShadowOffset, %A_ScriptDir%\RM settings.ini, General, ShadowOffset

IniRead, ButtonSize, %A_ScriptDir%\RM settings.ini, General, ButtonSize


IniRead, MinWheelRadius, %A_ScriptDir%\RM settings.ini, General, MinWheelRadius

;===Other stuff===
if (ShadowOffset > 3) ; limit
ShadowOffset = 3
if (ButtonSize > 130) ; limit
ButtonSize = 130

Loop, %TotalButtons% ; set separators


{

IniRead, I%A_Index%Name, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Name


if I%A_Index%Name = separator
{
I%A_Index%Name =
I%A_Index%Icon =
I%A_Index%SpecialButtonBack = separator
}
}

pi :=4*Atan(1)

WheelRadius := ButtonSize/(2*Sin(pi/TotalButtons)) ; Auto WheelRadius formula by TomXIII

if (TotalButtons > 6) ; 6 items in first ring


WheelRadius := ButtonSize/(2*Sin(pi/6))

if (WheelRadius < MinWheelRadius)


WheelRadius := MinWheelRadius
picRadius := ButtonSize/2

if TextAntialias = 1
TextRen = 4
if TextAntialias = 0
TextRen = 1
if DestroyDelay = 0
RMCloseDirection = CW ; performs better

if Sounds = 0 ; sounds off


{
SoundOnShow =
SoundOnHover =
SoundOnSelect =
SoundOnHide =
}

Menu, tray, add


Menu, tray, add, About, AboutRM
Menu, tray, add, Open RM folder, OpenRMF
Menu, tray, add, Edit MySubroutines, EditMySubroutines
Menu, tray, add, Settings, RMSettings
Menu, tray, add, Reload, ReloadRM
Menu, tray, add, Exit, ExitRM
Menu, tray, default, Settings

;===Set item's tooltip if not specified===


Loop, %TotalButtons%
{
if I%A_Index%Tooltip = ; custom tooltip (if specified) has precedence over auto tool
or icon's file name without extension)
{
if I%A_Index%Name =
{
I%A_Index%Tooltip := I%A_Index%icon
StringTrimRight, I%A_Index%Tooltip, I%A_Index%Tooltip, 4 ; remove extension
}
Else
I%A_Index%Tooltip := I%A_Index%Name
}
}

;===Set IconShrink if not specified===


Loop, %TotalButtons%
{
if (I%A_Index%IconShrink = "" or I%A_Index%IconShrink = "ERROR")
I%A_Index%IconShrink = %GenIconShrink%
}

;===Prepare menu=======================================================================
Gdip_Startup()

;===Prepare menu background=== ; Gui, 99 is Radial menu's background


Gui, 99: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 99: Show, hide
hwnd1 := WinExist()

CurMenuBackground = %A_ScriptDir%\Images\Menu backgrounds\%MenuBackground%


pBitmap := Gdip_CreateBitmapFromFile(CurMenuBackground)
RMBWidth := Gdip_GetImageWidth(pBitmap), RMBHeight := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(RMBWidth, RMBHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

if (MenuBackgroundWidth = "" or MenuBackgroundWidth > RMBWidth) ; automatic & limit


MenuBackgroundWidth := RMBWidth
if (MenuBackgroundHeight = "" or MenuBackgroundHeight > RMBHeight) ; automatic & limit
MenuBackgroundHeight := RMBHeight

Gdip_DrawImage(G, pBitmap, 0, 0, MenuBackgroundWidth, MenuBackgroundHeight, 0, 0, RMBWidth, R


UpdateLayeredWindow(hwnd1, hdc, 0, 0, RMBWidth, RMBHeight, MenuBackgroundTrans)

SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare MouseOnItem=== ; Gui, 98 is MouseOnItem glow


Gui, 98: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 98: Show, hide, MouseOnItem
hwnd1 := WinExist()

MouseOnItemImage = %A_ScriptDir%\RMdata\MouseOnItem.png
pBitmap := Gdip_CreateBitmapFromFile(MouseOnItemImage)

Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)

hbm := CreateDIBSection(Width, Height)


hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, ButtonSize, ButtonSize, 0, 0, Width, Width)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize)
SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare buttons===
Loop, %TotalButtons%
{
Gui, %A_Index%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, %A_Index%: Show, hide x%A_Index% y%A_Index% w%ButtonSize% h%ButtonSize%, RMItem%A_Ind
;===Gdi+ prepare===
hwnd1 := WinExist()
hbm := CreateDIBSection(ButtonSize, ButtonSize)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

;===CreateBitmapFromFile===

;=Background=
if (I%A_Index%SpecialButtonBack = "" or I%A_Index%SpecialButtonBack = "ERROR") ;
CurItemBackground = %A_ScriptDir%\Images\Item backgrounds\%ButtonBackground%
Else if (I%A_Index%SpecialButtonBack = "no background") ;
CurItemBackground := A_ScriptDir "\RMdata\no background.png"
Else if (I%A_Index%SpecialButtonBack = "separator") ;
CurItemBackground := A_ScriptDir "\RMdata\separator.png"
Else ;
CurItemBackground := A_ScriptDir "\Images\Item backgrounds\" I%A_Index%SpecialButtonBack

pBitmapBackground := Gdip_CreateBitmapFromFile(CurItemBackground)

;=Icon=
CurIcon := A_ScriptDir "\Images\Icons\" I%A_Index%Icon
pBitmapIcon := Gdip_CreateBitmapFromFile(CurIcon)

;===Prepare item background and icon===


BackgroundWidth := Gdip_GetImageWidth(pBitmapBackground), BackgroundHeight :=
Gdip_GetImageHeight(pBitmapBackground)
Gdip_DrawImage(G, pBitmapBackground, 0, 0, ButtonSize, ButtonSize, 0, 0, BackgroundWidth,
; Background

tempShadowHeight := ShadowHeight/2
if (I%A_Index%SpecialButtonBack = "no background")
tempShadowHeight := 0

CurISX := I%A_Index%IconShrink
CurISY := I%A_Index%IconShrink - tempShadowHeight
IconWidth := Gdip_GetImageWidth(pBitmapIcon), IconHeight := Gdip_GetImageHeight(pBitmapIco
Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX*2, 0
IconHeight) ; Icon

;===Set item Text name and position===


CurIName := I%A_Index%Name

;===Prepare item text's Shadow===


if not (Shadow = 0)
{
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter cFE%ShadowColor% r%TextRen% s%TextSize%
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize+ShadowOffset*2 , ButtonSize+
ShadowHeight )
}

;===Prepare item Text=== ; 2 times! I think that this gives better antialias results when
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter c%TextTrans%%TextColor% r%TextRen% s%TextSize%

Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight )


Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight )

;===Update button-window===
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize)

;===Select and delete===


SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmapBackground)
Gdip_DisposeImage(pBitmapIcon)
}

Hotkey, %RMShowHotkey%, RMShowHotkey


Progress, off
Return ;===Auto-execute ends here===

;===RMshow Hotkey========================================================================
RMShowHotkey:
QuitRMShow = 0
deg = 0
MouseGetPos, mx1, my1, OrigWinID
WinGetTitle, OrigWinTitle, ahk_id %OrigWinID%
SetTimer, QuitRMShow, 20

;=========get windows list============


Winget, ids, list, , , Program Manager
Index = 1
Loop, 6
{
id:=ids%Index%
Wingettitle, title, ahk_id %id%
WinGet, Exe_Name, ProcessName, ahk_id %id%

Exe_Name:= RegExReplace(Exe_Name, "i)" ".exe", ".png")


Name:= RegExReplace(Exe_Name, "i)" ".png", "")

I%A_Index%Icon=missing-image.png
I%A_Index%Tooltip=

if (Name="explorer" or Name="msnmsgr" or title="" or Name="KMPlayer" or title not contains d


{
Index += 1
id:=ids%Index%
Wingettitle, title, ahk_id %id%
WinGet, Exe_Name, ProcessName, ahk_id %id%
Exe_Name:= RegExReplace(Exe_Name, "i)" ".exe", ".png")
Name:= RegExReplace(Exe_Name, "i)" ".png", "")
if (Name="explorer" or Name="msnmsgr" or title="" or Name="KMPlayer" or title not conta
{
Index += 1
id:=ids%Index%
Wingettitle, title, ahk_id %id%
WinGet, Exe_Name, ProcessName, ahk_id %id%
Exe_Name:= RegExReplace(Exe_Name, "i)" ".exe", ".png")
Name:= RegExReplace(Exe_Name, "i)" ".png", "")
}
}

if (Name="")
{
Exe_Name=missing-image.png
Name=
}

I%A_Index%Icon=%Exe_Name%
I%A_Index%ID=%id%
I%A_Index%Tooltip=%Name%
Index += 1
}

;===Set item's tooltip if not specified===


Loop, 6
{
if I%A_Index%Tooltip = ; custom tooltip (if specified) has precedence over auto tool
or icon's file name without extension)
{
if I%A_Index%Name =
{
I%A_Index%Tooltip := I%A_Index%icon
StringTrimRight, I%A_Index%Tooltip, I%A_Index%Tooltip, 4 ; remove extension
}
Else
I%A_Index%Tooltip := I%A_Index%Name
}
}

;===Prepare buttons===
;Loop, %TotalButtons%
Loop, 6
{
Gui, %A_Index%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, %A_Index%: Show, hide x%A_Index% y%A_Index% w%ButtonSize% h%ButtonSize%, RMItem%A_Ind

;===Gdi+ prepare===
hwnd1 := WinExist()
hbm := CreateDIBSection(ButtonSize, ButtonSize)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

;===CreateBitmapFromFile===

;=Background=
if (I%A_Index%SpecialButtonBack = "" or I%A_Index%SpecialButtonBack = "ERROR") ;
CurItemBackground = %A_ScriptDir%\Images\Item backgrounds\%ButtonBackground%
Else if (I%A_Index%SpecialButtonBack = "no background") ;
CurItemBackground := A_ScriptDir "\RMdata\no background.png"
Else if (I%A_Index%SpecialButtonBack = "separator") ;
CurItemBackground := A_ScriptDir "\RMdata\separator.png"
Else ;
CurItemBackground := A_ScriptDir "\Images\Item backgrounds\" I%A_Index%SpecialButtonBack

pBitmapBackground := Gdip_CreateBitmapFromFile(CurItemBackground)

;=Icon=
CurIcon := A_ScriptDir "\Images\Icons\" I%A_Index%Icon
pBitmapIcon := Gdip_CreateBitmapFromFile(CurIcon)

;===Prepare item background and icon===


BackgroundWidth := Gdip_GetImageWidth(pBitmapBackground), BackgroundHeight :=
Gdip_GetImageHeight(pBitmapBackground)
Gdip_DrawImage(G, pBitmapBackground, 0, 0, ButtonSize, ButtonSize, 0, 0, BackgroundWidth,
; Background

tempShadowHeight := ShadowHeight/2
if (I%A_Index%SpecialButtonBack = "no background")
tempShadowHeight := 0

CurISX := I%A_Index%IconShrink
CurISY := I%A_Index%IconShrink - tempShadowHeight
IconWidth := Gdip_GetImageWidth(pBitmapIcon), IconHeight := Gdip_GetImageHeight(pBitmapIco
Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX*2, 0
IconHeight) ; Icon

;===Set item Text name and position===


CurIName := I%A_Index%Name

;===Prepare item text's Shadow===


if not (Shadow = 0)
{
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter cFE%ShadowColor% r%TextRen% s%TextSize%
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize+ShadowOffset*2 , ButtonSize+
ShadowHeight )
}

;===Prepare item Text=== ; 2 times! I think that this gives better antialias results when
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter c%TextTrans%%TextColor% r%TextRen% s%TextSize%
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight )
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight )

;===Update button-window===
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize)

;===Select and delete===


SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmapBackground)
Gdip_DisposeImage(pBitmapIcon)
}

;===Prepare background postiton===


RMBX := mx1-MenuBackgroundWidth/2, RMBY := my1-MenuBackgroundHeight/2
Gui, 99: Show, hide x%RMBX% y%RMBY%, RMBackground ; RMBackground

;===Prepare buttons postitons===


Loop, %TotalButtons%
{
;===Calculate positions===
OrigTotalButtons := TotalButtons ; save real TotalButtons
OrigwheelRadius := WheelRadius ; save real WheelRadius

If (TotalButtons < 7) ; up to 6 buttons regime


{
CalcPos()
TotalButtons := OrigTotalButtons
}
Else ; 9 and more buttons regime
{
if A_Index between 1 and 6 ; 1. ring
{
TotalButtons = 6
CalcPos()
TotalButtons := OrigTotalButtons ; restore real TotalButtons
}
if A_Index between 7 and 19 ; 2. ring
{
TotalButtons = 13 ;10
WheelRadius := ButtonSize/(2*Sin(pi/TotalButtons))
CalcPos()
TotalButtons := OrigTotalButtons ; restore real TotalButtons
WheelRadius := OrigwheelRadius ; restore real WheelRadius
}
if A_Index between 20 and 39 ; 3. ring
{
TotalButtons = 20
WheelRadius := ButtonSize/(2*Sin(pi/TotalButtons))
CalcPos()
TotalButtons := OrigTotalButtons ; restore real TotalButtons
WheelRadius := OrigwheelRadius ; restore real WheelRadius
}
if A_Index between 40 and 66 ; 4. ring
{
TotalButtons = 27
WheelRadius := ButtonSize/(2*Sin(pi/TotalButtons))
CalcPos()
TotalButtons := OrigTotalButtons ; restore real TotalButtons
WheelRadius := OrigwheelRadius ; restore real WheelRadius
}
}
Gui, %A_Index%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, %A_Index%: Show, hide x%itemX% y%itemY% w%ButtonSize% h%ButtonSize%, RMItem%A_Index%

if QuitRMShow = 1
Return
}

While (A_TimeSinceThisHotkey < ShowDelay) ; ShowDelay sleep...


Sleep, 10

SetTimer, QuitRMShow, off


if QuitRMShow = 1
Return

;===If RMShowHotkey is still down - show prepared menu===


if SoundOnShow
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnShow%

Gui, 99: Show, x%RMBX% y%RMBY%,RMBackground ; RMBackground


Loop, %TotalButtons% ; RMItem (s)
Gui, %A_Index%: Show

SetTimer, ItemTooltip, 20
if SoundOnHover
SetTimer, SoundOnHover, 20
KeyWait, %RMShowHotkey%, u ; waits RMShowHotkey to be released

;===When user releases RMShowHotkey===


SetTimer, ItemTooltip, off
Gui, 98: Hide ; MouseOnItem
SetTimer, SoundOnHover, off
ToolTip
; if problems with run occur (if Gui, 50 is still not hidden), put a short sleep here
MouseGetPos, , , WinID
WinGetTitle, WinTitle, ahk_id %WinID%
if WinTitle contains RMItem ; RMShowHotkey released on item
{
MouseMove, %mx1%, %my1% ; back to original position
Gosub, MutualActions
Gosub, RadialMenuClose
Loop, %TotalButtons% ; determine what to run
{
if (WinTitle = "RMItem" . A_Index)
{
CurAction := I%A_Index%Action
CurActionScript := I%A_Index%Script
if (CurAction = "Error" or CurAction = "")
{
if (CurActionScript = "Error" or CurActionScript = "")
Break
Else
{
WinActivate, %OrigWinTitle%
Sleep, 10
;Sendinput, %CurActionScript%
Gosub, %CurActionScript%
Break
}
}
Else
{
Transform, CurAction, Deref, %CurAction% ; suggestion by Maxmax14 (Thanks!)
Run, %CurAction%
Break
}
}
}

Loop, 6 ; determine what to run


{
if (WinTitle = "RMItem" . A_Index)
{
CurActionID := I%A_Index%ID
if (CurActionID = "Error" or CurActionID = "")
Break
Else
{
winactivate,ahk_id %CurActionID%
Break
}
}
}

;WinActivate, %OrigWinTitle%
}
else ; RMShowHotkey not released on item - just close menu
{
if SoundOnHide
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnHide%
Gosub, RadialMenuClose
}
Return

;===Subroutines=========================================================================
QuitRMShow:
if not (GetKeyState(RMShowHotkey,"p"))
{
SetTimer, QuitRMShow, off
QuitRMShow = 1
SendInput, {%RMShowHotkey%}
}
Return

ItemTooltip: ; + MouseOnItem glow


Critical
MouseGetPos, , , WinID
WinGetTitle, WinTitle, ahk_id %WinID%

if WinTitle = MouseOnItem
{
PlaySOHSound = 0
ToolTip, %CurToolTip%
Return
}

Else if WinTitle contains RMItem ; if mouse over RMItem


{
PlaySOHSound = 1
Gui, 98: Hide
ToolTip
Loop, %TotalButtons%
{
if (WinTitle = "RMItem" . A_Index)
{
LastRMItemNum := A_Index
CurToolTip := I%A_Index%ToolTip
ToolTip, %CurToolTip%
Break
}
}
WinGetPos, ActiveItemX, ActiveItemY, , ,%WinTitle%
Gui, 98: Show, x%ActiveItemX% y%ActiveItemY% NA, MouseOnItem ; MouseOnItem
}
Else
{
PlaySOHSound = 0
Gui, 98: Hide
ToolTip
}
Return

SoundOnHover:
if PlaySOHSound = 1
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnHover%, wait
Return

Exit:
Gdip_Shutdown(pToken)
ExitApp
Return

RadialMenuClose:
Gui, 98: Hide
if RMCloseDirection = CW ; clockwise
{
Loop, %TotalButtons%
{
Gui %A_index%: Hide
Sleep, %DestroyDelay%
}
}
Else if RMCloseDirection = CCW ; counter-clockwise
{
TempTB := TotalButtons
Loop, %TotalButtons%
{
Gui %TempTB%: Hide
TempTB --
Sleep, %DestroyDelay%
}
}
Gui, 99: Hide
Return

MutualActions:
Critical
if SoundOnSelect
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnSelect%
if SelectEffect = ; Select Effects disabled
Return

;===SelectEffects=== ; if you want fastes performance, just disable Select Effects by sett
SelectEffect variable in .ini file --> SelectEffect =
WinGetPos, XEff, YEff,,, %WinTitle%

;==Fade out effect== ; in development (in fact, I don't need this...)


; Note; WinSet , Transparent won't work for layered windows, so use UpdateLayeredWindow() for
last parameter represents transparency

;==Shake effect==
if SelectEffect = Shake
{
SetWinDelay, 35 ; Shake speed
Loop, 5
{
; Set Shake intensity. X axis shake looks better than Y axis shake
if A_index = 1 ; 2 pixels
XEff -= 2
if A_index = 2 ; 2 pixels
XEff += 4
if A_index = 3 ; 1 pixel
XEff -= 3
if A_index = 4 ; 1 pixel
XEff += 2
if A_index = 5 ; back to initial position
XEff -= 1
WinMove, %WinTitle%,, %XEff%, %YEff%
}
}
SetWinDelay, 100 ; default
Return

OpenRMF:
Run, explore %A_ScriptDir%
Return
ReloadRM:
Reload
Return

RMSettings:
Run, %A_ScriptDir%\RM settings.ini
Return

AboutRM:
MsgBox, 64, About Radial menu, %AboutRadialMenu%
Return

ExitRM:
ExitApp
Return

EditMySubroutines:
Run, edit %A_ScriptDir%\Utilities\MySubroutines.ahk
Return

#Include %A_ScriptDir%\Utilities\MySubroutines.ahk
#include %A_ScriptDir%\Scripts\Dic.ahk

;Escape::ExitApp

Back to top

Learning one Posted: Thu Dec 17, 2009 8:20 pm Post subject:

@alaskat u:
Joined: 04 Apr 2009
Posts: 293
Location: Croatia

Back to top

Guest Posted: Sat Dec 19, 2009 12:38 am Post subject:

N ic e s c ript!
I would als o prefer s ub menus ins tead of 5 0 + items ..

O n my mac hine, it is unus able over a video window (vmr9 ), c aus e of s trong flic kering...

T he c onfiguration is a little c omplic ated, if one has to have the ic ons extrac ted in the I c ons folder -
exe or s ys tem?

Back to top

Learning one Posted: Sun Dec 20, 2009 1:19 am Post subject:

T hanks .
Joined: 04 Apr 2009 Quote:
Posts: 293
Location: Croatia On my machine, it is unusable over a video window (vmr9), cause of strong flickering...
Y ou are right! H m... I think I c an't fix this . I think this is G D I + problem...

Submenus and auto- extrac ting ic ons are on to do lis t.


I have to s tudy H otKeyI t's T oolT ip()
HotKeyIt wrote:

There are also some functions (like the ones in ToolTip() ) that can find associated icon automatically, would be g

Back to top

Learning one Posted: Wed Dec 30, 2009 4:47 pm Post subject:

Joined: 04 Apr 2009 RM progress report


Posts: 293
Location: Croatia

N ote that graphic al us er interfac es above are c ompos ed from various author's images ; Learning one
Iconka ht t p://iconka.com
For thos e who haven't followed this thread: Radial menus you s ee above are not "jus t nic e looking im
s c ripts !

O n the lef t side, you c an s ee improved Radial menu "mg".


- (reminder: I t us es different s ys tem than Radial menu v3 ; only 1 G ui - L ayeredWindow, items are id
ges tures ...)
- new s kin
- now s upports multiple item rings
- I wrote a s mall func tion library and item identific ation is now very s imple; jus t c all G etSelec tedI tem
- main problem with RM "mg" is that writing a c ode that will automatic ally c reate s uc h nic e looking in
and allow us er to modify it as he wis h is very hard (but pos s ible, 1 0 0 % ). I t's too muc h work for 1 ma
For now I c an manually c reate c us tom RM "mg" graphic al us er interfac es on demand.
- c ode for this one is s till not releas ed on A H K forum, Edi t: but it's "core" is - s ee pos t below.

O n the right side, you c an s ee Radial menu v3 .1 6


- new s kin
- tes ting s ubmenus ! ! ! - lower right pic ture
- I 'll releas e the c ode when 1 0 0 % s table vers ion is finis hed

Radial menu v3 and above is written in "stand alone application" form.

Well, I c an't s ay that Radial menu "mg" is c ompletely written in "f unction" form, but us es func tions m
v3 .1 6 .
C reating fully func tional radial menu in "func tion" form (or RM module for ahk) is too muc h work for m
more important A H K projec ts are finis hed
(like UNICODE version of AutoHotkey, [Project Development]IE Web Recorder Developers Needed, [module] Shell 0.9, etc.)
I 'll probably s ugges t s erious c ollaborative work for c reating [module] Radial menu.

I hope you like previews .

Last edited by Learning one on Sun Jan 03, 2010 3:40 pm; edited 1 time in total

Back to top

Learning one Posted: Sat Jan 02, 2010 11:36 pm Post subject:

Radial menu "mg" method


Joined: 04 Apr 2009 T his s c ript is the c ore of Radial menu mg. I t's s ort of "H ow does Radial menu mg work" tutorial.
Posts: 293
Location: Croatia I f you are working on radial menus , s tudy it - it's s hort and is n't hard to unders tand. "M g" means mo
T his method has greater potential than method us ed in Radial menus v.3 +

Read des c ription in s c ript. D ownload Radial menu mg method. D efault hotkey is M Button.

EDIT: 3 .1 .2 0 1 0 .
Radius meas urement tool.ahk inc luded in pac kage.
D es c ription in s c ript and c ode s lightly modified.

Last edited by Learning one on Sun Jan 03, 2010 3:30 pm; edited 1 time in total

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & Functions


Goto page Previous 1, 2, 3
Page 6 of 18
Watch this topic for replies Jump to

Powered by phpBB © 2001, 2005 phpBB Group


AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 6, 7, 8 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

netfun81 Posted: Sun Jan 03, 2010 11:24 am Post subject:

Was mes s ing around with the pie menu c onc ept. I modified one of my earlier s c ripts to
Joined: 28 Oct 2006 tes t us ing the menu c ommand for s ubmenus . I t might be an good way to have
Posts: 58
s ubmenus .

Thanks t o Learning one f or the ideas and how to use up some time

I f you want to tes t you will need this image file:


http://www.autohotkey.net/~netfun8 1 /kc % 2 0 pie2 .png

Code:

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

CoordMode, Mouse, Screen


Gui +ToolWindow +AlwaysOnTop -Caption
Gui, Color, EEAA99
Gui +LastFound
WinSet, TransColor, EEAA99
pic:="kc pie2.png"
color:="cBlack"
gui, font, s10, Arial bold
Gui Add, Picture, x5 y5, %pic%
Gui, Add, Text, gExplorer %color% x170 y40 BackgroundTrans, Explorer
Gui, Add, Text, gFirefox %color% x210 y100 BackgroundTrans, Firefox
Gui, Add, Text, gIE %color% x170 y160 BackgroundTrans, IE
Gui, Add, Text, gCcleaner %color% x70 y160 BackgroundTrans, Ccleaner
Gui, Add, Text, ghide %color% x142 y96 BackgroundTrans, X
Gui, Add, Text, gtaskmgr %color% x30 y100 BackgroundTrans, Taskmgr
Gui, Add, Text, gshutdown %color% x70 y40 BackgroundTrans, Shutdown
Gui, show, w295 h230
Gui, hide
return

Ccleaner:
Run, C:\program files\ccleaner\ccleaner.exe
gui, hide
return

Explorer:
Run, explorer.exe c:\program files
gui, hide
return

Firefox:
Run, c:\program files\mozilla firefox\firefox.exe
gui, hide
return

IE:
Run, c:\program files\internet explorer\iexplore.exe
gui, hide
return

Shutdown:
Menu, shut, Add, Logoff
menu, shut, Add, Turnoff
Menu, Shut, Show
Menu, Shut, Deleteall
return

Logoff:
shutdown, 0
return

Turnoff:
shutdown, 1
return

Taskmgr:
Run, c:\windows\system32\taskmgr.exe
gui, hide
return

hide:
gui, hide
return

mbutton::
MouseGetPos, x, y
mgx:=x-145
mgy:=y-105
Gui Show, x%mgx% y%mgy%
;Sleep 3000
;gui, hide
return

mbutton & rbutton::


WinGet, id, list,,, Program Manager
Loop, %id%
{
StringTrimRight, this_id, id%a_index%, 0
WinGetTitle, title, ahk_id %this_id%
WinGetClass, class, ahk_id %this_id%
WinHide, ahk_id %this_id%
HWins = %HWins%||%this_id%
}
run, notepad.exe c:\program files\autohotkey\scripts\script.txt
Return

Lshift & mbutton::


Loop, Parse, HWins, ||
WinShow, ahk_id %A_LoopField%
Return

Lctrl & rbutton::Alttab


return

Back to top

Learning one Posted: Sun Jan 03, 2010 11:28 pm Post subject:

N ic e!
Joined: 04 Apr 2009
Posts: 293
Location: Croatia Y ou ins pired me to:
1 . c reate new radial menu mutant ( s o many s olutions , and I c an't jus t s tic k to one to
the end... well, that's development - s earc hing for bes t s olution )
2 . remind people on one thing; I f your attitude is : Radial menus are nice, but I really need
submenus, and I can't wait until s omeone creates radial s ubmenus ,
do a compromise; c reate your main menu in radial form, and c onfigure it that s elec ting
one (or a few) items opens c las s ic drop-down menu (as a submenu).
(For RM v3 .1 5 us ers : you c an define drop- down s ubmenu in M y s ubroutines .ahk) T ip: I f
you want ic ons in your drop- down s ubmenu, us e M ajkinetor's M M enu.

EDIT 5.1.2009. - good news


Radial menu v3.16 is finished! I'm currently writing a help file.
The most important improvements are: SUBMENUS! (in radial form, of
course)
They are more useful then I thought. In fact, I can't believe how fast&easy I
can give orders to my computer with RM v3.16!
I'll release the code when I finish a help file, and some negotiations are
done.
Back to top

Bebert Posted: Fri Jan 08, 2010 9:13 am Post subject:

@ L earning one thanks it's a great s c ript, works very well in Win 7 x6 4 .
Joined: 08 Jun 2009
Posts: 24
Q : where is the delay s etting to dis play the menu longer?

thanks

Back to top

Alaskatu Posted: Fri Jan 08, 2010 2:42 pm Post subject:


Guest

T hanks for all the good work, the lern one! ! !


I am exited to s ee our improviments by v.3 .1 6
T hanks ,
A las katu
Back to top

pdiddy Posted: Sat Jan 09, 2010 8:31 am Post subject: awesome
Guest

progas m!

T his is awes ome.. it's very nearly replac ed roc ketdoc k for me(2 years of faithful us e).
Following this forum thread daily now. this is as high prais e as a portable app dork c an
offer.

i have one reques t: working folder s upport. Right now all exec utables are launc hed from
the c ontext of the autohotkey.exe folder. M os t launc her programs have/need the ability
to s pec ify the working direc tory s o that if the program is looking for loc al files (ini's ,
dll's ) it does n't have to look in the P A T H . T his is a major key to portable applic ation
func tion. pleas e pleas e pleas e look into this .

you've c hanged my life with this s c ript.. muc h love...

P ortable P aul

Back to top

trik.us Posted: Sat Jan 09, 2010 10:54 am Post subject:


Guest

Bravo, s ir! Bravo!

Back to top

Learning one Posted: Sat Jan 09, 2010 9:46 pm Post subject:

@A ll
Joined: 04 Apr 2009 T hank you all for kind words , enc ouragement, s ugges tions !
Posts: 293
Location: Croatia
I think I 'll be able to releas e RM v3 .1 6 in about next 4 days .
I s ugges t everyone to try it - I think you will not regret it.

Just t o prepare you f or RM v3.16:


- RM v3 .1 6 evolved very muc h c ompared to v3 .1 5
- s ubmenus
- s kin c hanger
- 3 built in s kins
- up to 3 9 items in main menu
- up to 1 9 items per s ubmenu
- up to total 9 5 items in main menu + all s ubmenus
- help file
- pos s ibility to s et c us tom s ubroutine for every item
- c an c ontrol any other s c ript by s ending WM _C O P Y D A T A to it
- c an rec eive WM _C O P Y D A T A from other s c ripts
- automatic s hortc ut c reation
- more general s ettings ; A utoSubmenuM arking, RM P roc es s P riority...

RM v3.16 is a powerful hotkey and launcher, packed in ergonomic and nice looking interface.
RM v3 .1 6 c an be c us tomized a lot. J us t to be c lear, it will take s ome time until you
dis c over how to s et it up and explore all pos s ibilities . So be patient!
I t's like A utoH otKey its elf, you firs t have to learn s ome princ iples , and than you c an
us e/c us tmize it.
L earn from help file and from .ini files . For example; 1 ) open RM s ettings .ini 2 ) s how
your menu and 3 ) c ompare what is written in .ini file and what you s ee in your menu.

* * *

@Bebert
Bebert wrote:

where is the delay setting to display the menu longer?

T here is no s uc h s etting in RM v3 +. I t works on "releas e to s elec t" princ iple; it is


dis played only when your RM ShowH otkey is down.
I f want to dis play the menu longer you c an us e Simple radial menu (s ee firs t pos t in this
topic ) Simple radial menu works on "left c lic k to s elec t" princ iple - when you pres s and
releas e menu s how hotkey it is dis played until you: 1 ) c lic k on item or 2 ) c lic k on c los e
menu button. I pres onally us e reworked Simple radial menu as always on top toolbar.

@pdiddy
Y our working folder reques t is put on "to do lis t" for RM v3 .1 7 . A lthough it is n't not hard
to do that, I c urrently don't have time to implant and tes t this improvement for RM
v3 .1 6

pdiddy wrote:

it's very nearly replaced rocketdock for me

A s Roc ketdoc k is planetary popular, I mus t s ay: Wow, what a c ompliment! T hanks ! I 'm
s ure you will like RM v3 .1 6 when you get us ed to it.

Last edited by Learning one on Mon Jan 11, 2010 12:56 pm; edited 1 time in total

Back to top

kli6891 Posted: Sun Jan 10, 2010 5:33 am Post subject:

C an you make a vers ion that will ac tivate onc e when the s c ript exec utes and quits ?
Joined: 01 Aug 2009
Posts: 43
T his makes it eas y to us e it with other right c lic k programs .

T hanks .

Back to top

Learning one Posted: Sun Jan 10, 2010 9:13 pm Post subject:

@kli6891
Joined: 04 Apr 2009 RM is not right c lic k program, it's jus t default s etting in RM s ettings .ini
Posts: 293
Location: Croatia
Text from RM v3.16 help file: (s till not releas ed):
RMShowHot key. (Radial menu s how hotkey) Button that s hows RM 's main menu after
you pres s ed&holded it for % ShowD elay% milis ec onds .
I t's Rbutton by default. H otkey c ombinations are not allowed. I t c an be any other
mous e key, not jus t Rbutton.
E xamples :
RM ShowH otkey = M button
RM ShowH otkey = Xbutton1

Back to top

Learning one Posted: Tue Jan 12, 2010 1:16 pm Post subject:

E D I T : updated 1 9 .1 .2 0 1 0 .
Joined: 04 Apr 2009
Posts: 293
Location: Croatia Learning one proudly pres ents you:

Radial menu v3.16


Descript ion. T his s c ript s hows radial menu around your mous e pointer when you pres s &
hold s pec ified button (RButton by default) for s pec ified amount of time
(2 2 0 milis ec onds by default). Releas e RButton above s ubitem to s elec t it, or anywhere
els e to hide menu.
I tem that has its own s ubmenu is marked with two tiny s tars near the top of the button.
C lic k it with L Button (by default) to s how its s ubmenu.
Releas e RButton above s ubitem to s elec t it, or anywhere els e to hide s ubmenu and
main menu. C lic k with L Button in the c enter of s howed s ubmenu to c los e it.
N ote that Radial menu is dis played only while your hotkey is down (RButton by default)
Y ou c an c us tomize Radial menu to fit your needs by editing .ini files . Read help file!

Radial menu is a fas t and s imple method of giving c ommands to your c omputer. I t's a
powerful hotkey and launc her, pac ked in ergonomic and nic e looking interfac e.

What 's new in RM v3.16 compared to RM v3.15? T hat's a long lis t, but mos t important
improvements are mentioned few pos ts above.

Legal st uf f . Sorry for all that legal s tuff in RM . I 'm a lawyer, and I 'm taught to ac t like
that.
H owever, I hope that you will obey lic enc e/authors hip terms , and ac t like moral pers on
in general
not bec aus e you fear me as a lawyer, but bec aus e you res pec t my hard work and
dec is ion to s hare it with c ommunity.

Current RM set up RM v3 .1 6 c an be s et up on s o many different ways . I was thinking a


lot how to pres etnt it to you.
C urrent RM s etup is jus t s ugges tion how it s hould it be s et up. Y ou have total freedom
to c hange it. N ote that the Windows explorer
is only item in main menu that launc hes s omething (Windows explorer) and opens
s ubmenu Folders . A ll other items in main menu don't launc h anything,
they jus t open theirs s ubmenus bec aus e I really c an't know what's your favorite file/app
/s c ript and where it's loc ated...

Current skin that you s ee is O bs idian. T ry other s kins ; M etal plate, F unky s tar or Fres h
green. I 'm not a des ign expert, but I c reated all 4 s kins in the bes t of
my knowledge. T here is a Change s kin item in MenuControl s ubmenu. Selec t it to launc h
Skin c hanger.
I enc ourage everyone to c reate and s hare new s kin but you mus t read s ome important
things about it in help file.

Sounds are not perfec t. Sound on Show/H ide s ubmenu is not implemented yet.
Help f ile is not totally finis hed but is us eful. S tudy it, and follow ins truc tions /referenc es
in it before you as k ques tions .

„Why there a re so ma ny setti ngs? I t's too compl i ca ted.“ When I was writing this
s c ript, I wanted to c reate a program that
c an be c us tomized a lot. I 'm c ons idering all thos e s ettings as ric hnes s of the program,
not as unnec es s ary c omplic ation! E xperienc ed c oders know
that it is muc h s impler to c reate fixed, unc hangeable program, whic h c an't be
c us tomized a lot. S ome people might get c onfus ed when they s ee
s o many pos s ibilities , and think; „That's too complicated for me, forget it“. T hat's totally
wrong attitude.
H ere is the c atc h; jus t c hange bas ic things , and leave all other s ettings as they are.
I n more than 9 5 % of c as es you will only have to c hange jus t 2 things :
1 . item's name or ic on
2 . item's ac tion
and that's it! I think it c an't be s impler.
So, onc e again, if you jus t s tarted us ing RM , jus t c hange bas ic things , and ignore all
other. Read help file!

Download Radial menu v3.16


I f you like it or have s ome s ugges tions , pos t reply.

Last edited by Learning one on Tue Jan 19, 2010 7:58 pm; edited 1 time in total

Back to top

gongchao6330 Posted: Tue Jan 12, 2010 2:09 pm Post subject:

G reat job!
Joined: 25 Mar 2009 I have tried it, works well!
Posts: 16
A nd I have one s ugges tions , is it pos s ible to s how the s ubmenu automatic ally when
RButton is on it. When the RButton leaves the domain of the button, the s ubmenu hides
automatic ally. I have try to c hange RSM ShowH otkey =RButton, but it does 't works .

Back to top

TomXIII Posted: Tue Jan 12, 2010 2:23 pm Post subject:

H i everyone!
Joined: 14 Apr 2009 @ Learning one : I 'm really happy to have given you s ome important lines of c ode
Posts: 99
es pec ially when I s ee the evolution of this great work!
I have jus t one ques tion : Why items that c ontain s ubs c an be launc hed when the
RButton is releas ed? !

Back to top

Learning one Posted: Wed Jan 13, 2010 2:11 am Post subject:

T hanks !
Joined: 04 Apr 2009
Posts: 293
Location: Croatia
@gongchao6330
Quote:

is it possible to show the submenu automatically when RButton is on it

N o, it's not des igned to ac t like that. But I c an do this without problem, by modifying the
c ode.
I almos t c oded it to ac t like that, but in the las t moment I dec ided not to do this
bec aus e in that c as e, you would
be limited to jus t one ring in main menu. I like multiple rings in main menu. M y private
s etup is 2 rings in main menu with s eparators in s ec ond ring.
H ere's one pic ture I pos ted before in the early s tage of developing s ubmenus . Read the
bottom http://www.autohotkey.net/~L earning% 2 0 one/Radial% 2 0 M enu
/Radial% 2 0 lab1 .png

Quote:

I have try to change RSMShowHotkey =RButton, but it does't works.

H elp file s ays : RM ShowH otkey and RSM ShowH otkey c an not have the s ame hotkey.
But O K, I unders tand that you tried to ac hieve s howing s ubmenu automatic ally when
RButton is on it - no, it does not work in that way.

@TomXIII
Quote:

I'm really happy to have given you some important lines of code especially when I see the
evolution of this great work!

T omXI I I , thank you onc e again! Y ou really ac c elerated my res earc h and s uc c es s by
s howing me s ome of your ready s olutions !
Quote:

Why items that contain subs can be launched when the RButton is released?!

(I gues s that when you s ay s ubs , you mean s ubmenu, not c us tom s ubroutine and I 'll
ans wer in that pers uas ion...)
I 'm c ons idering that as a great thing! I tem that has its own s ubmenu s hould launc h
s omething that you are us ing mos t often from its s ubmenu.
For example, M enu c ontrol item in main menu may launc h s ettings or s kin c hanger if
you are us ing this mos t often among all other items in M enu c ontrol s ubmenu...
C omp c ontrol item in main menu may launc h hibernate if you are us ing this mos t often
among all other items in C omp c ontrol s ubmenu... and s o on...

By the way, any news on L aunc hI t?

Back to top

TomXIII Posted: Wed Jan 13, 2010 9:46 am Post subject:

Quote:
Joined: 14 Apr 2009
Item that has its own submenu should launch something that you are using most often from
Posts: 99
its submenu.

G reeaat idea! ! !

@ Learning one :
Sinc e D ec ember 1 5 th, I have "exams " (/tes ts ? ! ) for a diploma and I have pas s all my
time to revis e. I t ends this week and this week- end I s hall be finally free. F or L aunc hI t,
I think to rearrange s ome func tions and s ome objec tives or may be an other program
bas ed on L aunc hI t... I don't know yet!

Back to top
Learning one Posted: Wed Jan 13, 2010 8:17 pm Post subject:

@TomXIII: good luc k with the res t of exams


Joined: 04 Apr 2009
Posts: 293
Location: Croatia

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 6, 7, 8 ... 16, 17, 18 Next
Page 7 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 7, 8, 9 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

kli6891 Posted: Thu Jan 14, 2010 12:04 am Post subject:

A nyway to modify this s o it does n't interfere with right drag func tionality? (C hanging the
Joined: 01 Aug 2009 hotkey to another key is undes irable for me)
Posts: 43

T hanks .

Back to top

Portable Paul Posted: Thu Jan 14, 2010 5:49 am Post subject: same question.
Guest

I 've been playing with that too. autohotkey has s ome problems like with lis tening on
c ertain keys . T his may be an A H K is s ue not a RadialM enu problem.

Back to top

Learning one Posted: Thu Jan 14, 2010 8:54 pm Post subject:

Joined: 04 Apr 2009


Posts: 293 Radial menu help file wrote:
Location: Croatia
Troubleshooting - Hotkeys don't work.
Collision with other running scripts and/or programs is possible. Simply change your hotkeys.

RMShowHot key (Radial menu s how hotkey) c an be:


- RButton
- M Button
- XButton1
- XButton2
- L Button

I f you don't want to us e RButton due to c ollis ion with other running s c ripts and/or
programs
and c hanging the hotkey to another key is undes irable for you
than you c an't us e Radial menu.

What do you mean when you s ay right dra g functionality?


D o you have s ome mous e ges tures program that us es RButton?

Radial menu main c ode c an be modified in the way that RM s hows on s ome mous e
ges ture...

Back to top

Elesar Posted: Fri Jan 15, 2010 1:07 am Post subject:

M y bigges t "right drag" func tionality is 3 D games and applic ations s uc h as Blender3 D ,
Joined: 28 Jun 2007 where you us e a c ombination of mous e c lic ks to move your viewport.
Posts: 327

For my is s ue, a program exc lus ion s etting would work great. T his would s imply allow
you to add programs that RM would not ac tivate ins ide of.

I like having RM running all of the time, but if I am in a game and forget to turn it off, I
s uddenly have my game minimize when I try to operate the c amera.

BT W, my s ettings s c ript is on hold until further notic e, as I am s tarting to work 1 2 hour


s hifts again next month, and RM is evolving too fas t for me to keep up with (whic h is a
good thing )

Back to top

kli6891 Posted: Fri Jan 15, 2010 4:12 am Post subject:

Learning one wrote:


Joined: 01 Aug 2009
Posts: 43 Radial menu help file wrote:

Troubleshooting - Hotkeys don't work.


Collision with other running scripts and/or programs is possible. Simply change your
hotkeys.

RMShowHot key (Radial menu s how hotkey) c an be:


- RButton
- M Button
- XButton1
- XButton2
- L Button
I f you don't want to us e RButton due to c ollis ion with other running s c ripts
and/or programs
and c hanging the hotkey to another key is undes irable for you
than you c an't us e Radial menu.

What do you mean when you s ay right dra g functionality?


D o you have s ome mous e ges tures program that us es RButton?

Radial menu main c ode c an be modified in the way that RM s hows on s ome
mous e ges ture...

Y es , I am trying to get this to work with StrokeI t. I t would be s weet if this s c ript c an be
us ed w/o interfering with that.

Back to top

Learning one Posted: Fri Jan 15, 2010 3:17 pm Post subject:

Sorry, I 'm really not motivated to find a way how to us e Radial menu and StrokeI t in the
Joined: 04 Apr 2009 s ame time with the s ame hotkey - RB utton.
Posts: 293
Location: Croatia I wrote my own mous e ges tures s c ript that is n't in c ollis ion with Radial menu...

A ll I c an do for you is to s ugges t you to c hange your RM ShowH otkey...


I f you don't have X Button1 or XButton2 this may be a nic e c ombination for you:
RMShowHotkey = MButton
ShowDelay = 220
RSMShowHotkey = RButton

Elesar wrote:

My biggest "right drag" functionality is 3D games and applications such as Blender3D, where
you use a combination of mouse clicks to move your viewport.
For my issue, a program exclusion setting would work great. This would simply allow you to
add programs that RM would not activate inside of. I like having RM running all of the time,
but if I am in a game and forget to turn it off, I suddenly have my game minimize when I try
to operate the camera.

Radial menu can be modif ied to become context sensitive program


Replac e line 649 in Radial menu v3 .1 6 .ahk with this (jus t E XA M P L E )
Code:

; EXAMPLE - Radial menu is disabled if Paint or Notepad are active windows.


; if this is useful, I'll probably allow user to make BlackList.txt and
implant it here by FileRead or FileReadLine
; or just #Include *i BlackList.ahk - this is probably the best solution -
gives more freedom
GroupAdd, BlackList, ahk_class MSPaintApp ; Paint
GroupAdd, BlackList, ahk_class Notepad ; Notepad

Hotkey, IfWinNotActive, ahk_group BlackList


Hotkey, %RMShowHotkey%, RMShowHotkey
Hotkey, IfWinNotActive

By the way, here is one c us tom s ubroutine that I 'm us ing.


I t toggles sounds on/of f without reloading RM and I niWrite. I n this example, it's
as s oc iated to I tem1 0 in M enuC ontrol s ubmenu.
Read Radial menu help file before you as k ques tions about it!
Code:

MenuControl10() { ; Sounds on/off


Global
if Sounds = 1 ; turn off sounds
{
SoundOnShow =
SoundOnHover =
SoundOnSelect =
SoundOnHide =
Sounds =
}
Else ; turn on sounds
{
IniRead, SoundOnShow, %A_ScriptDir%\RM settings.ini, General, SoundOnShow
IniRead, SoundOnHover, %A_ScriptDir%\RM settings.ini, General,
SoundOnHover
IniRead, SoundOnSelect, %A_ScriptDir%\RM settings.ini, General,
SoundOnSelect
IniRead, SoundOnHide, %A_ScriptDir%\RM settings.ini, General, SoundOnHide
Sounds = 1
}
}

Back to top

Learning one Posted: Mon Jan 18, 2010 2:25 am Post subject:

Joined: 04 Apr 2009


Posts: 293
Location: Croatia

Back to top

portable paul Posted: Mon Jan 18, 2010 7:34 am Post subject: WANT!
Guest

obs idian s kin?

holy hotnes s batman... gimme gimme gimme! ! !

Back to top
Learning one Posted: Mon Jan 18, 2010 8:28 pm Post subject:

Quote:
Joined: 04 Apr 2009
holy hotness batman... gimme gimme gimme!!!
Posts: 293
Location: Croatia

O h, Batman reques ted one c us tom radial menu s o he c an quic kly c hoos e his vehic le...
H ere's what A lfred and mys elf made for him;

To derive this skin from Obsidian skin (still not released), don't use icons and set;
TextColor = 000000
TextTrans = FF
ShadowColor = 686868
for a finishing touch you can put batman logo in the middle of MenuBackground...

Back to top

netfun81 Posted: Mon Jan 18, 2010 9:16 pm Post subject:

lol @ L earning one


Joined: 28 Oct 2006
Posts: 58
you s hould add that s kin to the next releas e. Skins look great in 3 .1 6 !

Back to top

jps Posted: Tue Jan 19, 2010 1:32 pm Post subject:

Wow, this thing looks c ool.


Joined: 02 Sep 2006
Posts: 269
Location: Scotland T hanks for taking the time to make it.

Back to top

Learning one Posted: Tue Jan 19, 2010 7:52 pm Post subject:

RM v3.16 package updated! - download it again.


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Changes:
- improved automatic text&s hadow plac ement - now it's almos t impos s ible that text
and s hadow in button don't matc h
- ShadowO ffs et limited to 2 max
- new s kin: O bs idian
- partially updated RM help file
- pos s ibility to temporary dis able Radial menu while c ertain windows are ac tive - s ee
Blac k lis t in RM help file
- pos s ibility to us e multi line tooltips ; `n
- Sounds on/off button in M enuC ontrol s ubmenu - quic kly toggles s ounds .
- s ome other c hanges in c odes

Bat skin. (3 pos ts above) T o derive Bats kin from O bs idian s kin, s et (c hange):
T extC olor = 0 0 0 0 0 0
T extT rans = FF
ShadowC olor = 6 8 6 8 6 8
don't us e ic ons unles s they are mainly blac k
for a finis hing touc h you c an put batman logo in the middle of M enuBac kground...

Back to top

portable paul Posted: Wed Jan 20, 2010 3:18 am Post subject: niiiiiiiiiiiiiiiiiiiiiiiiiiiice
Guest

love it, very s lic k... thanks ! ! ! [/img]

Back to top

Learning one Posted: Wed Jan 27, 2010 10:06 am Post subject:

T hank you, all.


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Sound mixing is finally s olved in RM v3.17! E xc ellent quality, fas t res pons e, very low
C P U us age! D oes not us e any .dll- s or func tion libraries .

RM v3 .1 7 c an play (and mix):


- SoundO nShow
- SoundO nH over
- SoundO nSelec t
- SoundO nH ide
- SoundO nSubShow (s ound on s ubmenu s how)
- SoundO nSubH ide (s ound on s ubmenu hide)

O f c ours e, you'll be able to dis able all or jus t s pec ific s ounds and c hange them, if RM
will s ound to you too muc h like s ome s pac es hip launc her...

With Sound mixing tec hnology in RM v3 .1 7 it will als o be eas y to play random s ounds
on eac h event. For example, when menu s hows up, you c ould hear human voic e s aying:
Hello or Hi or What do you want?... T hat would give you impres s ion that you are really
dealing with live A I . But I 'll not implement thos e random human voic es yet. I 'm not
native E nglis h/A meric an s peaker, s o hearing me s aying What do you want? would s ound
bad.

Back to top

Maxmax14 Posted: Wed Jan 27, 2010 7:32 pm Post subject: RADIAL MENU scripts

Joined: 30 Mar 2008


Posts: 21 H ello L earning O ne,
Location: France 14

D o you know Radian launc her ? : s ee Web addres s below :


Requirements .N E T Framework 3

http://www.s napfiles .c om/get/radian.html


or
http://www.nirmaltv.c om/2 0 0 9 /1 1 /0 7 /radian- is - another- us eful- applic ation- launc her/

Y ou s hould find s ome good ideas es pac ially for s etup

M axM ax1 4

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 7, 8, 9 ... 16, 17, 18 Next
Page 8 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roon

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 8, 9, 10 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

Author Message

Learning one Posted: Wed Jan 27, 2010 9:36 pm Post subject:

Y es , and here are s ome more;


Joined: 04 Apr 2009 C irc ledoc k
Posts: 293
Location: Croatia Radian
Sapiens
C irc ular applic ation menu
Radial Q uic ks ilver M enu

M y RadialM enu lac ks eas y drag&drop c us tomization, I never have enough time (and motivation) to d
.ini files is n't us er friendly.
But I like s ubmenus , c us tom s ubroutines , s ounds , releas e to s elec t method, pos s ibility to us e text i
pos s ibilities in my RM .
I mus t admit that I 'm uns ure s hould I c ontinue development.
I think that I 'll c ompletely rewrote it one day and us e Radial menu "mg" method

A nyway;

Back to top

Learning one Posted: Fri Jan 29, 2010 2:39 pm Post subject:

Joined: 04 Apr 2009


Radial menu v3.17 released
Posts: 293
Location: Croatia Most important changes/improvements:
- Sound mixing
- SecondRingRadius- new .ini key in general s ec tion. C hanges radius of the s ec ond ring. Before Radia
to 3 . T his is us eful if you want
to minimize your mous e movement. C an be 0 , 1 , 2 , 3 . I f blank or anything els e, 1 (default) applies . 0
means big radius . D oes not affec t on firs t ring.
Radius of the third ring in main menu is automatic ally adjus ted ac c ording to s ec ond ring's radius . E x
below.

Ot her changes/improvements:
New .ini keys in general section - now you can customize RM graphical interface and sounds very much. Trans means tran
- ButtonTrans
- ButtonForeground
- ButtonForegroundTrans
- IconTrans
- SoundOnSubShow
- SoundOnSubHide

Download Radial menu v3.17


@Port able Paul I 'm not s ure I unders tood your working folder reques t c orrec tly, s o I didn't implemen
P .S. I 'll be offline in next few days .

Back to top

Elesar Posted: Fri Jan 29, 2010 6:49 pm Post subject:

Learning one wrote:


Joined: 28 Jun 2007
@Portable Paul I'm not sure I understood your working folder request correctly, so I didn't implement it. If you
Posts: 327

I 'm thinking that it has to do with the run c ommand.

I f you try to launc h c ertain applic ations with RM (or the run c ommand in general) and do not s pec ify
to run bec aus e it is mis s ing dependenc ies that are in its native direc tory, as oppos ed to the s c ript's
launc hed from by default.

T his is relevant to the third parameter of Run

A temporary workaround is to c reak a .lnk to your des ired app and s et that in RM , but if RM ran from
it would be more us er- friendly I think.

O ne of my s c ripts at work us es a method to pars e out the native direc tory by doing a StringS plit deli
name from the res t of the original s tring. (I don't have that partic ular s c ript at home or I would pos t i

Back to top

tic Posted: Sat Jan 30, 2010 12:39 pm Post subject:

Elesar:
Joined: 22 Apr 2007
Posts: 1498
Code:

SplitPath, FilePath,, FileFolder


Run, %FilePath%, %FileFolder%

Learning one:
I notic e you c reate a few matric es to draw items with a trans parenc y. Y ou dont need to do this . I f yo
parameter, then it will automatic ally c ons truc t a matrix with that as the trans parenc y when drawing

Back to top

Portable Paul Posted: Mon Feb 01, 2010 6:03 am Post subject: working folder request.
Guest

the above is c orrec t, i'll try to explain why this is a problem. Spec ific ally portable programs us e/need
folder as the exec utable. if you open your A H K folder and launc h program.exe it will look in the 'work
s ettings . I f i made a link to program.exe ins ide of RM s ettings .ini and launc hed it from RM it would no
applic ation in RM S ettings as if it were in the autohotkey folder s o it would only find program.ini if it w
look for a file in the 'working folder' firs t and then into the path. I ns talled programs put their folders i
s o s tuff like Word or I E won't have a problem. P ortable apps will have a problem s inc e they don't s ho
environment variable.
I f you c ould add an extra line to the RM s ettings file for s etting the working folder to run with the c om
really is a s lic k program. I 'm hoping to write about it s oon.

Back to top

Portable Paul Posted: Mon Feb 01, 2010 6:10 am Post subject: in conclusion
Guest

L ong s tory s hort. E very program run from RM runs as if it is running ins ide of the A H K folder.

I t's like c opying the exec utable program.exe into the A H K folder and running it there. program.exe h
even tho the files are in the s ame folder as the exec utable.

T he working folder param is what gives program.exe the loc ation of it's home folder.

I t's c ounter- intuitive s inc e we're us ed to c lic king things in folders and windows shortcuts get this pa
any work by us . I t's going on in the bac kground.

Sorry for overs implifying this . Wanted to make s ure i made mys elf c lear. H ope you enjoy the nod in t

Back to top

Xion Posted: Mon Feb 01, 2010 8:09 am Post subject: (My thoughts on) RM, The Universe, and Everything
Guest

I 've been playing around with RM 3 .1 7 for a few hours , and have had muc h fun getting it to do what I
T he only kinda odd thing I 've found is that if you pres s either XButton1 or X Button2 , in the main and
than that (and that's not even a real is s ue as far as I c an tell), this is pure genius .
Keep up the great work; I 'll be c hec king for updates regularly!

Back to top

Portable Paul Posted: Tue Feb 02, 2010 8:27 am Post subject: nod
Guest

http://www.everythingus b.c om/ibin- 1 8 4 4 2 .html

Back to top

tomoe_uehara Posted: Tue Feb 02, 2010 4:45 pm Post subject:

H mm.. When I s tarted the s c ript there's nothing happened, s o I c lic k on the traymenu>Settings , and
Joined: 05 Sep 2009 Code:
Posts: 409
Location: Somewhere near
you
Error: Failed attempt to launch program or document.
Action: <D:\unzipped\Radial menu v3.17\RM settings.ini>
Params: <>

Specifically: The system cannot find the file specified.


Line#
...
1320: Reload
1321: Return
1325: Run,%A_ScriptDir%\RM settings.ini ; <-----
1326: Return
...

_________________

- [ J oin us at the I RC ]-

Back to top

Learning one Posted: Wed Feb 03, 2010 3:19 pm Post subject:

H ello guys & girls , I 'm online again!


Joined: 04 Apr 2009
Posts: 293
Location: Croatia T hanks for explanations /reports /s ugges tions /c ompliments + thanks P ortable P aul for the nod in the

Ok, I'll sort last issues out:


1 . Working folder reques t
2 . T rans parenc y matrix
3 . D is appearing ic ons
4 . T omoe_uehara's problem

I want that everyone who feels c ompetent enough partic ipate in s olving is s ues 1 . and 4 .
RM us er to RM us er s upport is always more than a welc ome!

1. Working f older request @ A ll


O k, I unders tand it perfec tly now, but I mus t s ay that my experienc e on this is s ue is abs olute 0 . I d
s tuff
when launc hing my apps via RM ... So I 'll try to s olve it blindfolded, guided only by your s ugges tions .
D o you want me to:
a. program RM in a way that when target has .exe extens ion, RM automatic ally launc hes it from its (.
b. add new WorkingFolder s etting for every item?
c . add new s etting in general s ec tion where you c an s pec ify that files with c ertain extens ion are auto
d. add pos s ibility to s pec ify wd parameter (wd like working direc tory) in ac tion key whic h means laun
Action= wd C:\Mydir\MyApp.exe
e. s omething els e?

2. Transparency mat rix @ T ic


I f I jus t s pec ify a trans parenc y as the M atrix parameter, images that c ontain s emi- trans parent pixe
s ome
dis tortion in dis playing pixels that are s emi- trans parent in original image. T ry this tes t;
Code:

; Replace line 687 in Radial menu v3.17:


Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX*2, 0,
IconTransMatrix)
; with this one:
Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX*2, 0,

I s there s omething wrong with your G dip.ahk c onc ept or I 'm unders tanding s omething wrong?

A nd one more thing about matrix, I was thinking to allow us er to adjus t hue/s aturation/brightnes s /tr
by RM .
So us er will be able to adjus t it like in s ome image editor, but without c hanging original image. A ls o m
hue/s aturation/brightnes s /trans parenc y c hanges ... But this idea is probably unnec es s ary - RM is no
(but this c an be done, and is n't too hard to do this )

3. Disappearing icons @ Xion


T his happens bec aus e when you pres s XButton1 or XButton2 (or L Button in s ome s etups ), you are s
window.
RM ic ons (c orrec t term: buttons or items ) and bac kgrounds are layered windows . T hat c an be ac tiva
So, when you ac tivate bac kground - window it will be brought to front, above ic on - windows , and that
I c an c hange the RM c ode and order s omething like; if RM is s hown and s omeone c lic ks on RM bac k
but this may c aus e c ollis ion with other running programs /s c ripts , s o it's better to leave it as is . So s

4. Tomoe_uehara's problem @ A ll
I ran RM probably more than 1 0 0 0 times , and never experienc ed s omething like this .
I f "The s ys tem cannot find the file s pecified" and run parameter is "%A_ScriptDir%\RM s ettings .ini", ma
RM s ettings .ini are not in the s ame direc tory... Y ou mus t not c hange loc ation of any file in RM pac ka
Radial menu v3 .1 7 .ahk is not independent s c ript, it us es a plenty of files and ac c es s ory s c ripts loc a

So try to unzip Radial menu v3 .1 7 .rar onc e again, and without moving any file in pac kage, run Radial
A fter you run RM s uc c es s fully (and agree on lic enc e) RM will c reate a s hortc ut to its elf in % A _Sc rip
anywhere you wis h.
Report is your problem s olved.
D oes anyone els e have idea what els e c ould c aus e T omoe_uehara's problem?

Last edited by Learning one on Thu Feb 04, 2010 12:16 am; edited 1 time in total

Back to top

tic Posted: Wed Feb 03, 2010 5:34 pm Post subject:

Learning one wrote:


Joined: 22 Apr 2007
Posts: 1498

2. Transparency matrix @Tic


If I just specify a transparency as the Matrix parameter, images that contain semi-transparent pixels are not disp
distortion in displaying pixels that are semi-transparent in original image. Try this test;
Code:

; Replace line 687 in Radial menu v3.17:


Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX
IconHeight, IconTransMatrix)

; with this one:


Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-CurISX
IconHeight, 111)

I s there s omething wrong with your G dip.ahk c onc ept or I 'm unders tanding s omething wrong

A nd one more thing about matrix, I was thinking to allow us er to adjus t hue/s aturation/brigh
interfac e direc tly by RM .
So us er will be able to adjus t it like in s ome image editor, but without c hanging original imag
"s urpris e me"
hue/s aturation/brightnes s /trans parenc y c hanges ... But this idea is probably unnec es s ary - R
image editor
(but this c an be done, and is n't too hard to do this )

A ha you pas s the trans parenc y as a value between 0 and 1 as the matrix parameter if you only wa
hehe

Back to top

tomoe_uehara Posted: Wed Feb 03, 2010 6:33 pm Post subject:

Well I have re- unrar the rar file to a folder and run the ahk. T here's nothing s hows , s o I jus t right c lic
Joined: 05 Sep 2009 c loc k), and c hoos e 's ettings '. But the error mes s age appeared again. M aybe Radial M enu have a lim
Posts: 409
Location: Somewhere near Win XP and above.
you _________________

- [ J oin us at the I RC ]-

Back to top

Learning one Posted: Wed Feb 03, 2010 8:45 pm Post subject:

@Tic O ops , I get it. M y fault. I 'm us ed to values between 0 - 2 5 5 not 0 - 1 . A nyway, I think I 'll leav
Joined: 04 Apr 2009 them - they are really c ool s tuff.
Posts: 293
Location: Croatia
@t omoe_uehara
Quote:

Maybe Radial Menu have a limitation with my OS, maybe it just works for Win XP and above.

Y es , maybe this is a problem. I 'm running Radial menu on Win XP , and it works perfec tly. Bebert repo
What's your O S?

Back to top

tomoe_uehara Posted: Wed Feb 03, 2010 8:54 pm Post subject:

I us e Win M E .
Joined: 05 Sep 2009 _________________
Posts: 409
Location: Somewhere near
you

- [ J oin us at the I RC ]-

Back to top

Elesar Posted: Thu Feb 04, 2010 12:57 am Post subject:

I think that option A (automatic working dir s et for exes ) would be bes t, but that is jus t in my experie
Joined: 28 Jun 2007 than an exe that generated that error.
Posts: 327

For a referenc e, T ry to launc h D warf Fortres s via RM . I t will c reate a log file in the RM direc tory, as k
throw an error about not finding its dependenc y files .

N ote:
I am not as s oc iated with the D F s ite at all, I m jus t addic ted to the game, and know that it is one exa

@ tomoe- c han:
I hate to s ay it, but you are in des perate need of an O S upgrade. M ic ros oft dis owned that O S years a
would s how worlds of improvement in us ability and s tability.

O ther than that, s inc e your O S is s o old, ac c ording to tic 's G D I + thread you will need gdiplus .dll, as

A s for the not finding the I N I file, try c hanging it to:


Code:

Run, open %A_ScriptDir%\RM settings.ini

I may have an M E dis k hiding around s omewhere, I ll look when I get home tonight and if I have one I
is s ue / find a s olution.

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & Functions


Goto page
Page 9 of 18
Watch this topic for replies

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 9, 10, 11 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

XionII Posted: Thu Feb 04, 2010 1:00 am Post subject:

(Xion s peaking)
Joined: 01 Feb 2010 A h, that makes s ens e. A s I s aid before, it's not really an is s ue
Posts: 6
Location: California, USA
H ere's how I have it s et up now, it's really c ool. E ventually I want to make it replac e the
T as kbar altogether. e.g. when you c lic k the c enter windows button, the s tart menu
s hows up right there, have a c loc k G U I that s tic ks to the desktop, have all running
applic ations s how up in a wide c irc le around the menu, and perhaps s ome other things .
Well, it's jus t a dream for now, but without your s uperb s c ript, it wouldn't even be a
dream
Y ou have ins pired me, and for that, I thank you.

P .S. if anyone wants to help me make the above mentioned things a reality, I will be
very happy

Back to top

tomoe_uehara Posted: Thu Feb 04, 2010 6:53 am Post subject:

Elesar-kun wrote:
Joined: 05 Sep 2009
Try to change the line to: Run,%A_ScriptDir%\RM settings.ini
Posts: 409
Location: Somewhere near And Get tic's GDI+.dll
you

Well, after I c hange the line, I get this error mes s age
Code:

Error: Failed attempt to launch program or document.


Action: <open>
Verb: <open>
Params: <D:\unzipped\Radial Menu v3.17\RM settings.ini>
Specifically: The system cannot find the file specified

C an s omeone tell me what the line do? M aybe I c ould try to edit it to work for my O S.
A nd where to s ave tic 's G D I .dll?

I c hange the line to:


Code:

RMSettings:
Run, %A_WinDir%\notepad.exe %A_ScriptDir%\RM settings.ini
Return
A nd it works . A FA I K the run c ommand is n't too flexible in Win M E , s o I have to s pec ify
the program manually.
But there's s till nothing s hows , how c an I us e this applic ation?

I want to upgrade my P C but c urrently I c an't =/


Btw thank you E les ar for your reply.
_________________

- [ J oin us at the I RC ]-

Back to top

Elesar Posted: Thu Feb 04, 2010 7:19 am Post subject:

O K, E dited out lots , I 'm tired and didn't read your whole pos t c orrec tly at firs t.
Joined: 28 Jun 2007
Posts: 327
T he file s hould be named gdiplus .dll and s hould be plac ed in the main RadialM enu folder
(I think). I f that does n't work, plac e it in RM data s ubfolder.

I hope that that c an get you going

T here is a c hanc e that it s till will not work, as M E is a 9 x bas ed O S, and the minimum
requirements for G D I + is Windows 2 0 0 0 . A lthough M E was releas ed after 2 k, it us es
the old c ode- bas e. :\

Back to top

Portable Paul Posted: Thu Feb 04, 2010 9:54 am Post subject: try this
Guest

http://www.digitallis .c o.uk/pc /ShortP opU p/

here's a tiny program i us e that needs working direc tory to func tion.. i us e it all over the
plac e.. mos t of my roc ketdoc k links are s hortpopup c alls

if you run it, it pops up a dir lis t of the working folder.

if you launc h it anywhere with rm it will lis t the ahk folder.

jus t grab the exec utable and s et it in any folder... like the desktop and run it...

thanks again for this ..

Back to top

LiquidGravity Posted: Thu Feb 04, 2010 9:18 pm Post subject:

I really like this and hope you c ontinue development. T here are a few things I would
Joined: 26 Jan 2009 s ugges t.
Posts: 69

Support for external s kin pac ks . For example dump the images and the s kins c onfig file
into a new folder within the images folder. Sc ript automatic ally s earc hes for s kin c onfig
files and adds them to the lis t to s elec t from.

I nc lude s elec t effec ts in s kin c onfigs or make them a s eparate modular piec e.

A bility to s witc h to a whitelis t ins tead of blac klis t for apps . Sometimes you may only
want it popping up in one plac e. For example the desktop.

Back to top

Learning one Posted: Fri Feb 05, 2010 11:53 am Post subject:

A s no one exc ept E les ar didn't vote for any option how to implement working folder
Joined: 04 Apr 2009 reques t, I c oded a. option:
Posts: 293
Location: Croatia when target has .exe extens ion, RM automatic ally launc hes it from its home folder. I 'll
upload updated RM v3 .1 7 pac k s oon.

@t omoe_uehara: Sorry, I 'm not motivated to find a way how to us e RM on obs olete O S.
P leas e upgrade and than try RM . P .S. I like blue font too.

@XionII: N ic e s kin. Y ou c an play with ButtonForeground to c reate button in bubble


effect. Y our further RM improvement dreams are pos s ible in reality.

@LiquidGravit y: I nteres ting s ugges tions . I 'll try to c ode them if I 'll have enough time.
A nd yes , your Sikuli pos t really made me laugh.
Quote:

caveman (or your boss)

hahaha

Back to top

Learning one Posted: Fri Feb 05, 2010 9:46 pm Post subject:

Radial menu v3.17 updated - download it again


Joined: 04 Apr 2009
Posts: 293 C hanges :
Location: Croatia - when target has .exe extens ion, RM automatic ally launc hes it from its home folder
- lic enc e s lightly reformulated - don't worry it's s till free for non-commercial, pers onal us e
under s ome conditions and probably will forever be.
- s ome other minor, invis ible c hanges

Report does this update s olve working folder reques t.

Back to top

Portable Paul Posted: Sun Feb 07, 2010 4:36 am Post subject: error
Guest

on this new build, i get an error i haven't s een before and i've muc ked with your c ode
pretty merc iles s ly.

but on a c lean extrac t of the new 3 .1 7 i get an

N o applic ation s i as s oc iated with the s pec ified file for this operation.

error on line 1 3 7
Run, RM s oundons how.ahk ....
I 'm gonna c hec k the 3 .1 6 vers ion i have and s ee what's different. I f this is new it may
be that i don't have .ahk files as s oc iated to autohotkey.. i c an't s inc e this is all running
from us b s tic k... i'll c hec k and report as i find anythign.

Back to top

Portable Paul Posted: Sun Feb 07, 2010 4:41 am Post subject: uhh... fixed..
Guest

T hos e 3 lines look new from 3 1 6 to 3 1 7 .. when i remove them everything works fine.

N ot s ure what i'm los ing but i'll leave that to you o' learn'ed one!

Back to top

Portable Paul Posted: Sun Feb 07, 2010 5:17 am Post subject: working directory
Guest

Works perfec t exc ept if i pas s in c ommand line arguments to the exec utable then it fails
the "ends with .exe" c hec k and runs from ahk direc tory.

I took out the if s tatement that does a s plit on the files with exe.

WO RKS C O M P L E T E L Y perfec t that way. Would love to know if anyone has a reas on for
not running it from the target dir.

(I c an't think of a reas on that i WO U L D N 'T want it to run in the target direc tory, but
then again it s eems like i was the only pers on as king for this .)

taking out the three lines about the s oundons how did kill the launc h wav. i'm bus y
loading up my RM s ettings .ini and preparing to retire roc ketdoc k. i may s till us e it for a
tas kbar replac ement but that's it.

thanks again! ! ! !

Back to top

Learning one Posted: Mon Feb 08, 2010 12:38 am Post subject:

Quote:
Joined: 04 Apr 2009
error on line 137
Posts: 293
Location: Croatia

L ine 1 3 7 in Radial menu v3 .1 7 .ahk is :


Code:

Run, RMSoundOnShow.ahk, %A_ScriptDir%\RMdata\SoundPlayers

I t is impos s ible that Radial menu v3 .1 7 .ahk c an't run this s c ript bec aus e it is in
% A _Sc riptD ir% \RM data\SoundP layers and its name is RM SoundO nShow.ahk!
Radial menu v3 .1 6 .rar does not have RM SoundO nShow.ahk in % A _Sc riptD ir% \RM data
\SoundP layers , like Radial menu v3 .1 7 .rar!
Y ou c an't jus t replac e old Radial menu v3 .1 7 .ahk or Radial menu v3 .1 6 .ahk with
updated Radial menu v3 .1 7 .ahk. Y ou mus t replac e whole pac kage!
T hat's the reas on why I 'm uploading whole RM P ac kage.

Quote:
Works perfect except if i pass in command line arguments to the executable then it fails the
"ends with .exe" check and runs from ahk directory.

O k, I c reated new system of running RM items.


T his s ys tem (tes ted on my c omp on Win XP ):
- launc hes almos t everything from target's home folder
- s upports parameters
- s upports s ys tem verbs
- s upports C L SI D folders
- s upports built- in variables important for Run c ommand; % A _P rogramFiles %
% A _Sc riptdir% % A _WinD ir% etc ...

I want you and everybody els e to test s c ript below and report does it work. I magine
that text you entered is I tem's ac tion, (but don't enter MySub).
I f this I mprovedRun s ys tem works , I 'll implement it in RM . I t works perfec tly on my
c omp...

Remember that I tem's ac tion is Run c ommand's firs t parameter - target


I f you want to exec ute Run c ommand with more parameters like
M ax| M in| H ide| U s eE rrorL evel, O utputV arP I D , us e M yS ub and c reate c us tom
s ubroutine.

EDIT: s c ript below updated - 2 1 .2 .2 0 1 0 . D eveloped to add more flexibility when running
files with RM
Code:

ImprovedRun(FullPath) ; by Learning one v1.2


{
While (SubStr(FullPath,1,1) = A_Tab or SubStr(FullPath,1,1) = A_Space)
StringTrimLeft, FullPath, FullPath, 1
Transform, FullPath, Deref, %FullPath% ; suggestion by Maxmax14
(Thanks!)
if (RegExMatch(FullPath, "i)^(properties|find|explore|edit|open|print)\s*
([a-z]{1}:\\|::\{)", SysVerb) = 1) ; with SysVerb
{
StringReplace, SysVerb, SysVerb, %A_Space%, , all
StringTrimRight, SysVerb, SysVerb, 3
SysVerbLength := StrLen(SysVerb)
StringTrimLeft, FullPath, FullPath, SysVerbLength+1
While (SubStr(FullPath,1,1) = A_Space)
StringTrimLeft, FullPath, FullPath, 1
if (SubStr(FullPath, 1, 3) = "::{") ; CLSID folders
{
Run, %SysVerb% %FullPath%
Return
}
SplitPath, FullPath, file, dir
While (SubStr(file,0,1) = A_Space)
StringTrimRight, file, file, 1
if file =
{
Run, %SysVerb%, %dir%
Return
}
FileWithSysVerb := SysVerb A_Space file
Run, %FileWithSysVerb%, %dir%
Return
}
Else ; without SysVerb
{
if (SubStr(FullPath, 1, 3) = "::{") ; CLSID folders
{
Run, %FullPath%
Return
}
if FullPath contains "
{
Run, %FullPath%
Return
}

SplitPath, FullPath, file, dir


While (SubStr(file,1,1) = A_Space)
StringTrimLeft, file, file, 1
While (SubStr(dir,1,1) = A_Space)
StringTrimLeft, dir, dir, 1
if file =
{
Run, %dir%
Return
}
if dir =
{
Run, %file%
Return
}
Run, %file%, %dir%
Return
}
}

Gui, +AlwaysOnTop
Gui, Add, Edit, x6 y10 w460 h20 vAction,
Gui, Add, Button, x6 y40 w100 h30 Default , Run
Gui, Add, Button, x366 y40 w100 h30 , Close
Gui, Show, w477 h81, Test: ImprovedRun for Radial menu - by Learning one
Return

ButtonClose:
GuiClose:
ExitApp

ButtonRun:
Gui, submit, nohide
ImprovedRun(Action)
Return

Escape::ExitApp

Some examples that work perfec tly on my c omp:


C :\
explore C :\
% A _Sc riptD ir% \U tilities \H ibernate.ahk
% A _WinD ir% \explorer.exe
explore ::{6 4 5 ff0 4 0 - 5 0 8 1 - 1 0 1 b- 9 f0 8 - 0 0 aa0 0 2 f9 5 4 e}
properties C :\M y P rograms \Freec iv\c ivc lient.exe
C :\M y P rograms \F reec iv\c ivc lient.exe
::{6 4 5 ff0 4 0 - 5 0 8 1 - 1 0 1 b- 9 f0 8 - 0 0 aa0 0 2 f9 5 4 e}
C :\tes t.txt
C :\M y P rograms \C C leaner\C C leaner.exe
C :\M y P rograms \C C leaner\C C leaner.exe /A U T O
properties C :\M y P rograms \C C leaner\C C leaner.exe
inetc pl.c pl
% A _P rogramFiles % \Windows M edia P layer\wmplayer.exe "C :\Song1 .mp3 "
"C :\Song2 .mp3 " " C :\Song3 .mp3 " "C :\Song4 .mp3 "
notepad "% A _Sc riptD ir% \U tilities \H ibernate.ahk"

Last edited by Learning one on Sun Feb 21, 2010 2:08 am; edited 2 times in total

Back to top
Portable Paul Posted: Mon Feb 08, 2010 6:28 am Post subject: 137 error
Guest

I made s ure that i tes ted that error on my s ys tem with a fres hly downloaded vers ion of
the full 3 .1 7 ins tall before pos ting c omment.

I 'm s till gues s ing that it has to do with c alling a RU N on a .ahk file whic h i do not have
as s oc iated to autohotkey.exe.

when you dbl- c lic k on a .ahk file does it run automatic ally? if s o .ahk is as s oc iated to
the path of autohotkey.exe and runs via c onnec tion to regis try to find .ahk handler. i
intentionally don't regis ter .ahk to run that way. I have another ahk s c ript that handles
file- - >program as s oc iations .

P leas e don't take offens e. i'm c ertain i'm doing s omething wrong. jus t pos ting what i had
time to tes t.

Back to top

Learning one Posted: Mon Feb 08, 2010 8:57 pm Post subject:

Quote:
Joined: 04 Apr 2009
I made sure that i tested that error on my system with a freshly downloaded version of the
Posts: 293
Location: Croatia full 3.17 install before posting comment.

O K. Sorry for my wrong as s umption.


Quote:

I'm still guessing that it has to do with calling a RUN on a .ahk file which i do not have
associated to autohotkey.exe.

Y es , this may c aus e your problem...


Quote:

I have another ahk script that handles file-->program associations.

P os t your s c ript (or jus t important part). H ow does it work? RegWrite & RegD elete?
O pen with?
I don't have any experienc e with running .ahk s c ripts from us b s tic k on c omputer that
does n't have .ahk s c ripts as s oc iated to autohotkey.exe N ever tried to do that...
Quote:

Please don't take offense.

N o offens e.

RM v3 .1 7 runs 3 ac c es s ory, hidden s c ripts that enable s oundmixing:


RM SoundO nShow.ahk, RM SoundO nS ubShow.ahk, RM SoundO nSubH ide.ahk

I updated I mprovedRun s c ript above. I t's more flexible now. H as anybody tes ted it?
Works fine on my c omp...

Back to top

Portable Paul Posted: Mon Feb 15, 2010 1:00 am Post subject: test passed.
Guest

N ew and I mprovedRun() works for my tes ts .

s orry it took s o long to get to tes ting this .


A ny c hanc e you'd c ons ider putting thos e ac c es s ory s c ript c alls bac k to being internal
func tion c alls ?

thanks again.

Back to top

Learning one Posted: Tue Feb 16, 2010 8:42 pm Post subject:

Quote:
Joined: 04 Apr 2009
New and ImprovedRun() works for my tests.
Posts: 293
Location: Croatia

O k. T hanks for tes ting. I 'll upload RM v3 .1 7 with this run s ys tem.
Quote:

Any chance you'd consider putting those accessory script calls back to being internal function
calls?

T he problem is that A utohotkey does not s upport s ound mixing. I want to have s ound
mixing enabled, s o I 'm forc ed to us e a workaround. RM v3 .1 7 is the firs t
vers ion that has s ound mixing enabled by running 3 ac c es s ory, hidden, ghos t s c ripts
that play s ound when main RM s c ript s ends them a mes s age - - > O nM es s age()
I f you (or s omebody els e) s how me a better s olution, I 'll be happy to implement it. I t
mus t have: 1 ) fas t res pons e, 2 ) very low C P U us age
3 ) exc ellent quality 4 ) mus t be totally free.

P os t your s c ript that handles file- - >program as s oc iations . A lthough I don't need it, it's
always good to s ee s olutions from other c oders .
A nd c ons ider regis tering/s igning in A H K forum.

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 9, 10, 11 ... 16, 17, 18 Next
Page 10 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 10, 11, 12 ... 16, 17, 18 Next
AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

HotKeyIt Posted: Tue Feb 16, 2010 9:58 pm Post subject:

Y ou c an try us ing multi threading us ing A utoH otkey.dll


Joined: 18 Jun 2008 _________________
Posts: 2570
Location: GERMANY AutoHotFile+ToolTip+AutoHotkey_H18.dll

Back to top

Learning one Posted: Wed Feb 17, 2010 8:41 pm Post subject:

T hanks for referenc e HotKeyIt. I 'll s tudy A utoH otkey.dll and T oolT ip when I 'll have
Joined: 04 Apr 2009 time and motivation.
Posts: 293
Location: Croatia
@ Port able Paul: I f you want different RM s ound mixing s ys tem than c urrent, you c an
s tudy A utoH otkey.dll and s how me ready s olution. (I c urrently don't have time and
motivation to s tudy how A utoH otkey.dll works )

Back to top

HotKeyIt Posted: Wed Feb 17, 2010 9:57 pm Post subject:

T his is an example how you c ould do it us ing A utoH otkey_H .exe and the dll, us ing
Joined: 18 Jun 2008 original A utoH otkey.exe you c an try T hread() or manually by D llC all
Posts: 2570
Location: GERMANY Code:

ahkdll1:=AhkDllThread(A_ScriptDir . "\AutoHotkey.dll")
ahkdll2:=AhkDllThread(A_ScriptDir . "\AutoHotkey.dll")
;... depend how many threads do you like
script1=SoundPlay,file1.wav
;...
DynaCall(ahk1.ahktextdll,script1)
;...

_________________
AutoHotFile+ToolTip+AutoHotkey_H18.dll

Back to top

occasional ahk'er Posted: Fri Feb 19, 2010 6:28 pm Post subject: dynamic button positions
Guest

J us t wanted to s ay thanks for this awes ome s c ript. O ne thing I c hanged and like alot
better are to have dynamic button pos itions . T his way evenly s pac es them around the
diameter of the ring.

[/img]
Code:

if A_Index between 8 and 19 ; 2. ring


{
If MMTotalButtons < 19
MMTotalButtons := MMTotalButtons-12
Else
MMTotalButtons = 12
WheelRadius := ButtonSize/(2*Sin(pi/SecondRingRadius))
CalcPos()
MMTotalButtons := OrigMMTotalButtons ; restore real
MMTotalButtons
WheelRadius := OrigwheelRadius ; restore real WheelRadius
}
if A_Index between 20 and 39 ; 3. ring
{
If MMTotalButtons < 39
MMTotalButtons := MMTotalButtons-20
Else
MMTotalButtons = 20
WheelRadius := ButtonSize/(2*Sin(pi/ThirdRingRadius)) ; 20, 18, 16
CalcPos()
MMTotalButtons := OrigMMTotalButtons ; restore real
MMTotalButtons
WheelRadius := OrigwheelRadius ; restore real WheelRadius

I \Y ou c an get s ome really nic e looking s hapes and it does n't look s o lop s ided when you
have half a ring of items .

J us t a s ugges tion. Y ou c ould have another ini key to turn dynamic s on and off pos s ibly.
E as y and reliable tweak.

C heers to A H K

J us t to add s ome ideas to us e it for. I us e Radial M enu to open s es s ions with lots of
V N C c lients . I hav around 2 0 pc s I regularily c onnec t to s o I made an ini it reads the
"N ame" and I P addres s 's out of and automatic ally fills the items s ec tion of RM Settings .

I us e this png for a bac kround. L ooks nic e with a s olid blac k desktop.

and i us e this for button bac kgrounds

Submenus are the revers e... moon bac kround s un buttons

Back to top

noise Posted: Fri Feb 19, 2010 7:29 pm Post subject:

I don't think they like you hotlinking


Joined: 14 May 2009
Posts: 57
Location: UK

Back to top

TomXIII Posted: Fri Feb 19, 2010 10:49 pm Post subject:

H i!
Joined: 14 Apr 2009 G reat job L earningO ne!
Posts: 99

P S: 1 5 0 0 0 views and I 'm the 1 5 5 th pos ter for this topic !


[img=http://www.autohotkey.net/~T omXI I I /Sans % 2 0 titre.bmp]Sc reen[/img]

Back to top
Learning one Posted: Sun Feb 21, 2010 1:57 am Post subject:

T hank you all for c ompliments , s ugges tions and examples .


Joined: 04 Apr 2009
Posts: 293
Location: Croatia U pdated RM v3 .1 7 c oming s oon. N othing s pec tac ular this time, but us eful (I hope).

Future plans (not in upc oming update): I 'll probably melt Radial menu and one of mine
mous e ges tures s c ript in one program...

Back to top

Kelthak Posted: Sun Feb 21, 2010 4:29 am Post subject:


Guest

I am uns ure if this is jus t me, but I have found that s etting RM ShowH otkey to anything
on the keyboard, and ShowD elay to les s than 6 0 0 leads to the menu popping up for a
frac tion of a s ec ond, c los ing, and then reopening a s imilar frac tion of a s ec ond later.

D ue to my c urrent lac k of s kill at A H K, I was unable to loc ate what c aus es this . While I
was attempting to figure out what was c aus ing it, I had s ome res ults s uc h as making
the menu toggle on every other keypres s , while working around line 8 8 1 - 8 8 3 - - this
area als o lead to it s taying open the firs t time, though that had is s ues as well.
U nfortunately, I did not rec ord what I did, nor what exac tly happened. I think I might
have been trying KeyWait a time or two.

D o you have any idea what c ould be the c aus e of the window opening/c los ing/opening
again when a keyboard key is us ed? H opefully the information I provided is helpful.

A nd a few ideas , though I am uns ure of how diffic ult they would be to implement.
- (if it is n't loc al) fix keyboard s upport
- T oggle ins tead of c ons tant (hit/hold key to open, hit/hold again onc e you get to what
you want to ac tivate, or anywhere els e to c los e)
- (L ooking at c ode, this looks unlikely) Submenus for s ubmenus - - was trying to figure
out how to do a main>applic ations >s ec urity/utility/internet/games s ort of thing, hadn't
realized it was n't s upported for a while.
- Reload menu/s ubmenu s ettings while running (this one s houldn't be hard, as far as I
know, exc ept pos s ibly rebuilding the menu, s emi- s c ript below)
Code:

; before settings are first loaded:


FileGetTime, (item)LastMod, (pathtofile), M

; any time later on, called by a button or timer


ReloadSettings:
FileGetTime, (item)ModCheck, (pathtofile), M
If ((item)ModCheck != (item)LastMod)
; reload the settings from the file, rebuild menu if needed, and reset
(item)LastMod
; repeat the above for other items
Return

O ther than all that, it s eems to do jus t about everything I c ould need, and I am loving
how us eful it is . A wes ome work!

Back to top

Learning one Posted: Mon Feb 22, 2010 1:07 am Post subject:
Joined: 04 Apr 2009 @Kelt hak:
Posts: 293
Location: Croatia Quote:

I have found that setting RMShowHotkey to anything on the keyboard, and ShowDelay to less
than 600 leads to the menu popping up for a fraction of a second, closing, and then reopening
a similar fraction of a second later... ...I was unable to locate what causes this.

Y ou are right. I s pent one hour trying to figure out what c aus es this , but without
s uc c s es s . I als o didn't find any errors in the c ode... N ever mind, RM ShowH otkey is
s uppos ed to be mous e button that c an be pres s ed down, and this works - that's mos t
important.
EDI T 28.2.2010.: Problem located and partially s olved. --> delete line:
#MaxThreads PerHotkey 2

Quote:

Submenus for submenus

RM help file: Submenus for s ubmenus are not allowed.


Quote:

Toggle instead of constant + Reload menu/submenu settings while running

I 'll probably c ode this onc e...


Quote:

it seems to do just about everything I could need, and I am loving how useful it is. Awesome
work! Smile

T hanks , I 'm glad you are finding it us eful as I am.

Last edited by Learning one on Sun Feb 28, 2010 10:56 pm; edited 1 time in total

Back to top

Portable Paul Posted: Mon Feb 22, 2010 5:29 am Post subject: sound decision

i'm glad to try and help.


Joined: 22 Feb 2010
Posts: 1
i s pent all this weekend trying to mas ter google maps javas c ript and las t week was
c oldfus ion/flas h/ac tion s c ript linked s elec ts . I s till haven't had time to trans fer over my
roc ketdoc k s ettings .

for now i'm very happy with it and the s ac rific es i'm making to have it be fully portable
aren't muc h. i was jus t hoping to s tay on the upgrade path of your dev work and not
have to modify the s c ript eac h time you improved it.

as reques ted i've reg'd.. not s ure what that does for anyone but glad to c omply.

my file as s oc iator is here... or at leas t when i trunked it many moons ago it was
s pawned from the projec t that is now expres s o. aka c afé.
http://portableapps .c om/node/2 2 6 7 7

ttyl

Back to top

Learning one Posted: Mon Feb 22, 2010 8:50 pm Post subject:

Joined: 04 Apr 2009


Radail menu v3.17 updated again (v3.1707)
Posts: 293 Changes:
Location: Croatia - implemented ImprovedRun() v1.2 A lthough this func tion looks like unnec es s ary
c omplic ation, running files with RM s hould be more flexible now.
Some examples c ould be found few pos ts above
- new .ini key in General s ec tion s ugges ted by occas ional ahk'er - ButtonPositioning.
D etermines how buttons in 2 . and 3 . ring are pos itioned.
C an be s tatic or dynamic . I f blank or anything els e, s tatic applies . When s tatic , buttons
are pos itioned lop- s ided. When dynamic , buttons are pos itioned
evenly around the diameter of the ring. Buttons in 1 . ring are always pos itioned
dynamic ally. E xample: ButtonP os itioning = dynamic . See pic ture below.

Download updat ed Radial menu v3.17 package

* * *

@ P ortable P aul: thanks for referenc e to eXpres s o 1 .5 A lpha 2

Back to top

Learning one Posted: Mon Feb 22, 2010 11:39 pm Post subject:

@Port able Paul: I have idea how to s olve your s ound mixing problem when RM is on
Joined: 04 Apr 2009 U SB s tic k + no .ahk as s oc iation in regis try + when you us e eXpres s o 1 .5 A lpha 2 .
Posts: 293
Location: Croatia T his idea is N O T T E ST E D , it's up to you to tes t it. Follow 4 eas y s teps :
1 . download and unrar newes t RM update
2 . put A utoH otkey.exe in RM data folder
3 . I n Radial menu v3 .1 7 .ahk, in lines 1 3 8 - 1 4 1 you will find:
Code:

;===Run Sound players===


Run, RMSoundOnShow.ahk, %A_ScriptDir%\RMdata\SoundPlayers
Run, RMSoundOnSubShow.ahk, %A_ScriptDir%\RMdata\SoundPlayers
Run, RMSoundOnSubHide.ahk, %A_ScriptDir%\RMdata\SoundPlayers

replac e thos e lins e with this :


Code:

;===Run Sound players===


Run, %A_ScriptDir%\RMdata\AutoHotkey.exe "%A_ScriptDir%\RMdata\SoundPlayers
\RMSoundOnShow.ahk"
Run, %A_ScriptDir%\RMdata\AutoHotkey.exe "%A_ScriptDir%\RMdata\SoundPlayers
\RMSoundOnSubShow.ahk"
Run, %A_ScriptDir%\RMdata\AutoHotkey.exe "%A_ScriptDir%\RMdata\SoundPlayers
\RMSoundOnSubHide.ahk"

4 . s ave c hanges , run Radial menu, and report do you hear all s ounds now? D oes it
work?
Back to top

John6of6 Posted: Fri Feb 26, 2010 12:50 pm Post subject: A mod of Radial Menu v3.1707 (More
launchers & Clock)

Joined: 21 Nov 2007 L earning O ne,


Posts: 3
Location: Mtv Vw, CA
I really love this s c ript. I was attempting to get rid of my quic k launc h bars in windows
and replac e it with your Radial M enu launc her. I was s o dis appointed to find it was
limited to only 9 5 launc hers /ic ons . When I opened my s ubmenus the bac kground was
dis appearing and there was a button hanging in s pac e up on the left. What the duc e! ?
So I made s ome modific ations .

For debugging/demons tration purpos es I added the number of the graphic to the tool tip
s o you c an s ee it is beyond 9 5 items available through the s ubmenus with the c hanges
I made to the c ode.

I als o found it annoying that if my Windows T as kbar was on autohide, I would have to
drag my mous e to the bottom of the s c reen, get any windows out of the way, to get the
the tas kbar to pop up jus t s o I c ould s ee the time. I t would be c ool to add a c loc k to
Radial M enu. Right in that blank s pac e in the M ain menu. So I added a c loc k too.
I wanted to s hare. I s ent you the c ode. (I s hould have doc umented it better though.)
M aybe you c an inc orporate/provide it if anyone is interes ted?

Re,
J ohn6 of6

Back to top

Learning one Posted: Fri Feb 26, 2010 8:38 pm Post subject:

@John6of 6: T hanks . N ic e modific ations ! C hec k your e- mail.


Joined: 04 Apr 2009
Posts: 293
Location: Croatia
EDI T:
Quote:

I was so disappointed to find it was limited to only 95 launchers/icons.

M y intention was n't to allow a large number of items in RM , jus t files that you us e mos t
frequently. I have totally 6 5 items in my private s etup.

H owever, I plan to rewrite RM and us e modified Radial menu "mg" method


T hen, us er will be allowed to us e a f ew thousands of items, subsubmenus, animations in
menu, random human voices on show and select etc .
P os s ibilities are almos t endles s but 1 0 0 % c odable...
But I c an't do everything alone - I need c ollaborators .

For a longer time I 'm thinking to c hange RM lic enc e and s ugges t collaborative RM
development ...

Back to top

anon Posted: Sun Feb 28, 2010 5:32 pm Post subject: apple mouse
Guest

G reat s c ript! Saved me a lot of time. I only have one problem: my apple mous e. I t is
not pos s ible to hold the right mous e button and then while holding it pres s ing the left
button at the s ame time to enter the s ubmenus .

Back to top

Display posts from previous: All Posts Oldest First Go


AutoHotkey Community Forum Index -> All times are GMT
Scripts & Functions Goto page Previous 1, 2, 3 ... 10, 11, 12 ... 16, 17, 18 Next
Page 11 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 11, 12, 13 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

anon Posted: Sun Feb 28, 2010 6:14 pm Post subject: apple mouse
Guest

I s aid, ok, then i us e a keyboard button ins tead the right mous e button (i would rather
us e the mous e alone) an took L C trl, but then RM appears , dis appears , reappears and
s tays as normal s trange. the s ame with other keyboardbuttons . i am us ing windows 7
3 2 bit. maybe there is a workaround to us e the apple mous e alone (it is the 2 button
apple wireles s mous e with the little s c rollball).

Back to top

Learning one Posted: Sun Feb 28, 2010 10:04 pm Post subject:

Quote:
Joined: 04 Apr 2009
Great script! Saved me a lot of time.
Posts: 293
Location: Croatia T hanks . I 'm glad you found it us eful.
Quote:

my apple mouse

Sorry, I don't have that mous e, and I c an't do s ome tes ts to help you. Q uic k s olution
is : c hange your mous e.

Quote:

RM appears, disappears, reappears and stays as normal

P roblem loc ated and partially s olved.

I n line 7 6 , you will find:


Code:

#MaxThreadsPerHotkey 2
J us t delete this line.

N ow RMShowHotkey c an be every:
1 ) mous e button that c an be pres s ed down and
2 ) keyboard key exc ept modifiers (C ontrol, alt...)

Examples:
RMShowHotkey = MButton
RMShowHotkey = RButton
RMShowHotkey = a
RMShowHotkey = y
RMShowHotkey = 1
RMShowHotkey = 2

I t works on my c omp. I want you to als o tes t and report does it work on your c omp too.
I f pos itive, I 'll update RM pac k.

Back to top

XionII Posted: Mon Mar 01, 2010 8:47 pm Post subject:

"N ow RM ShowH otkey c an be every:


Joined: 01 Feb 2010 1 ) mous e button that c an be pres s ed down and
Posts: 6
Location: California, USA 2 ) keyboard key exc ept modifiers (C ontrol, alt...)"

Works fine for me; but I 'll s tic k with RButton. Keep up the nic e work.

Back to top

Learning one Posted: Tue Mar 02, 2010 8:46 pm Post subject:

@XionII: T hanks for tes ting.


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Radial menu v3.17 updated again (v3.1708)
C hanges :
- deleted line 7 6 . S ee 2 pos ts above.
- updated doc umentation.

Back to top

alaskatu1 Posted: Wed Mar 03, 2010 10:15 pm Post subject: Amazing piece of Code: I want Radial
Guest menu "mg" so

Learning one wrote:

However, I plan to rewrite RM and use modified Radial menu "mg" method
Then, user will be allowed to use a few thousands of items, subsubmenus, animations
in menu, random human voices on show and select etc.

H i L earning O ne,

i like your plan to rewrite RM and us e Radial M enu "mg" ins tead. I would help with
tes ting and s mall improviments , addons .

M omentan i us e a M ous e G es ture ahk and Radial menu s ame time. I woulld love to have
both together.
So i have M ous e ges tures and the Radial menu on the s ame H otkey.

T hanks for your amazing work.

A las katu

Back to top

anon Posted: Thu Mar 04, 2010 1:16 pm Post subject: thanx
Guest

thank you very muc h for your quic k help. we c an be glad to have you working on the
projec t!

Back to top

~clovis~ Posted: Thu Mar 04, 2010 9:10 pm Post subject:


Guest

T hanks a lot for this amazing tool.

I made the following modific ation, it c an be us efull, at line 7 1 0 :

Code:

;===Prepare buttons===
Loop, %TotalButtons%
{
if I%A_Index%name<> no
{
; (...) the whole loop.
}
}

T herfore, by putting in the RM Setting file :


Name= no
I c an ignore a button while dis play the others .

Simple exemple :

Back to top
~clovis~ Posted: Thu Mar 04, 2010 10:06 pm Post subject:
Guest

P S: it s eems not working for s ubfolders , but ok for direc t ac tion.


I c an't manage to figure out how fix this right now, if anyone find out before me...

Back to top

tic Posted: Thu Mar 04, 2010 11:08 pm Post subject:

In Radial menu licence Learning one wrote:


Joined: 22 Apr 2007
I have explicit permission from tic (Tariq Porter) - author of Gdip.ahk to use his Gdip.ahk as I
Posts: 1498
see fit, including to sell.

I tic (T ariq P orter) - author of G dip.ahk, am c onfirming that this is true.

A lthough I would prefer that nobody altered the library and releas ed it as a s eparate
library bec aus e I dont like it when people do things mes s ily

But yeh...go ahead and do whatever you want with the G dip lib and good luc k!

ps . Y ou may like to know that at s ome point I will have it c onverted to c # with lots of
new func tions that are not pos s ible with ahk

Back to top

Learning one Posted: Fri Mar 05, 2010 5:21 pm Post subject:

T hanks to all, but s pec ial thanks to Tic;


Joined: 04 Apr 2009 Tic wrote:
Posts: 293
Location: Croatia In Radial menu licence Learning one wrote:

I have explicit permission from tic (Tariq Porter) - author of Gdip.ahk to use his
Gdip.ahk as I see fit, including to sell.

I tic (T ariq P orter) - author of G dip.ahk, am c onfirming that this is true.

Tic, thank you for your public confirmation, permission,


hard and awesome work, and generosity!
Without Tic's brilliant work, RM v3+ would probably never exis t. I want to remind everybody
that s howing images on the s creen is
Tic's magic. I 'm j us t us ing his s pells ! Everybody mus t res pect his awes ome work, and his
rights as the author of Gdip.ahk!
Learning one (Boris Mudrinic)

* * *

@~clovis~: I f you want to ignore a button while dis playing the others , s imply s pec ify
Name= Separator. See Radial menu help file - Separator A nd yes , nic e s kin.
While watc hing your s c reens hoot, I c an s ugges t you to s et ShadowHeight = 0 bec aus e
your ButtonBackground does n't have built in s hadow.

@alaskat u1:I t may take a veeeery loooong time before I rewrite RM , but this c ertainly
is my plan.
C onc erning Radial menu and mous e ges tures , I have a good news , your wis hes will
c ome true. Read on...
* * *

Let me prepare you for Radial Menu v3.18:


Radial menu evolved again.
R M v 3.18 = R M v 3.17 + mouse gestures, all in one program, in one hotkey!
ShowDelay s etting is gone, and replac ed with RMShowGes ture. By default, you will have
to pres s , hold and drag down your mous e jus t for a few
pixs els to s how RM (very s hort ges ture, minimal effort). A ll other ges tures will not s how
RM , but will exec ute whatever you s pec ify.
I t will take you a day or a two to get us ed to new s ys tem. I 'm already us ing RM v3 .1 8 for
a few days . I t works perfec tly. I 'll s tart to update
help file (what a boring job). A lthough c urrent mous e ges ture rec ognition s ys tem c an
rec ognize unlimited number of ges tures , for prac tic al and
s ec urity reas ons I have s et s ome limits .
G iving c ommands to your c omputer has never been eas ier. C oming s oon...

Back to top

anon Posted: Sat Mar 06, 2010 7:53 pm Post subject: excitment
Guest

Will it las t for days or weeks till 3 .1 8 is c oming. i am looking forward with exc itment

Back to top

bmn_ Posted: Sat Mar 06, 2010 9:20 pm Post subject:


Guest

hey,
i jus t got 3 .1 7 working. I ts nic e. But i realized when you s ubs titute right mous e with e.g.
h, and c lic k right during radial menu on, the buttons to pres s dis aper.

A nd to be hones t, i will not like ges tures ...

Back to top

Elesar Posted: Sun Mar 07, 2010 2:21 am Post subject:

+1 for not liking ges tures , pleas e ens ure it is a option, not a requirement.
Joined: 28 Jun 2007
Posts: 327

Back to top

gongchao6330 Posted: Sun Mar 07, 2010 4:26 am Post subject:

I like ges tures ! A nd will it work with other mous e ges ture s oftware like s trokeit?
Joined: 25 Mar 2009
Posts: 16

Back to top

Learning one Posted: Sun Mar 07, 2010 6:36 pm Post subject:

@bmn_:Read number 3 .
Joined: 04 Apr 2009
Posts: 293
Location: Croatia For t hose who don't like mouse gestures: I bet you will c hange your mind. T hey are
very us eful. I f you don't, here is one relevant paragraph
from RM v3 .1 8 help file : Don't want to us e ges tures ? --> Delete functions . I f you don't
like mous e ges tures , and you don't want to
us e them, s imply delete all func tions in M yM ous eG es tures .ahk. When ges ture
definitions (func tions ) don't exis t, there is nothing to exec ute.

A nd one more: I have dec ided not to s et pre- defined, built in ges tures . E veryone has
his own logic and s pec ific needs , s o it's up to you to
build your own ges tures s ys tem that fits you perfec tly. MyMous eGes tures .ahk is tabula
ras a, and it's up to you to write your c ommands in it.

RM help file has in- depth explanations about RM 's mous e ges tures . Y ou mus t read it.

* * *

RM v3 .1 8 c ode was finis hed one week ago, but I won't releas e it without minimal
information in RM help file.
Writing a help file is a very boring job.
I s ometimes as k mys elf why am I doing all thos e jobs c onnec ted with RM for you (A H K
c ommunity) for free? !

A nyway, RM v3 .1 8 is c ertainly not "j us t another launcher". I t's more like "advanced
s ys tem of control". I t will take s ome time until you explore all pos s ibilities ,
unders tand the c onc ept and c us tomize it, but after you do that, you will enjoy working
with it. So be patient. A nd read RM help file.

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 11, 12, 13 ... 16, 17, 18 Next
Page 12 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 12, 13, 14 ... 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

bmn_ Posted: Sun Mar 07, 2010 7:46 pm Post subject:


Guest
hey, is there a way to dis able RM for s ome time by mys ub? c aus e s ometimes i want to
drag things around with right mous e (then it s hows s ome options what do do) but at the
s ame time i like rm on right mous e

Back to top

bmn_ Posted: Sun Mar 07, 2010 8:37 pm Post subject:


Guest

as you wanted us to work on that is s ue with dis apearing ic ons :

when s howing bac kground make it dis able


e.g.
when s howing M enu bac kground
Code:

Gui, 99: Show, NA x%RMBX% y%RMBY%,RMBackground


add
Code:

Gui, 99: +Disabled

all in all it s hould be gui 9 9 , 9 7 , 9 6 , is that all?

als o added pos ibility to us e 2 different s how keys bec aus e i want to drag with right mous e
(=> middle mous e to s how) but als o us e touc hpad.
on interes t jus t as k

Back to top

LiquidGravity Posted: Sun Mar 07, 2010 8:50 pm Post subject:

Boris , I think this is an awes ome applic ation. P leas e keep up the good work!
Joined: 26 Jan 2009
Posts: 69
I find it very c ool. L ike I s aid before my only s ugges tions are to make more modular. I
(and others I 'm s ure) would like to c reate s ome s kins for it but with out s kins and effec ts
being modular its harder for people to apply them.

When you have dec ided you have a loc ked s olid vers ion we mus t s ugges t to L ifehac ker
and other c us tomizing s ites . T hey will all go c razy for it.

Back to top

bmn_ Posted: Sun Mar 07, 2010 9:14 pm Post subject:


Guest

i think s kins its elf is diffic ult. everyone wants to have other aplic ations /func tions . But
maybe i will make a s kineditor where people c an add there c ode and others c an us e it
without having to getinto the inis .

Back to top

bmn_ Posted: Sun Mar 07, 2010 10:43 pm Post subject:


Guest

s o for everyone who is anoyed by the hiding ic ons , or who jus t wants to be able to s et 2
different s how keys (s ec ond one will be s et by RM ShowH otkey2 = in the ini)

Code:

;===WARNING=========================================================================
; You are not allowed to look at and study the code and solutions/ideas in it,
; if you haven't agreed on all licence and authorship terms!
;===================================================================================

; If somebody wants to undertake further RM development, or suggest collaborative


development, contact me.
; (Licence can be changed, including my minimal share in authorship clause)

;===Description=========================================================================
/*
RADIAL MENU v3.1708
Author: Boris Mudrinic (Learning one on AHK forum)
Contact: boris-mudrinic@net.hr
Thanks: Chris Mallett, Tic (Tariq Porter), TomXIII, Patchen, SpeedY,
Preston, and others...
AHK forum location: http://www.autohotkey.com/forum/viewtopic.php?p=308352#308352

SHORT DESCRIPTION:
This script shows radial menu around your mouse pointer when you press & hold specified
button (RButton by default) for specified amount of time
(220 miliseconds by default). Release RButton above subitem to select it, or anywhere
else to hide menu.
Item that has its own submenu is marked with two tiny stars near the top of the button.
Click it with LButton (by default) to show its submenu.
Release RButton above subitem to select it, or anywhere else to hide submenu and main
menu. Click with LButton in the center of showed submenu to close it.
Note that Radial menu is displayed only while your hotkey is down (RButton by default)

You can customize RM to fit your needs by editing .ini files. (RM means radial menu.)

LICENCE:
Expression "Radial menu" here means Radial menu code and program itself, and any part of
whole Radial menu package except files not created
by me; Gdip.ahk and some files mentioned in Image sources.txt and Sound sources.txt. As
the author of Radial menu, I'm reserving all my rights,
but I'm temporary allowing that Radial menu can use any person that agrees on all terms
in this licence.

Radial menu is free for non-commercial, personal use under some conditions.

You are not allowed to (re)distribute, sell or rent Radial menu, or use it on any
commercial way, or have any profit from it in general, without my
written permission! You are also not allowed to have any profit from giving information
where Radial menu can be obtained. I'm not responsible for
any damages arising from the use of Radial menu. Everyone is encouraged to improve
Radial menu, but no matter how much anyone improve it,
my share in authorship will always be minimum 81%. Everyone can create another program
based on Radial menu (derived program) under
following conditions: 1) my share in authorship in derived program will always be
minimum 51%, 2) author of derived program has to mention my
name and contact in it and mark me as the major author, 3) he has to inform me about his
program, 4) he can not (re)distribute, sell or rent it
without my written permission! This licence is only temporary, I can change it whenever
I want, on any way I want. On issues not mentioned in this
licence Croatian laws apply. In the case of litigation, Croatian laws and language apply
and Municipal court in Zagreb has jurisdiction. If you don't
agree on all terms in this licence, you must exit Radial menu and delete it from
computer and any other device that can store electronic data
immediately! (You are even not allowed just to take a look at Radial menu, especially
the codes).
If you are unsure what you are allowed or not allowed to do, contact me.

HOW DOES IT WORK? It simply draws carefully positioned & shaped GUIs and threats them as
menu items.
Menu items are identified by GUI's title. GUI's titles are RMItem1, RMItem2 etc.

DEFAULT HOTKEYS:
RButton ; press & hold to show main menu after %ShowDelay% miliseconds.
LButton ; press to show/hide submenus.

CODE STRUCTURE:
- Warning
- Description
- Auto-execute start
- Functions
- Load settings
- Prepare menu
- Main menu show Hotkey
- Submenu show Hotkey
- Subroutines
*/

;===Auto-execute start==================================================================
SetBatchLines, -1
#SingleInstance force
CoordMode, mouse, Screen
OnExit, Exit
SetTitleMatchMode, 3 ; exact match

Menu, Tray, Icon, %A_ScriptDir%\RMdata\RMTrayIcon.ico


Menu, Tray, Tip, Radial menu v3.17

AboutRadialMenu =
(
Radial menu v3.17
Author:%A_Tab%Boris Mudrinic (Learning one on AHK forum)
Contact:%A_Tab%boris-mudrinic@net.hr
Thanks:%A_Tab%Chris Mallett, Tic (Tariq Porter), TomXIII, Patchen, SpeedY, Preston, and
others...

Licence:
Expression "Radial menu" here means Radial menu code and program itself, and any part of
whole Radial menu package except files not created
by me; Gdip.ahk and some files mentioned in Image sources.txt and Sound sources.txt. As
the author of Radial menu, I'm reserving all my rights,
but I'm temporary allowing that Radial menu can use any person that agrees on all terms
in this licence.

Radial menu is free for non-commercial, personal use under some conditions.

You are not allowed to (re)distribute, sell or rent Radial menu, or use it on any
commercial way, or have any profit from it in general, without my
written permission! You are also not allowed to have any profit from giving information
where Radial menu can be obtained. I'm not responsible for
any damages arising from the use of Radial menu. Everyone is encouraged to improve
Radial menu, but no matter how much anyone improve it,
my share in authorship will always be minimum 81`%. Everyone can create another program
based on Radial menu (derived program) under
following conditions: 1) my share in authorship in derived program will always be
minimum 51`%, 2) author of derived program has to mention my
name and contact in it and mark me as the major author, 3) he has to inform me about his
program, 4) he can not (re)distribute, sell or rent it
without my written permission! This licence is only temporary, I can change it whenever
I want, on any way I want. On issues not mentioned in this
licence Croatian laws apply. In the case of litigation, Croatian laws and language apply
and Municipal court in Zagreb has jurisdiction. If you don't
agree on all terms in this licence, you must exit Radial menu and delete it from
computer and any other device that can store electronic data
immediately! (You are even not allowed just to take a look at Radial menu, especially
the codes).
If you are unsure what you are allowed or not allowed to do, contact me.
)

;===LicenceAgreement===
IniRead, LicenceAgreement, %A_ScriptDir%\RM settings.ini, General, LicenceAgreement
if !(LicenceAgreement = 1)
{
MsgBox,324, Welcome to Radial menu, %AboutRadialMenu%`n`nDo you agree on all terms
mentioned above?`n(If you agree, this message will never show again.)
IfMsgBox, Yes
IniWrite, 1, %A_ScriptDir%\RM settings.ini, General, LicenceAgreement
Else
{
MsgBox, 48, Radial menu - if you do not agree on all licence terms..., Please
delete whole Radial menu package from computer and any other device that can store
electronic data immediately!`nYou are even not allowed just to take a look at any file
in Radial menu package! ; auto delete is too aggressive
ExitApp
}
}

;===Start loading RM===


;Progress, m2 b fs13 zh0 WMn700, `nPlease wait...`n

;===Set script's process priority===


IniRead, RMProcessPriority , %A_ScriptDir%\RM settings.ini, General, RMProcessPriority
if (RMProcessPriority = "AboveNormal" or RMProcessPriority = "High")
Process, Priority,, %RMProcessPriority%
Else
Process, Priority,, Normal

;===Run Sound players===


Run, RMSoundOnShow.ahk, %A_ScriptDir%\RMdata\SoundPlayers
Run, RMSoundOnSubShow.ahk, %A_ScriptDir%\RMdata\SoundPlayers
Run, RMSoundOnSubHide.ahk, %A_ScriptDir%\RMdata\SoundPlayers

;===Create shortcut===
IfNotExist, %A_ScriptDir%\Radial menu.lnk
{
FileCreateShortcut, %A_ScriptDir%\Radial menu v3.17.ahk
, %A_ScriptDir%\Radial menu.lnk,,,
, %A_ScriptDir%\RMdata\RMv3Icon.ico
}

;===Function to call when RM receives WM_COPYDATA message===


OnMessage(0x4a, "Receive_WM_COPYDATA")

;===Functions===========================================================================
#Include %A_ScriptDir%\RMdata\Gdip.ahk ; by Tic (Thank you)

Send_WM_COPYDATA(ByRef StringToSend, ByRef TargetScriptTitle)


{
VarSetCapacity(CopyDataStruct, 12, 0)
NumPut(StrLen(StringToSend) + 1, CopyDataStruct, 4)
NumPut(&StringToSend, CopyDataStruct, 8)
Prev_DetectHiddenWindows := A_DetectHiddenWindows
Prev_TitleMatchMode := A_TitleMatchMode
DetectHiddenWindows On
SetTitleMatchMode 3 ; 2 is original in AHK help file
SendMessage, 0x4a, 0, &CopyDataStruct,, %TargetScriptTitle%
DetectHiddenWindows %Prev_DetectHiddenWindows%
SetTitleMatchMode %Prev_TitleMatchMode%
return
}

Receive_WM_COPYDATA(wParam, lParam)
{
Global CopyOfData
StringAddress := NumGet(lParam + 8)
StringLength := DllCall("lstrlen", UInt, StringAddress)
VarSetCapacity(CopyOfData, StringLength)
DllCall("lstrcpy", "str", CopyOfData, "uint", StringAddress)
Gosub, Instructions
Return
}
ImprovedRun(FullPath) ; by Learning one v1.2
{
While (SubStr(FullPath,1,1) = A_Tab or SubStr(FullPath,1,1) = A_Space)
StringTrimLeft, FullPath, FullPath, 1
Transform, FullPath, Deref, %FullPath% ; suggestion by Maxmax14 (Thanks!)
if (RegExMatch(FullPath, "i)^(properties|find|explore|edit|open|print)\s*([a-z]
{1}:\\|::\{)", SysVerb) = 1) ; with SysVerb
{
StringReplace, SysVerb, SysVerb, %A_Space%, , all
StringTrimRight, SysVerb, SysVerb, 3
SysVerbLength := StrLen(SysVerb)
StringTrimLeft, FullPath, FullPath, SysVerbLength+1
While (SubStr(FullPath,1,1) = A_Space)
StringTrimLeft, FullPath, FullPath, 1
if (SubStr(FullPath, 1, 3) = "::{") ; CLSID folders
{
Run, %SysVerb% %FullPath%
Return
}
SplitPath, FullPath, file, dir
While (SubStr(file,0,1) = A_Space)
StringTrimRight, file, file, 1
if file =
{
Run, %SysVerb%, %dir%
Return
}
FileWithSysVerb := SysVerb A_Space file
Run, %FileWithSysVerb%, %dir%
Return
}
Else ; without SysVerb
{
if (SubStr(FullPath, 1, 3) = "::{") ; CLSID folders
{
Run, %FullPath%
Return
}
if FullPath contains "
{
Run, %FullPath%
Return
}

SplitPath, FullPath, file, dir


While (SubStr(file,1,1) = A_Space)
StringTrimLeft, file, file, 1
While (SubStr(dir,1,1) = A_Space)
StringTrimLeft, dir, dir, 1
if file =
{
Run, %dir%
Return
}
if dir =
{
Run, %file%
Return
}
Run, %file%, %dir%
Return
}
}

ScaleTransform(Value, InputScaleMax=255, OutputScaleMax=1) ; by Learning one


{
Return Value*OutputScaleMax/InputScaleMax ; 255 --> 1
}

IsInCircle(Xstart, Ystart, Xend, Yend, radius) ; by Learning one (adapted Pythagoras'


theorem)
{
a := Abs(Xend-Xstart), b := Abs(Yend-Ystart), c := Sqrt(a*a+b*b)
Return c<radius ? 1:0 ; if released in circle returns 1, else 0
}

;===Load settings=======================================================================

;===Count items in main menu - MMTotalButtons===


Loop, 40 ; 39 max
{
IniRead, I%A_Index%Name, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Name
if I%A_Index%Name = ERROR ; item Section and Key does not exist at all
{
MMTotalButtons := A_Index - 1
Break
}
Else if (I%A_Index%Name = "" ) ; Blank name
{
IniRead, I%A_Index%Icon, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Icon
if I%A_Index%Icon = ; Blank Icon
{
MMTotalButtons := A_Index - 1 ; Auto set MMTotalButtons
Break
}
}
}
if MMTotalButtons =
MMTotalButtons = 39
LastMMItem := MMTotalButtons ; last main menu item

;===General===
IniRead, RMShowHotkey, %A_ScriptDir%\RM settings.ini, General, RMShowHotkey
IniRead, RMShowHotkey2, %A_ScriptDir%\RM settings.ini, General, RMShowHotkey2
IniRead, ShowDelay, %A_ScriptDir%\RM settings.ini, General, ShowDelay
IniRead, RSMShowHotkey, %A_ScriptDir%\RM settings.ini, General, RSMShowHotkey

IniRead, SecondRingRadius , %A_ScriptDir%\RM settings.ini, General, SecondRingRadius

IniRead, MenuBackground, %A_ScriptDir%\RM settings.ini, General, MenuBackground


IniRead, MenuBackgroundTrans, %A_ScriptDir%\RM settings.ini, General,
MenuBackgroundTrans
IniRead, MenuBackgroundWidth, %A_ScriptDir%\RM settings.ini, General,
MenuBackgroundWidth
IniRead, MenuBackgroundHeight, %A_ScriptDir%\RM settings.ini, General,
MenuBackgroundHeight

IniRead, ButtonBackground, %A_ScriptDir%\RM settings.ini, General, ButtonBackground


IniRead, ButtonSize, %A_ScriptDir%\RM settings.ini, General, ButtonSize
IniRead, ButtonTrans, %A_ScriptDir%\RM settings.ini, General, ButtonTrans
IniRead, ButtonPositioning , %A_ScriptDir%\RM settings.ini, General, ButtonPositioning
IniRead, ShadowHeight, %A_ScriptDir%\RM settings.ini, General, ShadowHeight

IniRead, ButtonForeground , %A_ScriptDir%\RM settings.ini, General, ButtonForeground


IniRead, ButtonForegroundTrans , %A_ScriptDir%\RM settings.ini, General,
ButtonForegroundTrans

IniRead, GenIconShrink, %A_ScriptDir%\RM settings.ini, General, GenIconShrink


IniRead, IconTrans, %A_ScriptDir%\RM settings.ini, General, IconTrans

IniRead, Sounds, %A_ScriptDir%\RM settings.ini, General, Sounds


IniRead, SoundOnShow, %A_ScriptDir%\RM settings.ini, General, SoundOnShow
IniRead, SoundOnHover, %A_ScriptDir%\RM settings.ini, General, SoundOnHover
IniRead, SoundOnSelect, %A_ScriptDir%\RM settings.ini, General, SoundOnSelect
IniRead, SoundOnHide, %A_ScriptDir%\RM settings.ini, General, SoundOnHide
IniRead, SoundOnSubShow, %A_ScriptDir%\RM settings.ini, General, SoundOnSubShow
IniRead, SoundOnSubHide, %A_ScriptDir%\RM settings.ini, General, SoundOnSubHide

IniRead, SelectEffect , %A_ScriptDir%\RM settings.ini, General, SelectEffect


IniRead, DestroyDelay, %A_ScriptDir%\RM settings.ini, General, DestroyDelay
IniRead, RMCloseDirection, %A_ScriptDir%\RM settings.ini, General, RMCloseDirection

IniRead, Font, %A_ScriptDir%\RM settings.ini, General, Font


IniRead, TextSize, %A_ScriptDir%\RM settings.ini, General, TextSize
IniRead, TextColor, %A_ScriptDir%\RM settings.ini, General, TextColor
IniRead, TextAntialias, %A_ScriptDir%\RM settings.ini, General, TextAntialias
IniRead, TextTrans, %A_ScriptDir%\RM settings.ini, General, TextTrans

IniRead, Shadow, %A_ScriptDir%\RM settings.ini, General, Shadow


IniRead, ShadowColor, %A_ScriptDir%\RM settings.ini, General, ShadowColor
IniRead, ShadowOffset, %A_ScriptDir%\RM settings.ini, General, ShadowOffset

IniRead, MinWheelRadius, %A_ScriptDir%\RM settings.ini, General, MinWheelRadius


IniRead, ItemGlowType, %A_ScriptDir%\RM settings.ini, General, ItemGlowType

IniRead, SubMenuSBackground , %A_ScriptDir%\RM settings.ini, General, SubMenuSBackground


IniRead, SubMenuSSizeTune , %A_ScriptDir%\RM settings.ini, General, SubMenuSSizeTune

IniRead, SubMenuLBackground , %A_ScriptDir%\RM settings.ini, General, SubMenuLBackground


IniRead, SubMenuLSizeTune , %A_ScriptDir%\RM settings.ini, General, SubMenuLSizeTune

IniRead, SubMenuBackTrans , %A_ScriptDir%\RM settings.ini, General, SubMenuBackTrans

IniRead, AutoSubmenuMarking , %A_ScriptDir%\RM settings.ini, General, AutoSubmenuMarking

;===Default===
if ButtonTrans not between 1 and 255
ButtonTrans = 255

;===Items===
Loop, %MMTotalButtons%
{
;=== Main menu items===
IniRead, I%A_Index%Icon, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Icon
IniRead, I%A_Index%Action, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Action
IniRead, I%A_Index%IconShrink, %A_ScriptDir%\RM settings.ini, Item%A_Index%,
IconShrink
IniRead, I%A_Index%Tooltip, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Tooltip
; Tooltips are TomXIII's idea (Thanks!)
IniRead, I%A_Index%SpecialButtonBack , %A_ScriptDir%\RM settings.ini, Item%A_Index%,
SpecialButtonBack

IniRead, I%A_Index%ItemTransparency , %A_ScriptDir%\RM settings.ini, Item%A_Index%,


ItemTransparency
if (I%A_Index%ItemTransparency = "" or I%A_Index%ItemTransparency = "error")
I%A_Index%ItemTransparency := ButtonTrans

IniRead, I%A_Index%Child , %A_ScriptDir%\RM settings.ini, Item%A_Index%, Child

;===load submenu items and define submenus===


if (FileExist(A_ScriptDir "\Submenus\" I%A_Index%Child ".ini") = "" or I%A_Index%Name
= "Separator") ; submenu is not defined | Separator can't have child
I%A_Index%Child =

if !(I%A_Index%Child = "" or I%A_Index%Child = "error") ; load submenu items


{
CurMMItemName = I%A_Index%Child ; Current Main menu item's name
CurChild := I%A_Index%Child ; Current Main menu item's child value

Loop, 19 ; 19 items per one submenu max


{
LastMMItem += 1 ; begins from last item in main menu!
IniRead, I%LastMMItem%Name, %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, Name
if I%LastMMItem%Name = ERROR ; item Section and Key does not exist at all
{
LastMMItem -= 1
Break
}
Else if (I%LastMMItem%Name = "") ; Blank name
{
IniRead, I%LastMMItem%Icon, %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, Icon
if I%LastMMItem%Icon = ; Blank Icon
{
LastMMItem -= 1
Break
}
}

if A_Index = 1
FirstSubItem := LastMMItem

IniRead, I%LastMMItem%Icon, %A_ScriptDir%\Submenus\%CurChild%.ini,


Item%A_Index%, Icon
IniRead, I%LastMMItem%Action, %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, Action
IniRead, I%LastMMItem%IconShrink, %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, IconShrink
IniRead, I%LastMMItem%Tooltip, %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, Tooltip ; Tooltips are TomXIII's idea (Thanks!)
IniRead, I%LastMMItem%SpecialButtonBack , %A_ScriptDir%\Submenus
\%CurChild%.ini, Item%A_Index%, SpecialButtonBack
IniRead, I%LastMMItem%ItemTransparency , %A_ScriptDir%\Submenus\%CurChild%.ini,
Item%A_Index%, ItemTransparency

if I%LastMMItem%Name = separator
{
I%LastMMItem%Name =
I%LastMMItem%Icon =
I%LastMMItem%SpecialButtonBack = separator
}

if (I%LastMMItem%ItemTransparency = "" or I%LastMMItem%ItemTransparency =


"error")
I%LastMMItem%ItemTransparency := ButtonTrans

if (I%LastMMItem%IconShrink = "" or I%LastMMItem%IconShrink = "ERROR")


I%LastMMItem%IconShrink = %GenIconShrink%

LastSubItem := LastMMItem
}

%CurMMItemName% := FirstSubItem "," LastSubItem "," CurChild ; stores first and


last item number and submenu name
}

if LastSubItem =
TotalButtons := MMTotalButtons
Else
TotalButtons := LastSubItem ; TotalButtons = all items in main menu + all items in
all submenus
}

;===Limits, defaults, adjustments===


if !(ButtonPositioning = "dynamic") ; suggestion by occasional ahk'er (Thanks!)
ButtonPositioning = static
if MenuBackgroundTrans not between 0 and 255
MenuBackgroundTrans = 255
if (ShadowHeight = "" or ShadowHeight = "error")
ShadowHeight = 0
if (ItemGlowType = "" or ItemGlowType = "error" or FileExist(A_ScriptDir "\RMdata\"
ItemGlowType) = "" )
ItemGlowType = General glow.png

;===Ring radius===
pi :=4*Atan(1)
PiDiv180 := pi/180
picRadius := ButtonSize/2

if SecondRingRadius not between 0 and 3


SecondRingRadius = 1
SecondRingRadius += 10

FirstRingRadius = 6
if SecondRingRadius = 13
ThirdRingRadius = 20
Else if SecondRingRadius = 12
ThirdRingRadius = 18
Else if SecondRingRadius = 11
ThirdRingRadius = 16
Else if SecondRingRadius = 10
ThirdRingRadius = 14

FirstRingRadius := ButtonSize/(2*Sin(pi/FirstRingRadius)) ; Auto WheelRadius


formula by TomXIII (Thanks!)
SecondRingRadius := ButtonSize/(2*Sin(pi/SecondRingRadius)) ; Auto WheelRadius
formula by TomXIII (Thanks!)
ThirdRingRadius := ButtonSize/(2*Sin(pi/ThirdRingRadius)) ; Auto WheelRadius
formula by TomXIII (Thanks!)

if (FirstRingRadius < MinWheelRadius)


FirstRingRadius := MinWheelRadius

if (ShadowOffset > 2) ; limit


ShadowOffset = 2
if (ButtonSize > 130) ; limit
ButtonSize = 130
if (SubMenuBackTrans = "" or SubMenuBackTrans = "error")
SubMenuBackTrans = 255

;===GDI+ Matrix=== ; red, green, blue, alpha, dummy


if IconTrans not between 0 and 255
IconTrans = 255
IconTrans := ScaleTransform(IconTrans)
IconTransMatrix =
(
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,%IconTrans%,0]
[0,0,0,0,1]
)

if ButtonForegroundTrans not between 0 and 255


ButtonForegroundTrans = 255
ButtonForegroundTrans := ScaleTransform(ButtonForegroundTrans)
ButtonForegroundMatrix =
(
[1,0,0,0,0]
[0,1,0,0,0]
[0,0,1,0,0]
[0,0,0,%ButtonForegroundTrans%,0]
[0,0,0,0,1]
)

;===Other stuff===
Loop, %MMTotalButtons% ; set separators
{

IniRead, I%A_Index%Name, %A_ScriptDir%\RM settings.ini, Item%A_Index%, Name


if I%A_Index%Name = separator
{
I%A_Index%Name =
I%A_Index%Icon =
I%A_Index%SpecialButtonBack = separator
}
}

if TextAntialias = 1
TextRen = 4
if TextAntialias = 0
TextRen = 1
if DestroyDelay = 0
RMCloseDirection = CW ; performs better

if Sounds = 0 ; sounds off


{
SoundOnShow =
SoundOnHover =
SoundOnSelect =
SoundOnHide =
SoundOnSubShow =
SoundOnSubHide =
}

Menu, tray, NoStandard


Menu, tray, add, About, AboutRM
Menu, tray, add, Open RM folder, OpenRMF
Menu, tray, add, Edit MySubroutines, EditMySubroutines
Menu, tray, add, Settings, RMSettings
Menu, tray, add, Reload, ReloadRM
Menu, tray, add, Exit, ExitRM

;===Set item's tooltip if not specified===


Loop, %TotalButtons%
{
if I%A_Index%Tooltip = ; custom tooltip (if specified) has precedence over auto
tooltip (item's name or icon's file name without extension)
{
if I%A_Index%Name =
{
I%A_Index%Tooltip := I%A_Index%icon
StringTrimRight, I%A_Index%Tooltip, I%A_Index%Tooltip, 4 ; remove extension
}
Else
{
I%A_Index%Tooltip := I%A_Index%Name
CurLoop := A_Index
Loop ; Auto trim spaces inside tooltip
{
IfInString, I%CurLoop%Tooltip, %A_Space%%A_Space%
StringReplace, I%CurLoop%Tooltip, I%CurLoop%Tooltip, %A_Space%%A_Space%,
%A_Space%, All
Else
Break
}
}
}
}

;===Enable multi-row tooltips `n ===


Loop, %TotalButtons%
{
TransformTT := I%A_Index%Tooltip
Transform, I%A_Index%Tooltip, Deref, %TransformTT%
}

;===Set IconShrink if not specified===


Loop, %MMTotalButtons%
{
if (I%A_Index%IconShrink = "" or I%A_Index%IconShrink = "ERROR")
I%A_Index%IconShrink = %GenIconShrink%
}

;===Prepare menu=======================================================================
Gdip_Startup()

;===Prepare small Sub menu background=== ; Gui, 97 is Radial sub menu's small
background
Gui, 97: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs +Disabled
Gui, 97: Show, hide ; Gui, 97 is Radial sub menu's small background
hwnd1 := WinExist()

SubMenuS := FirstRingRadius*2+ButtonSize
if !(SubMenuSSizeTune = "")
SubMenuS += SubMenuSSizeTune*2

CurMenuBackground = %A_ScriptDir%\Images\Menu backgrounds\%SubMenuSBackground%


pBitmap := Gdip_CreateBitmapFromFile(CurMenuBackground)
RMBWidth := Gdip_GetImageWidth(pBitmap), RMBHeight := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(RMBWidth, RMBHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

if (SubMenuS > RMBWidth) ; automatic & limit


SubMenuS := RMBWidth
if (SubMenuS > RMBHeight) ; automatic & limit
SubMenuS := RMBHeight

Gdip_DrawImage(G, pBitmap, 0, 0, SubMenuS, SubMenuS, 0, 0, RMBWidth, RMBHeight)


UpdateLayeredWindow(hwnd1, hdc, 0, 0, RMBWidth, RMBHeight, SubMenuBackTrans)

SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare large Sub menu background=== ; Gui, 96 is Radial sub menu's large
background
Gui, 96: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs +Disabled
Gui, 96: Show, hide ; Gui, 96 is Radial sub menu's large background
hwnd1 := WinExist()

SubMenuL := SecondRingRadius*2+ButtonSize
if !(SubMenuLSizeTune = "")
SubMenuL += SubMenuLSizeTune*2

CurMenuBackground = %A_ScriptDir%\Images\Menu backgrounds\%SubMenuLBackground%


pBitmap := Gdip_CreateBitmapFromFile(CurMenuBackground)
RMBWidth := Gdip_GetImageWidth(pBitmap), RMBHeight := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(RMBWidth, RMBHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

if (SubMenuL > RMBWidth) ; automatic & limit


SubMenuL := RMBWidth
if (SubMenuL > RMBHeight) ; automatic & limit
SubMenuL := RMBHeight

Gdip_DrawImage(G, pBitmap, 0, 0, SubMenuL, SubMenuL, 0, 0, RMBWidth, RMBHeight)


UpdateLayeredWindow(hwnd1, hdc, 0, 0, RMBWidth, RMBHeight, SubMenuBackTrans)

SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare Main menu background=== ; Gui, 99 is Radial Main menu's background


Gui, 99: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs +Disabled
Gui, 99: Show, hide
hwnd1 := WinExist()

CurMenuBackground = %A_ScriptDir%\Images\Menu backgrounds\%MenuBackground%


pBitmap := Gdip_CreateBitmapFromFile(CurMenuBackground)
RMBWidth := Gdip_GetImageWidth(pBitmap), RMBHeight := Gdip_GetImageHeight(pBitmap)
hbm := CreateDIBSection(RMBWidth, RMBHeight)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

if MenuBackgroundWidth =
MenuBackgroundWidth := RMBWidth
if MenuBackgroundHeight =
MenuBackgroundHeight := RMBHeight

if (MenuBackgroundWidth > RMBWidth) ; automatic & limit


MenuBackgroundWidth := RMBWidth
if (MenuBackgroundHeight > RMBHeight) ; automatic & limit
MenuBackgroundHeight := RMBWidth

Gdip_DrawImage(G, pBitmap, 0, 0, MenuBackgroundWidth, MenuBackgroundHeight, 0, 0,


RMBWidth, RMBHeight)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, RMBWidth, RMBHeight, MenuBackgroundTrans)

SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare MouseOnItem=== ; Gui, 98 is MouseOnItem glow


Gui, 98: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, 98: Show, hide, MouseOnItem
hwnd1 := WinExist()

MouseOnItemImage = %A_ScriptDir%\RMdata\%ItemGlowType%
pBitmap := Gdip_CreateBitmapFromFile(MouseOnItemImage)

Width := Gdip_GetImageWidth(pBitmap), Height := Gdip_GetImageHeight(pBitmap)

hbm := CreateDIBSection(Width, Height)


hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)
Gdip_DrawImage(G, pBitmap, 0, 0, ButtonSize, ButtonSize, 0, 0, Width, Width)
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize)
SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmap)

;===Prepare buttons===
Loop, %TotalButtons%
{
Gui, %A_Index%: -Caption +E0x80000 +LastFound +AlwaysOnTop +ToolWindow +OwnDialogs
Gui, %A_Index%: Show, hide x%A_Index% y%A_Index% w%ButtonSize% h%ButtonSize%,
RMItem%A_Index%

;===Gdi+ prepare===
hwnd1 := WinExist()
hbm := CreateDIBSection(ButtonSize, ButtonSize)
hdc := CreateCompatibleDC()
obm := SelectObject(hdc, hbm)
G := Gdip_GraphicsFromHDC(hdc)
Gdip_SetInterpolationMode(G, 7)

;===CreateBitmapFromFile===

;=Background=
if (I%A_Index%SpecialButtonBack = "" or I%A_Index%SpecialButtonBack = "ERROR")
; blank or error
CurItemBackground = %A_ScriptDir%\Images\Item backgrounds\%ButtonBackground%
Else if (I%A_Index%SpecialButtonBack = "no background")
; no background
CurItemBackground := A_ScriptDir "\RMdata\no background.png"
Else if (I%A_Index%SpecialButtonBack = "separator")
; separator
CurItemBackground := A_ScriptDir "\RMdata\separator.png"
Else
; else
CurItemBackground := A_ScriptDir "\Images\Item backgrounds\"
I%A_Index%SpecialButtonBack

pBitmapBackground := Gdip_CreateBitmapFromFile(CurItemBackground)

;=Icon=
CurIcon := A_ScriptDir "\Images\Icons\" I%A_Index%Icon
pBitmapIcon := Gdip_CreateBitmapFromFile(CurIcon)

;===Prepare item background and icon===


BackgroundWidth := Gdip_GetImageWidth(pBitmapBackground), BackgroundHeight :=
Gdip_GetImageHeight(pBitmapBackground)
Gdip_DrawImage(G, pBitmapBackground, 0, 0, ButtonSize, ButtonSize, 0, 0,
BackgroundWidth, BackgroundHeight) ; Background

tempShadowHeight := ShadowHeight/2
if (I%A_Index%SpecialButtonBack = "no background")
tempShadowHeight := 0

CurISX := I%A_Index%IconShrink
CurISY := I%A_Index%IconShrink - tempShadowHeight
IconWidth := Gdip_GetImageWidth(pBitmapIcon), IconHeight :=
Gdip_GetImageHeight(pBitmapIcon)
Gdip_DrawImage(G, pBitmapIcon, CurISX, CurISY, ButtonSize-CurISX*2, ButtonSize-
CurISX*2, 0, 0, IconWidth, IconHeight, IconTransMatrix) ; Icon

;===Set item Text name and position===


CurIName := I%A_Index%Name

;===Prepare item's text and Shadow===


if !(Shadow = 0) ; Shadows on
{
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter cFE%ShadowColor% r%TextRen% s%TextSize%

Loop ; fix shadow displacement


{
ShadowMeasures := Gdip_TextToGraphics(G, CurIName, Options, Font,
ButtonSize+ShadowOffset*2 , ButtonSize+ShadowOffset*2-ShadowHeight, 1)
Loop, parse, ShadowMeasures, | ; res
11.455078|15.000000|41.091797|29.097656|12|2
{
if A_Index = 3 ; Shadow's textW
{
if (A_LoopField > ButtonSize) ; if textW > ButtonSize insert more spaces
between words
StringReplace, CurIName, CurIName, %A_Space%, %A_Space%%A_Space%, all
Else
Goto, ShadowFixed
}
Else if (A_Index > 3)
Break
}
if (A_Index > 3) ; too long single word --> for now, just ignore, don't fix
{
; to do: auto split too long single word
Break
}

}
ShadowFixed:

Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize+ShadowOffset*2,


ButtonSize+ShadowOffset*2-ShadowHeight) ; Shadow

Options = Center Vcenter c%TextTrans%%TextColor% r%TextRen% s%TextSize%


Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-
ShadowHeight) ; text
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-
ShadowHeight) ; text
}

;===Prepare just item's Text=== ; 2 times! I think that this gives better antialias
results when TextAntialias = 1
Else ; Shadows off
{
Gdip_FontFamilyCreate(Font)
Options = Center Vcenter c%TextTrans%%TextColor% r%TextRen% s%TextSize%
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight)
Gdip_TextToGraphics(G, CurIName, Options, Font, ButtonSize, ButtonSize-ShadowHeight)
}

;===Automatic submenu marking===


if (I%A_Index%Child <> "" and AutoSubmenuMarking = 1)
{
AutoSubMarkPosX := ButtonSize/2-7 ; 5 7 9 | 1 2 3
if not (Shadow = 0)
{
AutoSubMarkPosX += 1
Options = x%AutoSubMarkPosX% y3 cFE%ShadowColor% r%TextRen% s13
Gdip_TextToGraphics(G, "**", Options, "Arial")
AutoSubMarkPosX -= 1
}
Options = x%AutoSubMarkPosX% y2 c%TextTrans%%TextColor% r%TextRen% s13
Gdip_TextToGraphics(G, "**", Options, "Arial")
Gdip_TextToGraphics(G, "**", Options, "Arial")
}

;===Item Foreground===
if (ButtonForeground and I%A_Index%SpecialButtonBack <> "Separator")
{
CurButtonForeground = %A_ScriptDir%\Images\Item backgrounds\%ButtonForeground%
pBitmapForeground := Gdip_CreateBitmapFromFile(CurButtonForeground)
ForegroundWidth := Gdip_GetImageWidth(pBitmapForeground), ForegroundHeight :=
Gdip_GetImageHeight(pBitmapForeground)
Gdip_DrawImage(G, pBitmapForeground, 0, 0, ButtonSize, ButtonSize, 0, 0,
ForegroundWidth, ForegroundHeight, ButtonForegroundMatrix) ; Foreground
}

;===Update button-window===
if I%A_Index%ItemTransparency =
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize, ButtonTrans)
Else
UpdateLayeredWindow(hwnd1, hdc, 0, 0, ButtonSize, ButtonSize,
I%A_Index%ItemTransparency)

;===Select and delete===


SelectObject(hdc, obm)
DeleteObject(hbm)
DeleteDC(hdc)
Gdip_DeleteGraphics(G)
Gdip_DisposeImage(pBitmapBackground)
Gdip_DisposeImage(pBitmapIcon)
Gdip_DisposeImage(pBitmapForeground)
}

;===Security1===
If (RMShowHotkey = "LButton" and ShowDelay < 200) ; specifying this (especially
ShowDelay = 0) + Radial menu shortcut in startup may be very dangerous.
{
Security1 =
(
For your security, specifying
RMShowHotkey = LButton and ShowDelay lesser than 200
is not allowed.
Radial menu will automatically set:
RMShowHotkey = RButton
ShowDelay = 220
RSMShowHotkey = LButton
)
Progress, off
MsgBox, 48, Radial menu - user security, %Security1%, 25
RMShowHotkey = RButton
ShowDelay = 220
RSMShowHotkey = LButton

IniWrite, %RMShowHotkey%, %A_ScriptDir%\RM settings.ini, General, RMShowHotkey


IniWrite, %ShowDelay%, %A_ScriptDir%\RM settings.ini, General, ShowDelay
IniWrite, %RSMShowHotkey%, %A_ScriptDir%\RM settings.ini, General, RSMShowHotkey
Security1 =
}

#Include *i %A_ScriptDir%\Utilities\BlackList.ahk
Hotkey, IfWinNotActive, ahk_group BlackList
Hotkey, %RMShowHotkey%, RMShowHotkey
Hotkey, %RMShowHotkey2%, RMShowHotkey2
Hotkey, IfWinNotActive

Hotkey, IfWinExist, RMItem1 ; at least 1 item in main menu must be shown to enable
Radial submenu show Hotkey
Hotkey, %RSMShowHotkey%, RSMShowHotkey
Hotkey, IfWinExist

Progress, off
Return ;===Auto-execute ends
here===

;===Main menu show


Hotkey========================================================================
RMShowHotkey:
hk =
gosub next
return
RMShowHotkey2:
hk = 2
next:
IsSubmenuShown = 0
QuitRMShow = 0
deg = 0
MouseGetPos, mx1, my1, OrigWinID
WinGetTitle, OrigWinTitle, ahk_id %OrigWinID%
SetTimer, QuitRMShow, 20

;===Prepare background postiton===


RMBX := mx1-MenuBackgroundWidth/2, RMBY := my1-MenuBackgroundHeight/2
Gui, 99: Show, hide x%RMBX% y%RMBY%, RMBackground ; RMBackground
Gui, 99: +Disabled

;===Prepare buttons postitons===


Loop, %MMTotalButtons%
{
if A_Index between 1 and 6 ; 1. ring --> 6 buttons
{
if A_Index = 1
deg =
if (MMTotalButtons >= 6)
CurRingTotalButtons = 6
Else
CurRingTotalButtons := MMTotalButtons

WheelRadius := FirstRingRadius
Gosub, CalcPos
}
Else if A_Index between 7 and 19 ; 2. ring --> 13 buttons
{
if A_Index = 7
deg =
if ButtonPositioning = static
CurRingTotalButtons := 13
else
{
if (MMTotalButtons >= 19)
CurRingTotalButtons = 13
Else
CurRingTotalButtons := MMTotalButtons - 6
}

WheelRadius := SecondRingRadius
Gosub, CalcPos
}
Else if A_Index between 20 and 39 ; 3. ring --> 20 buttons
{
if A_Index = 20
deg =
if ButtonPositioning = static
CurRingTotalButtons := 20
else
CurRingTotalButtons := MMTotalButtons - 19

WheelRadius := ThirdRingRadius
Gosub, CalcPos
}

Gui, %A_Index%: Show, hide x%itemX% y%itemY%

if QuitRMShow = 1
Return
}
While (A_TimeSinceThisHotkey < ShowDelay) ; ShowDelay sleep...
Sleep, 10

SetTimer, QuitRMShow, off


if QuitRMShow = 1
Return

;===If RMShowHotkey is still down - show prepared menu===


if SoundOnShow
{
StringToSend = PlaySoundOnShow
TargetScriptTitle = RMSoundOnShow
Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}

Gui, 99: Show, NA x%RMBX% y%RMBY%,RMBackground ; RMBackground


Gui, 99: +Disabled
Loop, %MMTotalButtons% ; RMItem (s)
Gui, %A_Index%: Show, NA

SetTimer, ItemTooltip, 20
if SoundOnHover
SetTimer, SoundOnHover, 20

if(hk = 2)
KeyWait, %RMShowHotkey2%, u ; waits RMShowHotkey to be released
else
KeyWait, %RMShowHotkey%, u ; waits RMShowHotkey to be released
LastRMItemNum =

;===When user releases RMShowHotkey===


SetTimer, ItemTooltip, off
Gui, 98: Hide ; MouseOnItem
SetTimer, SoundOnHover, off
ToolTip
; if problems with run occur (if Gui, 98 is still not hidden), put a short sleep here
MouseGetPos, , , WinID
WinGetTitle, WinTitle, ahk_id %WinID%
if WinTitle contains RMItem ; RMShowHotkey released on item
{

; =situation when user has opened submenu but releases mouse on main menu item -->
don't launch it.
If (IsSubmenuShown = 1 and JustNum <= MMTotalButtons) ; JustNum provided in
ItemTooltip sub
{
if SoundOnHide
{
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnHide%

StringToSend = StopPlaying
TargetScriptTitle = RMSoundOnShow
Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}
Gosub, RadialMenuClose
Return
}

MouseMove, %mx1%, %my1% ; back to original position


Gosub, MutualActions

if IsSubmenuShown = 1
{
TCurSubMenMin := CurSubMenMax - CurSubMenuLoop +1
TCurSubMenMax := CurSubMenMax
TCurSubMenuLoop := CurSubMenuLoop

Gosub, RadialMenuClose

Loop, %TCurSubMenuLoop% ; determine what to run


{
if !(A_index = 1)
TCurSubMenMin++

if (WinTitle = "RMItem" . TCurSubMenMin)


{
CurAction := I%TCurSubMenMin%Action
if (CurAction = "Error" or CurAction = "")
Break
Else
{
If CurAction = Mysub ; specifying Mysub tells
script to execute subroutine in MySubroutines
{
FunctionName := CurSubMenChildText A_index
if !(IsFunc(FunctionName) = 0)
%FunctionName%()
Break
}
Else
ImprovedRun(CurAction)
}
}
}
Return
}

Gosub, RadialMenuClose
Loop, %MMTotalButtons% ; determine what to run
{
if (WinTitle = "RMItem" . A_Index)
{
CurAction := I%A_Index%Action
if (CurAction = "Error" or CurAction = "")
Break
Else
{
If CurAction = Mysub ; specifying Mysub tells
script to execute subroutine in MySubroutines
{
FunctionName := "Main" A_index
if !(IsFunc(FunctionName) = 0)
%FunctionName%()
Break
}
Else
ImprovedRun(CurAction)
}
}
}
Return
}
else ; RMShowHotkey not released on item - just close menu
{
if SoundOnHide
{
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnHide%

StringToSend = StopPlaying
TargetScriptTitle = RMSoundOnShow
Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}
Gosub, RadialMenuClose
}
Return

;===Submenu show hotkey==========================================================


RSMShowHotkey: ; toggle open/close submenu
if IsSubmenuShown = 1 ; if submenu is shown, close submenu
{
MouseGetPos, Xend, Yend
IsInCircle := IsInCircle(smx1, smy1, Xend, Yend, ButtonSize/2)
if IsInCircle
{
if SoundOnSubHide
{
StringToSend = PlaySoundOnSubHide
TargetScriptTitle = RMSoundOnSubHide
Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}
Gosub, CloseSubmenu
}
Return
}

CurSubMenMin =
CurSubMenMax =
CurSubMenuLoop =
CurSubMenChildText =
deg =

if (I%LastRMItemNum%Child = "" or I%LastRMItemNum%Child = "error" )


Return

IsSubmenuShown = 1

SetTimer, ItemTooltip, off


if SoundOnHover
SetTimer, SoundOnHover, off

if SoundOnSubShow
{
StringToSend = PlaySoundOnSubShow
TargetScriptTitle = RMSoundOnSubShow
Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}

Loop, parse, I%LastRMItemNum%Child, `, ; parse submenu info


{
if A_index = 1
CurSubMenMin := A_LoopField
Else if A_index = 2
CurSubMenMax := A_LoopField
Else if A_index = 3
CurSubMenChildText := A_LoopField
}

CurSubMenuLoop := CurSubMenMax - CurSubMenMin + 1

smx1 := ActiveItemX+(ButtonSize/2), smy1 := ActiveItemY+(ButtonSize/2) - ShadowHeight

;===Prepare submenu background postiton===


if (CurSubMenuLoop < 7) ; small background
{
RSMBX := smx1-SubmenuS/2, RSMBY := smy1-SubmenuS/2
Gui, 97: Show, NA x%RSMBX% y%RSMBY%, RSMBackground ; RSMBackground
Gui, 97: +Disabled
}
Else ; large background
{
RSMBX := smx1-SubmenuL/2, RSMBY := smy1-SubmenuL/2
Gui, 96: Show, NA x%RSMBX% y%RSMBY%, RSMBackground ; RSMBackground
Gui, 96: +Disabled
}

;===Calculate positions and show buttons===


Loop, %CurSubMenuLoop%
{
If !(a_index = 1)
CurSubMenMin++

if (a_index < 7) ; 1. ring --> 6 buttons


{
if A_Index = 1
deg =
if (CurSubMenuLoop >= 6)
CurRingTotalButtons = 6
Else
CurRingTotalButtons := CurSubMenuLoop

WheelRadius := FirstRingRadius
Gosub, CalcPos
}
Else ; 2. ring --> 13 buttons
{
if A_Index = 7
deg =
if ButtonPositioning = static
CurRingTotalButtons := 13
else
CurRingTotalButtons := CurSubMenuLoop - 6

WheelRadius := SecondRingRadius
Gosub, CalcPos
}

Gui, %CurSubMenMin%: Show, NA x%itemX% y%itemY%


}

ToolTip
SetTimer, ItemTooltip, 20
if SoundOnHover
SetTimer, SoundOnHover, 20
Return

;===Subroutines=========================================================================
CalcPos: ; extracted from TomXIII's work (Thank you)
deg := deg ? deg+(360/CurRingTotalButtons): (360/CurRingTotalButtons)+90
rad := deg*PiDiv180
xOffset := WheelRadius*(-1*Cos(rad))-picRadius, yOffset := WheelRadius*
(-1*Sin(rad))-picRadius
if IsSubmenuShown = 1
itemX := smx1 + xOffset, itemY := smy1 + yOffset
Else
itemX := mx1 + xOffset, itemY := my1 + yOffset
Return

CloseSubmenu:
Gui, 98: Hide ; MouseOnItem glow

CurSubMenMin -= CurSubMenuLoop-1
Loop, %CurSubMenuLoop%
{
If not (a_index = 1)
CurSubMenMin++
Gui %CurSubMenMin%: Hide

Sleep, %DestroyDelay%
}

Gui, 97: Hide ; small submenu background


Gui, 96: Hide ; large submenu background
IsSubmenuShown = 0
IsInCircle =
smx1 =
smy1 =
Return

QuitRMShow:
if not (GetKeyState(RMShowHotkey,"p"))
{
if not (GetKeyState(RMShowHotkey2,"p"))
{
SetTimer, QuitRMShow, off
QuitRMShow = 1
;if(hk=2)
; SendInput, {%RMShowHotkey2%}
;else
; SendInput, {%RMShowHotkey%}
}
}
Return

ItemTooltip: ; + MouseOnItem glow


Critical
MouseGetPos, , , WinID
WinGetTitle, WinTitle, ahk_id %WinID%

if WinTitle = MouseOnItem
{
PlaySOHSound = 0
ToolTip, %CurToolTip%
Return
}

Else if WinTitle contains RMItem ; if mouse over RMItem


{
PlaySOHSound = 1
Gui, 98: Hide
ToolTip

StringTrimLeft, JustNum, WinTitle, 6


If (IsSubmenuShown = 1 and JustNum > MMTotalButtons)
{
TCurSubMenMin := CurSubMenMax - CurSubMenuLoop
Loop, %CurSubMenuLoop%
{
ttsubname := TCurSubMenMin + A_Index
if (WinTitle = "RMItem" . ttsubname)
{
LastRMItemNum := ttsubname
CurToolTip := I%ttsubname%ToolTip
ToolTip, %CurToolTip%
Break
}
}
}

Else
{
Loop, %MMTotalButtons%
{
if (WinTitle = "RMItem" . A_Index)
{
LastRMItemNum := A_Index
CurToolTip := I%A_Index%ToolTip
ToolTip, %CurToolTip%
Break
}
}
}

WinGetPos, ActiveItemX, ActiveItemY, , ,%WinTitle%


Gui, 98: Show, x%ActiveItemX% y%ActiveItemY% NA, MouseOnItem ; MouseOnItem
}
Else
{
LastRMItemNum = ; empty it so I%LastRMItemNum%Child will be blank - for submenu.
PlaySOHSound = 0
Gui, 98: Hide
ToolTip
}
Return

SoundOnHover:
if PlaySOHSound = 1
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnHover%, wait
Return

Exit:
Gdip_Shutdown(pToken)

;===Close SoundPlayers===
StringToSend = ExitApp
Loop, 3
{
if A_index = 1
TargetScriptTitle = RMSoundOnShow
Else if A_index = 2
TargetScriptTitle = RMSoundOnSubShow
Else if A_index = 3
TargetScriptTitle = RMSoundOnSubHide

Send_WM_COPYDATA(StringToSend, TargetScriptTitle)
}
;===

ExitApp
Return

RadialMenuClose:
if IsSubmenuShown = 1
Gosub, CloseSubmenu
Gui, 98: Hide
if RMCloseDirection = CW ; clockwise
{
Loop, %MMTotalButtons%
{
Gui %A_index%: Hide
Sleep, %DestroyDelay%
}
}
Else if RMCloseDirection = CCW ; counter-clockwise
{
TempTB := MMTotalButtons
Loop, %MMTotalButtons%
{
Gui %TempTB%: Hide
TempTB --
Sleep, %DestroyDelay%
}
}
Gui, 99: Hide
Return

MutualActions:
Critical
if SoundOnSelect
SoundPlay, %A_ScriptDir%\Sounds\%SoundOnSelect%
if !SelectEffect ; Select Effects disabled
Return

;===SelectEffects=== ; if you want fastes performance, just disable Select Effects by


setting blank SelectEffect variable in .ini file --> SelectEffect =
WinGetPos, XEff, YEff,,, %WinTitle%

;==Shake effect==
if SelectEffect = Shake
{
SetWinDelay, 35 ; Shake speed
Loop, 5
{
; Set Shake intensity. X axis shake looks better than Y axis shake
if A_index = 1 ; 2 pixels
XEff -= 2
Else if A_index = 2 ; 2 pixels
XEff += 4
Else if A_index = 3 ; 1 pixel
XEff -= 3
Else if A_index = 4 ; 1 pixel
XEff += 2
Else if A_index = 5 ; back to initial position
XEff -= 1
WinMove, %WinTitle%,, %XEff%, %YEff%
}
}
SetWinDelay, 100 ; default
Return

OpenRMF:
Run, explore %A_ScriptDir%
Return

~#!^F5::
ReloadRM:
msgbox,,, Radial Menu will reload now,2
Reload
Return

RMSettings:
Run, %A_ScriptDir%\RM settings.ini
Return
AboutRM:
MsgBox, 64, About Radial menu, %AboutRadialMenu%
Return

ExitRM:
ExitApp
Return

EditMySubroutines:
Run, edit %A_ScriptDir%\Utilities\MySubroutines.ahk
Return

Instructions: ; inter script communication


if CopyOfData = ReloadRM ; orders from skin changer
Reload
Return

;===MySubroutines=== ; in fact, MyFunctions


#Include %A_ScriptDir%\Utilities\MySubroutines.ahk

;Escape::ExitApp ; while developing RM

Back to top

Learning one Posted: Mon Mar 08, 2010 5:10 pm Post subject:

@LiquidGravit y: T hanks . Y ou wrote: "modular", "s kins " - - > I agree. I 'll c ode s kin
Joined: 04 Apr 2009 manager when I find s ome time.
Posts: 293
Location: Croatia
@bmn_:
1. you c an dis able RM hotkeys with a)B lac k lis t.ahk, b)c us tom s ubroutine c ) right c lic k on
tray ic on - - > s us pend hotkeys . Read RM help file.
2. G ui +D is abled works better than my s olution s o I implemented your s olution in RM
v3 .1 8 . T hanks ! I c urrently don't have enough time to
tes t 2 different s how keys , s o that s till won't be implemented.
3. read very c arefully: Radial menu lic enc e s ays :
- Expres s ion "Radial menu" here means Radial menu code and program its elf, and any part of
whole Radial menu package...
- You are not allowed to (re)dis tribute... ...without my written permis s ion!
Y ou pos ted whole RM main c ode without my written permis s ion! T hat is a heavy violation
of lic enc e! H owever, in this s pec ific s ituation, my
lic enc e works agains t my will. I 'm not angry bec aus e of your ac t/c onduc t, I don't demand
that you (in fac t moderator) delete your pos t, but
I s ee that I mus t regulate s ituation when s omeone wants to help by pos ting modified RM
c ode in this topic . Read my pos t below.

Back to top

Learning one Posted: Mon Mar 08, 2010 5:11 pm Post subject: Posting Radial menu code - regulation

Posting Radial menu code - regulation


Joined: 04 Apr 2009 Radial menu licence says:
Posts: 293 - Expression "Radial menu" here means Radial menu code and program itself, and any part of whole Radial menu package...
Location: Croatia - You are not allowed to (re)distribute... ...without my written permission!
Uploading and posting any part of Radial menu (and that is also whole code or part of code) without my written permission is
violation of licence!
However, in situation when someone wants to help by posting modified RM code, my licence works against my will.
I will not change RM licence text, but I'm giving this revocable written permission:

A ny person who agrees on all terms in Radial menu licence and in this permission, can
post modif ied Radial menu code under the f ollowing conditions:
1 . you c an pos t RM c ode only in RADI AL MENU s cripts topic on A utohotkey forum in
c odebox - (not link to your modific ation uploaded s omewhere els e! ).
2 . purpos e of pos ting mus t be intention to help to improve RM
3 . if you are pos ting more than 3 0 0 lines of c ode or the whole c ode;
- you mus t inc lude Warning and D es c ription s ec tions from the original c ode in the top of
your pos t.
- you mus t note that this is a modified vers ion and write your/modifiers name.
4 . I (author) c an revoke this permis s ion. I f I dec ide s o, everyone who pos ted c ode mus t
delete it!
(If this is not possible, moderator will do it) (Logically, revocation of this permission or RM licence change will be published/posted
in RADIAL MENU scripts topic)

Sorry for being so formal - remember that I'm a lawyer. If you want to do something else you'll need my written permission - so
just ask before you act.
Learning one (B. Mudrinic), RM author

Back to top

bmn_ Posted: Mon Mar 08, 2010 11:28 pm Post subject:


Guest

Learning one wrote:

- You are not allowed to (re)distribute... ...without my written permission!

s orry about that. Y ea, I know you are not allowed, but didnt think of it affec ting this thread
as well. But yea, you are right.

Learning one wrote:

1. you can disable RM hotkeys with a)Black list.ahk, b)custom subroutine c) right click on tray
icon --> suspend hotkeys. Read RM help file.

a)with the blac klis t works , but when i want to drag s omething with right mous e, i would
need to dis able for explorer and s ome others ~.~ no thanks , i like RM too muc h
b)T hats it. A nd then us e s us pend
c ) long way..... and i already got lazy with RM

Back to top

bmn_ Posted: Mon Mar 08, 2010 11:45 pm Post subject:


Guest

bmn_ wrote:

b)Thats it. And then use suspend

hmm, jus t played with it. but i s till prefere two hotkeys

Back to top

Learning one Posted: Tue Mar 09, 2010 4:01 pm Post subject:

Learning one presents you:

Radial menu v3.18


Joined: 04 Apr 2009
Posts: 293
Location: Croatia
Descript ion. Radial menu is a new method of giving commands to your computer. I t's a
powerful hotkey, launcher, and mous e ges tures s ys tem
packed in ergonomic and nice looking interface. I t is driven by Autohotkey, s o it can do almos t
anything.

Radial menu program consist of 1 ) radial menu module and 2 ) mous e ges tures
func tionality.

Def ault hot keys:


Rbutton:
- Drag down to s how radial menu module.
- Drag in other direc tions to exec ute mous e ges tures .
Lbutton: s hows /hides s ubmenus
1. Drag down to show radial menu module. Program shows radial menu around your mouse pointer when you press&hold
right mouse button (Rbutton)
and drag your mouse down for at least 9 pixels. Menu is displayed only while RButton is pressed down. Release RButton
above item to select it, or
anywhere else to hide menu. Item that has its own submenu is marked with two tiny stars near the top of the button.
While holding down Rbutton, click it
with left mouse button (Lbutton) to show its submenu. Release RButton above subitem to select it, or anywhere else to
hide submenu and main menu.
Click with LButton in the center of shown submenu to close it. Note that drag down with Rbutton to show main menu and
Lbutton click to show/hide
submenus are just default settings that can be changed.
2. Drag in other directions to execute mouse gestures. All other mouse gestures (not drag down) will not show radial
menu, but will execute whatever
you specify when you release RButton.

M ous e ges tures are s uitable for quic k mac ro c ommands , and radial menu module is more
s uitable to be us ed as a launc her.
N ormal Rbutton's c lic k func tion is always pres erved - jus t c lic k, and don't drag.

Radial menu (as the whole program, not jus t radial menu module) c an be c us tomized a lot.
Y ou c an c us tomize (c hange) all hotkeys , ges tures , menus ,
ac tions , s kins , s ounds and a plenty of other s ettings by editing .ini and .ahk files ;
- Mouse gestures can be edited in RMUtilities\MyMouseGestures.ahk
- General Radial menu settings and definition of main menu can be edited in RM settings.ini
- Definitions of submenus can be found and edited in Submenus folder (CompControl.ini, Files.ini, etc.)
- Some additional settings can be edited in RMUtilities folder (MySubroutines.ahk and BlackList.ahk)

D efault Radial menu s etup is jus t s ugges tion how it s hould it be s et up. Y ou have total
freedom to c hange it. J us t to be c lear, it will take s ome time
until you explore all pos s ibilities that Radial menu offers .

Help. P leas e read Radial menu help file.

Download Radial menu v3.18 Licence included in Radial menu package. Read Posting Radial menu code -
regulation

Changes c ompared to Radial menu v3 .1 7 :


- implemented mous e ges tures
- ShowDelay s etting replac ed with RMShowGes ture --> this is the only one change in ini files structure - you
can easily update.
- new folder: RMUtilities , new file: MyMous eGes tures .ahk
- updated RM help file - pleas e read it
- c hanged inter s c ript c ommunic ation c hannel; from 0 x4 a to 0 x1 0 0 1
- fixed dis appearing ic ons is s ue - T hanks to bmn_
- other minor c hanges

Back to top

Houndx Posted: Tue Mar 09, 2010 4:12 pm Post subject:

H opefully I unders tand the rules about pos ting modified c ode c orrec tly.
Joined: 09 Mar 2010
Posts: 6
I 've got an A s us T 9 1 M T c onvertible tablet. Sinc e it is a touc hs c reen devic e, I wanted the
menu to s tay on s c reen until I s elec ted an item - without having to hold down any
buttons . A ls o, s inc e I want to open it us ing the tablet button, I always want it to open in
the c enter of the s c reen no matter what orientation I 'm c urrently in. I made the following
c hanges in order to make 3 .1 7 open in the c enter of the s c reen, navigable with s ingle
s c reen taps then exec ute/c los e with a double tap.

Code:

;===Main menu show


Hotkey========================================================================
RMShowHotkey:
IsSubmenuShown = 0
QuitRMShow = 0
deg = 0
MouseGetPos, mx1, my1, OrigWinID
WinGetTitle, OrigWinTitle, ahk_id %OrigWinID%
SetTimer, QuitRMShow, 20

bec omes
Code:

;===Main menu show


Hotkey========================================================================
RMShowHotkey:
IsSubmenuShown = 0
QuitRMShow = 0
deg = 0
MouseGetPos, mx1, my1, OrigWinID
mx1 := A_ScreenWidth/2
my1 := A_ScreenHeight/2
WinGetTitle, OrigWinTitle, ahk_id %OrigWinID%
SetTimer, QuitRMShow, 20

T hen
Code:

KeyWait, %RMShowHotkey%, u ; waits RMShowHotkey to be released

bec omes
Code:

While (A_PriorHotKey <> "LButton" or A_TimeSincePriorHotKey > 500)


sleep, 10

A nd finally, I s et up the tablet button to s end F1 6 and make the following c hanges in RM
Settings .ini
Code:

RMShowHotkey = F16
ShowDelay = 0

I had intended to us e Simple Radial M enu for this but it has a few problems , for me at
leas t. Firs t, it c annot be reopened, after c los ing the menu, for a period of five to ten
s ec onds and, more s erious ly, it s tops working c orrec tly on oc c as ion and the s c ript has to
be reloaded to c orrec t it.

I may c hange it later to be navigable by "touc h to s elec t" and "releas e to open", but I
may not s inc e it works fairly well this way. O ne obs tac le I 'm s eeing to that method is that
KeyWait does not work with the touc hs c reen. KeyH is tory s hows that the touc hs c reen
properly generates L Button U p and D own mes s ages but KeyWait ignores them.

Back to top
bmn_ Posted: Tue Mar 09, 2010 4:30 pm Post subject:
Guest

Houndx wrote:

Code:

;===Main menu show


Hotkey========================================================================
RMShowHotkey:
IsSubmenuShown = 0
QuitRMShow = 0
deg = 0
MouseGetPos, mx1, my1, OrigWinID
mx1 := A_ScreenWidth/2
my1 := A_ScreenHeight/2
WinGetTitle, OrigWinTitle, ahk_id %OrigWinID%
SetTimer, QuitRMShow, 20

problem here mous e will be moved to middle of the s c reen even if you dont s elec t
anything. ins tead c hange few lines below
Code:

RMBX := mx1/2-MenuBackgroundWidth/2, RMBY := my1-MenuBackgroundHeight/2

to
Code:

RMBX := A_ScreenWidth/2-MenuBackgroundWidth/2, RMBY := A_ScreenHeight/2-


MenuBackgroundHeight/2

Houndx wrote:

Code:

KeyWait, %RMShowHotkey%, u ; waits RMShowHotkey to be released

bec omes
Code:

While (A_PriorHotKey <> "LButton" or A_TimeSincePriorHotKey > 500)


sleep, 10

eas ier would to not s tart the c los e timer at all. whereever you find
Code:

SetTimer, QuitRMShow,

write an off ins tead of the number

Back to top

Houndx Posted: Tue Mar 09, 2010 4:35 pm Post subject:

T hanks for the tips . I 'm brand new to A utoH otKey and made thos e c hanges within
Joined: 09 Mar 2010 s ec onds of getting it ins talled Sinc e I 'm exc lus ively us ing this with the touc hs c reen,
Posts: 6
the mous e pos ition is irrelevant but I 'll look at the s ec ond s ugges tion more c los ely.

Back to top
bmn_ Posted: Tue Mar 09, 2010 4:38 pm Post subject:
Guest

i am mis s ing s how delay and dis able ges tures feature in 3 .1 8 ! ! ! ! ! ! ! ! ! ! ! ! !

Back to top

bmn_ Posted: Tue Mar 09, 2010 4:42 pm Post subject:


Guest

I dont know if this s olution would help though as you s aid ahk does ent get keywait
malfunc tions for you. But what looks definatelly wrong about your c ode is the
A _T imeSinc eP riorH otKey > 5 0 0 if there is no new hotkey pres s for s ome time, it will s tay
in an infinite loop

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 12, 13, 14 ... 16, 17, 18 Next
Page 13 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 13, 14, 15, 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

bmn_ Posted: Tue Mar 09, 2010 4:46 pm Post subject:


Guest

bmn_ wrote:

...it will stay in an infinite loop

bmn_ think before you write... you dont have an edit field
its not an infinite loop, at one point you will pres s left mous e^^

Back to top
Houndx Posted: Tue Mar 09, 2010 4:49 pm Post subject:

What that ac c omplis hed was to keep the menu open until I double tap the s c reen. I t
Joined: 09 Mar 2010 allows me to navigate the menus with a s ingle tap then open item with a double tap or to
Posts: 6
c los e the menu altogether by double tapping anywhere on the s c reen. I t definitely works
as I 've been us ing it for a few days now.

edit: lol, you beat me to it

Back to top

bmn_ Posted: Tue Mar 09, 2010 5:29 pm Post subject:


Guest

hey,
have s ome ideas for 3 .1 7
added ability to not hide toolbar behind s c reen borders (when c lic king c los e to them) to
get it c hange c ode the following

Code:

*...*
;===General===
[b]IniRead, distance, %A_ScriptDir%\RM settings.ini, General, DistanceFromBorder[/b]

*...*

[b]if(mx2<distance)
mx2 = %distance%
else if(A_ScreenWidth-mx2<distance)
mx2 := A_ScreenWidth - distance
if(my2<distance)
my2 = %distance%
else if(A_ScreenHeight-my2<distance)
my2 := A_ScreenHeight - distance[/b]
;===Prepare background postiton===

*...*

;===Subroutines=========================================================================
CalcPos: ; extracted from TomXIII's work (Thank you)
deg := deg ? deg+(360/CurRingTotalButtons): (360/CurRingTotalButtons)+90
rad := deg*PiDiv180
xOffset := WheelRadius*(-1*Cos(rad))-picRadius, yOffset := WheelRadius*
(-1*Sin(rad))-picRadius
if IsSubmenuShown = 1
itemX := smx1 + xOffset, itemY := smy1 + yOffset
Else
itemX := [b]mx2[/b] + xOffset, itemY := [b]my2[/b] + yOffset
Return

bold s tuff needs to be added/modified


als o in the ini add
Code:

DistanceFromBorder = 80

looks like a good value to me.


T his only affec ts main menu though

Back to top

bmn_ Posted: Tue Mar 09, 2010 5:35 pm Post subject:


Guest
to enable dis tanc e from Sc reenborder for s ubmenu as well is even eas ier
Code:

*...*
;===General===
[b]IniRead, distance, %A_ScriptDir%\RM settings.ini, General,
DistanceFromBorder[/b]

*...*

[b]if(smx1<distance)
smx1 = %distance%
else if(A_ScreenWidth-smx1<distance)
smx1 := A_ScreenWidth - distance
if(my1<distance)
smy1 = %distance%
else if(A_ScreenHeight-smy1<distance)
smy1 := A_ScreenHeight - distance
MouseMove, %smx1%, %smy1%[/b]
;===Prepare submenu background postiton===

as well as the c hange in the s ettings and its done (yea, it may look s trange, but better
than having it hidden^^

Back to top

LiquidGravity (w/o Posted: Tue Mar 09, 2010 5:59 pm Post subject:
logon)
Guest
T his would definitely be c ool for touc h s c reen. T ouc h Sc reens O h the things I look
forward to in my future!

T oo bad you c an't jus t replac e every c ontext menu with it as well. (I mean: Y ou
probably c an going through and replac e eac h one at a time s inc e its A H K. B ut jus t to
override a Windows template and be done would be awes ome.)

Back to top

alaskatu Posted: Wed Mar 10, 2010 1:12 am Post subject: I love RM v3.18!!!

Joined: 19 Jan 2010 L earning one you are the bes t! T hanks for the amazing work!
Posts: 3
I like G es tures func tion s o muc h that i have implemented G es tures for WheelU p,
WheelD own, M Button for yours P rogramm.
J us t add this lines at the E nde your C ode (Radial menu v3 .1 8 .ahk) and you c an then
perform G es tures like M G _L WheelU p (G es ture left + WheelU p) and s o on...

Code:

;Hotkey add by Alaskatu, it works with Mousegesture (Edit MyMouseGestures.ahk,


add functions for MG_RWheelUp, MG_RWheelDown, MG_RMButton, MG_LWheelUp,
MG_LWheelDown, MG_LMButton, MG_UWheelUp, MG_UWheelDown)

mbutton::
wheelup::
wheeldown::
if (GetKeyState(RMShowHotkey, "p"))
{
Wheel:=a_thishotkey
;Gesture .= Gesture . Wheel
;LastGesture := Gesture . Wheel
Gesture .= Wheel
LastGesture := Wheel
MG_%Gesture%()
;msgbox %Gesture%
EmptyGestureVars()

}
else
sendinput {%a_thishotkey%}
return

T hanks L earning one for the good J ob,

A las katu

Back to top

Houndx Posted: Wed Mar 10, 2010 4:34 am Post subject:

I had to remove the ges ture s upport, for now, but I got 3 .1 8 working exac tly as I had
Joined: 09 Mar 2010 wanted it to all along. I t's eas ier to s ee than explain, s o you c an s ee a s hort video here -
Posts: 6
http://www.houndxphotos .c om/a8 1 /radial_touc h.wmv

T he s c ript required a few very minimal c hanges to ac hieve this . I us ed the pos itioning
c hange I lis ted above to make it open c enter s c reen. I als o us ed bmn_'s s ubmenu
c hanges to try and keep s ubmenus away from the edge of the s c reen. I n addition, I made
the following c hanges

Code:

;===Recognize gesture===
Loop
{
if (A_ThisHotKey <> RMShowHotkey) ; Houndx changes here to remove gesture
support
Return ; Houndx changes here to remove gesture support

break

Sleep, 20 ; prevents high CPU load


}

Code:

SetTimer, ItemTooltip, 20
if SoundOnHover
SetTimer, SoundOnHover, 20

SetTimer, TouchTest, 15 ; Houndx changes here to enable touch support

KeyWait, LButton, d ; Houndx changes here to close/launch after the touchscreen


is touched and then released
KeyWait, LButton, u ; Houndx changes here to close/launch after the touchscreen
is touched and then released

LastRMItemNum =

;===When user releases RMShowHotkey===

Code:
;===Submenu show
hotkey==========================================================
TouchTest: ; toggle open/close submenu ; Houndx changes here to
get RButton working properly with the touchscreen
if IsSubmenuShown = 1 ; if submenu is shown, close submenu
{
MouseGetPos, Xend, Yend
IsInCircle := IsInCircle(smx1, smy1, Xend, Yend, (ThirdRingRadius+85)/2) ;
Houndx change to allow touches to work properly with submenus
if IsInCircle
{
; if SoundOnSubHide ; Houndx change to allow touches to work properly
with submenus
; PostMessage("RMSoundOnSubHide",1) ; Houndx change to allow touches to
work properly with submenus
; Gosub, CloseSubmenu ; Houndx change to allow touches to work properly
with submenus
Return
}

Back to top

Learning one Posted: Wed Mar 10, 2010 1:32 pm Post subject:

I am giving revocable permission to: Houndx and LiquidGravity


Joined: 04 Apr 2009 to upload their Radial menu modifications under the following
Posts: 293
Location: Croatia
conditions:
1 . they c an upload it only on A utoH otkey.net on their ac c ount there.
2 . they mus t s tres s a) that I 'm the author, b) that this is their modific ation, c ) that they
have my permis s ion to upload it on A utoH otkey.net.
T hey will do that on this way:
Radial menu <vers ion> <modification name>
A uthor: Boris M udrinic (L earning one on A H K forum)
C ontac t: boris - mudrinic @ net.hr
M odified by <modifiers name>. P ermis s ion to upload this modific ation granted from author.
3 . they mus t always inc lude RM lic enc e, reproduc e it and make it prominent/notic eable
when us er runs their modific ation.
4 . I c an revoke this permis s ion. I f I dec ide s o, they mus t delete their modific ations
immediately!
5 . Revoc ation of this permis s ion or RM lic enc e c hange will be publis hed/pos ted in
RA D I A L M E N U s c ripts topic

E xample:
Code:

AboutRadialMenu =
(
Radial menu v3.18 Touch_Mod
Author:%A_Tab%Boris Mudrinic (Learning one on AHK forum)
Contact:%A_Tab%boris-mudrinic@net.hr
Thanks:%A_Tab%Chris Mallett, Tic (Tariq Porter), TomXIII, Patchen, SpeedY,
Preston, and others...
Modified by Houndx. Permission to upload this modification granted from author.

Licence:
Expression "Radial menu" here means Radial menu code and program itself, and
any part of whole Radial menu package except files not created
by me; Gdip.ahk and some files mentioned in Image sources.txt and Sound
sources.txt. As the author of Radial menu, I'm reserving all my rights,
but I'm temporary allowing that Radial menu can use any person that agrees on
all terms in this licence.

Radial menu is free for non-commercial, personal use under some conditions.
You are not allowed to (re)distribute, sell or rent Radial menu, or use it on
any commercial way, or have any profit from it in general, without my
written permission! You are also not allowed to have any profit from giving
information where Radial menu can be obtained. I'm not responsible for
any damages arising from the use of Radial menu. Everyone is encouraged to
improve Radial menu, but no matter how much anyone improve it,
my share in authorship will always be minimum 81`%. Everyone can create another
program based on Radial menu (derived program) under
following conditions: 1) my share in authorship in derived program will always
be minimum 51`%, 2) author of derived program has to mention my
name and contact in it and mark me as the major author, 3) he has to inform me
about his program, 4) he can not (re)distribute, sell or rent it
without my written permission! This licence is only temporary, I can change it
whenever I want, on any way I want. Licence change will be published
on AutoHotkey community forum. On issues not mentioned in this licence Croatian
laws apply. In the case of litigation, Croatian laws and language
apply and Municipal court in Zagreb has jurisdiction. If you don't agree on all
terms in this licence, you must exit Radial menu and delete it from
computer and any other device that can store electronic data immediately! (You
are even not allowed just to take a look at Radial menu, especially
the codes). If you are unsure what you are allowed or not allowed to do,
contact me.
)

MsgBox,324, Welcome to Radial menu, %AboutRadialMenu%`n`nDo you agree on all


terms mentioned above?`n(If you agree, this message will never show again.)

Sorry for being s o formal.

Last edited by Learning one on Sun Mar 14, 2010 10:53 pm; edited 3 times in total

Back to top

Learning one Posted: Wed Mar 10, 2010 1:42 pm Post subject:

N ow les s formal part


Joined: 04 Apr 2009
Posts: 293
Location: Croatia T o be c lear, I like when s omeone wants to improve/modify RM , but I jus t want that people
res pec t my c opyright.

@Houndx:I read your pos t(s ), and watc hed your video, and I mus t s ay that I like your
video, your modific ations and ideas ! Y ou have my permis s ion (s ee above).

@alaskat u: T hanks . Y our idea (WheelU p, WheelD own, M Button) is almos t exac tliy the
s ame like my private RM modific ation.
A s you like it, I think I 'll implement it in offic ial releas e.

Back to top

Learning one Posted: Wed Mar 10, 2010 3:40 pm Post subject:

@Houndx: H ey, I jus t want to remind you that if you want to inc lude G dip.ahk in your
Joined: 04 Apr 2009 modified RM pac kage and upload it on A utoH otkey.net, you mus t as k T ic , author of
Posts: 293
Location: Croatia G dip.ahk for permis s ion! I know it's c omplic ated but you must respect Tic's copyright as
well! I have his permis s ion, but you probably don't, s o as k him.

Back to top

Houndx Posted: Wed Mar 10, 2010 4:30 pm Post subject:

L earning one, thanks s o muc h for you permis s ion and for pointing out that I need to
Joined: 09 Mar 2010 c ontac t T ic as well. I had jus t repac ked all the files and was getting ready to pos t links ,
Posts: 6
etc
I did make a few s mall c hanges this morning in addition to thos e lis ted above. I added a
1 0 2 4 x1 0 2 4 blac k filled image c alled D ark.png and s et it as a mos tly trans parent
bac kground image in order to prevent finger drags from interac ting with bac kground
windows . I als o tweaked the ring radii s lightly to s pac e the menus out a bit for inc reas ed
finger friendlines s .

A nyone us ing this modific ation on a touc hs c reen devic e with a dis play width larger than
1 0 2 4 will mos t likely want to inc reas e the dimens ions of D ark.png to matc h your s c reen
width. Y ou'll want to make it s quare s o that it will work to prevent bac kground window
interac tions in both lands c ape and portrait. A s s oon as I hear bac k from T ic , I 'll pos t the
A utoH otKey.net link.

T hanks !

Back to top

tic Posted: Wed Mar 10, 2010 5:49 pm Post subject:

O k guys I ve updated the 1 s t pos t in the gdi+ library s o that you c an us e the library as
Joined: 22 Apr 2007 you s ee fit. I apprec iate you guys being s o res pec tful even if it is a bit formal
Posts: 1498

I 've been a bit rubbis h at finis hing projec ts , but am working on a lot of things to releas e!
BRA is in a us able but unfinis hed format, but I would enc ourage that to be integrated into
Radial M enu as portable s kins for a number of reas ons lis ted in T utorial 1 1

Back to top

Houndx Posted: Wed Mar 10, 2010 6:16 pm Post subject:

T hanks T ic ! T he T ouc h modified vers ion of Radial M enu c an be downloaded here -


Joined: 09 Mar 2010 http://www.autohotkey.net/~H oundx/Radial% 2 0 menu% 2 0 v3 .1 8 _T ouc h_M od.zip P leas e
Posts: 6
remember that ges tures have been dis abled for this . I f you c an find a good method of
reintegrating them, by all means do.

A nyone who wis hes to bas e any further modific ations off my, admittedly minor,
modific ations is free to do s o with no need to as k for my permis s ion - but remember that
you will need L earning one's permis s ion. L earning one's lic ens e is in tac t and you mus t
agree to his terms to us e or modify his work.

Back to top

LiquidGravity Posted: Wed Mar 10, 2010 6:56 pm Post subject:

tic wrote:
Joined: 26 Jan 2009
Ok guys Ive updated the 1st post in the gdi+ library so that you can use the library as you see
Posts: 69
fit. I appreciate you guys being so respectful even if it is a bit formal

I've been a bit rubbish at finishing projects, but am working on a lot of things to release! BRA is
in a usable but unfinished format, but I would encourage that to be integrated into Radial Menu
as portable skins for a number of reasons listed in Tutorial 11

I am c urrently modifying the Radial M enu v3 .1 8 to be able to run modular themes . I 'm
c alling it a "theme" ins tead of "s kin" bec aus e I am having it inc lude the s ounds , images ,
effec t s c ript, and als o many of the .ini s ettings . I am not entirely finis hed with the
c hanges yet but s hould be within a few days , maybe even tonight. So far I have gotten the
themes s eparated into individual folders and als o modified the s kin c hanger program to
load and apply them c orrec tly. M y next tas k is c hange all the paths in the main s c ript to
c ompletely dynamic . I will be working on that tonight.

I s there any s upport for A P N G files ? T his would allow all kinds of great s kins .

Back to top

Learning one Posted: Wed Mar 10, 2010 9:37 pm Post subject:

O k guys , the time has c ome to s ugges t s ome c hanges .


Joined: 04 Apr 2009
Posts: 293
Location: Croatia Collaborative Radial menu development?
T here are a number of examples when people s aid s omething like; "T hanks for c reating
this s c ript", "A wes ome work", "G reat s c ript", s o
obvious ly, Radial menu is not a us eles s s c ript/program. I 'm als o bombarded with your
s ugges tions how to improve RM .
I s imply don't have enough time to implement all your great s ugges tions . I als o have my
own (c odable) vis ions how to improve (and rewrite) RM ,
and I 'm motivated to c ode them, but again, my free time is limitation. I probably won't be
able to implement s ome big improvements for a
longer period of time, and I 'm s ad bec aus e of that.

I notic ed that people s tarted to do nic e modific ations of my work. But too many
modific ations c an c aus e c onfus ion, and was te of work, bec aus e
every modific ation is "is olated" work.

I s ay the following: Why s houldn't we join our forc es ?

I s anybody interes ted to s tart real c ollaborative RM development, where unlimited


number of pers ons c an be involved? S o we'll hopefully c reate
one s uper vers ion of Radial menu together as a team, and not a few "is olated"
modific ations c reated by s ome individuals .
RM lic ens e c an be c hanged, inc luding my minimal s hare in authors hip c laus e, and
(re)dis tribution res tric tion.

N ote that developing RM is not jus t writing a c ode. Y ou c an c ontribute by des igning new
or modifying exis ting s kins and s ound s ets , brows ing
internet for free s ounds and images , by res earc hing ergonomic s , res earc hing how to give
c ommands to your c omputer with minimal effort in general,
res earc hing bes t c ompromis es - es pec ially good look/func tionality, number of
pos s ibilities /eas e of us e, s tudying other free s c ripts on A H K forum to
s ee what els e do you want to have implemented in RM , s tudying other C irc ular/Radial
launc hers to s ee what do you like and what you don't,
negotiating with other people (authors ), tes ting the c ode on all pos s ible s c enarios , and s o
on, and s o on...

T hat are jus t s ome things that I had to do A L O N E (and s till doing it), to be able to c reate
Radial menu. H owever, oc c as ionally s ome people helped me,
and for that, they are mentioned in "thank you s ec tions ".

So onc e again, is anybody s erious ly interes ted to join the forc es ? Should we s tart to
develop RM together, as a team?
I s anybody s erious ly interes ted to get involved?

I 'm waiting for your replies .

Back to top
Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> All times are GMT


Scripts & Functions Goto page Previous 1, 2, 3 ... 13, 14, 15, 16, 17, 18 Next
Page 14 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 14, 15, 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

bmn_ Posted: Wed Mar 10, 2010 10:53 pm Post subject:


Guest

Learning one wrote:

Is anybody seriously interested to get involved?

I'm waiting for your replies.

I gues s i would help when putting together different c hanges made, s o there is only one
vers ion. But at the s ame time for me there is no reas on to s wic h to 3 .1 8 and working on
an old vers ion is us eles s . But I will s ee. I f you have c onc rete ideas i like, i am helping
to implement them.

But what i am s eaious ly thinking of is to s tart a interac tiv s kin editor. L earning by
people us ing it and giving thes e ideas to the others .

Back to top

Guest Posted: Wed Mar 10, 2010 10:57 pm Post subject:

LiquidGravity wrote:

I am currently modifying the Radial Menu v3.18 to be able to run modular themes
...
So far I have gotten the themes separated into individual folders and also modified the skin
changer program to load and apply them correctly.

s o all in all what is the differenc e to now, bes ides that the layout s ettings are moved out
of the ini?
Back to top

Elesar Posted: Thu Mar 11, 2010 1:05 am Post subject:

I think that if this does go to a c ollaborative development, we will s ee plenty of people


Joined: 28 Jun 2007 helping out to make it worth while.
Posts: 327

I would love to get bac k into this s c ript as s oon as I finis h up s ome of my larger
projec ts that I am working on now.

T he I N I s eems to be fairly s et now, not too many options being added/removed


anymore, s o I may s tart trying to rework my attempts at a s ettings front end s oon.

I do have s ome s ugges tions that I would like to s ee implemented, I jus t haven't had the
time to look into them yet.

A utomatic ic on extrac tion if target is an exe, overwrite if c us tom one is s et.


C enter c loc k as an option (an earlier pos t s howed this , I really like it)
M odular Skinning (L iquidG ravity is already working on this )

I had s ome others , but c an't think of them right now....kinda dis trac ted, being at work
and all.

O n another note, I have tried out the ges tures , and I do like it on my home s ys tem, but
on my laptop its jus t a bit awkward s eeming to me, s o its taken out on that c opy.

Back to top

LiquidGravity Posted: Thu Mar 11, 2010 5:39 am Post subject:

Anonymous wrote:
Joined: 26 Jan 2009
Posts: 69 LiquidGravity wrote:

I am currently modifying the Radial Menu v3.18 to be able to run modular themes
...
So far I have gotten the themes separated into individual folders and also modified
the skin changer program to load and apply them correctly.

s o all in all what is the differenc e to now, bes ides that the layout s ettings are
moved out of the ini?

I as s ure you it required muc h more than that.


M odified the s kin c hanger to automatic ally lis t all themes in the themes folder and als o
to load the one that is s elec ted. L ots of s mall c hanges though out the whole main s c ript
to make this work and als o many s mall c hanges to allow more c us tomization in a theme.
T hemes c an inc lude the s ounds , images , effec t s c ript, and als o many of the .ini
s ettings .

N ew way to do s elec t effec ts . A dded E ffec tSpeed into the ini. C an be any length of
c omma s eparated moves .
For example:
Selec tE ffec t = x- 2 ,x4 ,x- 3 ,x2 ,x- 1
Would be s imilar to the default exc ept X and Y are negated in the s c ript to c orres pond
to world geometry. So x4 is up 4 on the s c reen.
Selec tE ffec t = x4 ,y4 ,x- 4 ,y- 4 would be a s quare movement.

I als o added an off s etting to the mous e ges tures .


RM ShowG es ture = O FF

I have finis hed making c hanges and am tes ting now.

A bout C ollaborative Radial menu development.


I 'm all for it. I will s end my modified vers ion to Boris s ometime tomorrow.

Back to top

tic Posted: Thu Mar 11, 2010 1:32 pm Post subject:

Houndx wrote:
Joined: 22 Apr 2007
Learning one, thanks so much for you permission and for pointing out that I need to contact
Posts: 1498
Tic as well. I had just repacked all the files and was getting ready to post links, etc

I did make a few small changes this morning in addition to those listed above. I added a
1024x1024 black filled image called Dark.png and set it as a mostly transparent background
image in order to prevent finger drags from interacting with background windows. I also
tweaked the ring radii slightly to space the menus out a bit for increased finger friendliness.

Anyone using this modification on a touchscreen device with a display width larger than 1024
will most likely want to increase the dimensions of Dark.png to match your screen width. You'll
want to make it square so that it will work to prevent background window interactions in both
landscape and portrait. As soon as I hear back from Tic, I'll post the AutoHotKey.net link.

Thanks!

I would pers onally not draw the blac k s c reen behind....you c ould draw a bac kground that
is 0 x0 1 ffffff for example, but pers onally I would s et a hotkey:

Code:

Hotkey, LButton Up, lbu, On

and in the s ubroutine perform a mous egetpos to get either the pos ition or hwnd and
dec ide upon whic h ac tion to take. after this is taken, then the hotkey c an be turned off

Back to top

LiquidGravity Posted: Thu Mar 11, 2010 5:39 pm Post subject:

I found s ome things that look very promis ing for an awes ome idea for the future. D on't
Joined: 26 Jan 2009 want to s pill the beans until I have a working example. For now jus t know that this will
Posts: 69
be very big in the world of c us tomization if it works .

Back to top

Learning one Posted: Thu Mar 11, 2010 11:55 pm Post subject:

I updat ed RM v3.18. J us t one fix.


Joined: 04 Apr 2009 Code:
Posts: 293
Location: Croatia Sleep, 20 ; prevents high CPU load
T his line was on wrong plac e. N ow it really prevents high C P U load.
+ additional c redit to T ic in Des cription s ec tion
@LiquidGravit y: I know that feeling. We are waiting.

Back to top

Learning one Posted: Sat Mar 13, 2010 8:55 pm Post subject:

U pc oming RM v3 .1 8 update will s atis fy people who like mous e ges tures (like me), and
Joined: 04 Apr 2009 thos e who don't.
Posts: 293
Location: Croatia RMShowGes ture is replac ed with RMShowMethod (Radial menu s how method). C an be 1 )
M ous e ges ture or 2 ) Show delay.
1 ) I f RM ShowM ethod is s et to U or D or R or L, then method that s hows RM 's main menu
is a mous e ges ture. (U means up, D down, R right, L left.)
2 ) I f RM ShowM ethod is a number, then method that s hows RM 's main menu is a s how
delay (old s ys tem, like in vers ions before RM v3 .1 8 ). I n this
method, all mous e ges tures are dis abled.
M ore explanations in RM help file. I 'll probably releas e it tomorrow. P robably win s et
always on top toggle when you click on maximize button in window will be implemented too.

Back to top

LiquidGravity Posted: Sun Mar 14, 2010 7:17 pm Post subject:

Formally reques ting permis s ion to upload Radial M enu V 3 .1 8 w/ T hemes .


Joined: 26 Jan 2009
Posts: 69
Res pons e to below c omment: T hank you.

Last edited by LiquidGravity on Mon Mar 15, 2010 2:36 am; edited 1 time in total

Back to top

Learning one Posted: Sun Mar 14, 2010 10:06 pm Post subject:

With pleas ure. P ermis s ion granted.


Joined: 04 Apr 2009 I would like to put a link to your modific ation in the firs t pos t. D o you agree?
Posts: 293
Location: Croatia

Back to top

LiquidGravity Posted: Mon Mar 15, 2010 2:35 am Post subject: Radial menu v3.18 w/ Themes

Radial menu v3 .1 8 w/ T hemes : a mod by L iquidG ravity


Joined: 26 Jan 2009 http://www.autohotkey.net/~L iquidG ravity/Radial% 2 0 menu% 2 0 v3 .1 8 % 2 0 T hemes .zip
Posts: 69

M odified the s kin c hanger to automatic ally lis t all themes in the themes folder and als o
to load the one that is s elec ted. L ots of s mall c hanges though out the whole main s c ript
to make this work and als o many s mall c hanges to allow more c us tomization in a theme.
T hemes c an inc lude the s ounds , images , effec t s c ript, and als o many of the .ini
s ettings . T hey c an now be s eparate pac kages .

N ew way to do s elec t effec ts . C an be any length of c omma s eparated moves .


For example:
Selec tE ffec t = x- 2 ,x4 ,x- 3 ,x2 ,x- 1
Would be s imilar to the default exc ept X and Y are negated in the s c ript to c orres pond
to world geometry. So x4 is up 4 on the s c reen.
Selec tE ffec t = x4 ,y4 ,x- 4 ,y- 4 would be a s quare movement.
A dded E ffec tSpeed into the ini for c ontrolling s elec tion effec t s peed.

I als o added an off s etting to the mous e ges tures .


RM ShowG es ture = O FF
will dis able all ges ture operations and will us e a s hort timer ins tead.

Back to top

LiquidGravity Posted: Mon Mar 15, 2010 2:50 am Post subject:

N ow about that C ollaborative Radial menu development idea. What exac tly do you have
Joined: 26 Jan 2009 in mind? Something like G oogle C ode projec t hos ting? http://c ode.google.c om
Posts: 69
/p/s upport/wiki/G ettingStarted

Back to top

Learning one Posted: Mon Mar 15, 2010 7:10 pm Post subject:

@LiquidGravit y: Radial menu v3 .1 8 T hemes = G reat job!


Joined: 04 Apr 2009 Google Code project hosting wrote:
Posts: 293
Location: Croatia Project Hosting on Google Code provides a free collaborative development environment for
open source projects.

Radial menu is proprietary s oftware, not open s ourc e or free s oftware s o I think it c an't
be hos ted there.

* * *

RM v3.18 updated (v3.1806)


U nfortunately, I finis hed this update before L iquidG ravity releas ed his modific ation, s o
it's not upgrade of his work.

C hanges :
A) R MShowMethod
RM ShowG es ture is replac ed with RM S howM ethod (Radial menu s how method). C an be
1 ) M ous e ges ture or 2 ) Show delay.
1 ) I f RM ShowM ethod is s et to U or D or R or L , then method that s hows RM 's main menu
is a mous e ges ture. (U means up, D down, R right, L left.)
2 ) I f RM ShowM ethod is a number, then method that s hows RM 's main menu is a s how
delay (like old s ys tem in vers ions before RM v3 .1 8 ). I n this
method, all mous e ges tures are dis abled. M ore explanations in RM help file.
B ) NCHI TTESTExtra
N ew file in RM U tilities - - > NCHI TTESTExtra.ahk. N ow you c an exec ute s ome extra
ac tions when you c lic k on s ome part of window with RM ShowH otkey
ins tead of s howing RM 's main menu or exec uting mous e ges ture. T here is jus t one
built- in func tionality; c lic king on window's M A XBU T T O N with RM ShowH otkey,
will toggle A lways O nT op s tate of that window. Y ou c an write your own func tions there if
you want. I t's the s ame philos ophy as M yM ous eG es tures .ahk - tabula ras a.
Read Des cription s ec tion in N C H I T T E ST E xtra.ahk. WM _N C H I T T E ST () is Sean's
func tion that determines what part of the window is under mous e c urs or.
I t is implemented in RM with his permis s ion. Thank you Sean!

Download updat ed RM v3.18

Back to top

XionII Posted: Fri Mar 19, 2010 8:31 am Post subject:

Joined: 01 Feb 2010


Posts: 6 C ool! I finally dec ided to upgrade from 3 .1 7 to the lates t vers ion, about 1 0 minutes
Location: California, USA
ago. So far, s o good! T rans ferring all of my old s ettings was really pain- free too, whic h
is a plus .
A ll in all, I give this 5 Five +++++ plus s es out of 5 , and 1 0 thumbs up! T he s ame as
the old vers ion!
Keep up the good work pleas e!

Back to top

SgtPooki Posted: Fri Mar 19, 2010 9:50 pm Post subject: This is my favorite ahk script!

T his program is awes ome, and I am s lowly adding eac h and every program I us e to the
Joined: 19 Mar 2010 menu, I als o plan on editing it s o you do not have to c lic k on eac h c irc le to have the
Posts: 2
next menu appear.

A n E as y fix, and a pers onal preferenc e, but an inc reas e in produc tivity nonetheles s .

A ls o, there has been talk of making additional c hanges to this s c ript, and a greatly
needed one and one I pers onally would love to make(when I get a c hanc e between full
time s c hool and work) is a way to eas ily add new ic ons ...

I plan on c reating a s c ript that will automatic ally append the .ini files by drag and drop
of an E XE onto the radial menu when in 'E D I T ' mode. I t's doable, but there are many
ways to do it and it will not be a s imple add for me, but definitely a fun one to attempt.

I f anyone els e has any ideas pleas e provide your input.

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts All times are GMT
& Functions Goto page Previous 1, 2, 3 ... 14, 15, 16, 17, 18 Next
Page 15 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 15, 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic


Author Message

Elesar Posted: Sat Mar 20, 2010 4:47 am Post subject:

SqtP ooki, your idea is es s entially what I am aiming for when I get time to work on my
Joined: 28 Jun 2007 s ettings front end again, though I have no idea when that will be.
Posts: 327

P rovided RM goes to c olab. development, it may jus t be eas ier to integrate it into RM
ins tead of having a different s c ript interac t with it.

M y original attempt was not drag&drop, and c reated an always - open RM that would
c hange as you added items via a gui that it was doc ked to, but I only got about 5 0 %
done with that, and RM was s till undergoing frequent and radic al c hanges at that time.

I 'm hoping to get s ome free time this weened to s tart looking at it, but no promis es

A ls o, I do like your idea of not having to c lic k to s how s ub- menu. M aybe a s mall hover
delay c ould be implemented ins tead?

Back to top

Learning one Posted: Sat Mar 20, 2010 11:59 pm Post subject:

@XionII & Sgt Pooki, thanks for kind words .


Joined: 04 Apr 2009
Posts: 293
Location: Croatia SgtPooki wrote:

I also plan on editing it so you do not have to click on each circle to have the next menu
appear.

I do not enc ourage auto s ubmenu open when you hover over item. Why? L imitation to
jus t one ring in main menu. Read this .

@Elesar & Sgt Pooki:


- A utomatic ic on extrac tion if target is an exe, overwrite if c us tom one is s et.
- C enter c loc k as an option (an earlier pos t s howed this , I really like it)
- M odular Skinning (L iquidG ravity is already working on this )
G reat s ugges tions . I enc ourage them all.

I f you will c reate RM settings script, pleas e, try to make it a s tand alone s c ript. I
s trongly ins is t on that. So when you run RM s ettings s c ript:
1 ) it exits RM (if it is running)
2 ) loads RM in "edit mode"
3 ) when us er finis hes c us tomization, it writes values to .ini files and
4 ) reloads RM

Some guidlines:
1 ) very long s elf- explainable variable names are always better than s hort ones .
E xample: AutoSubmenuMarking is always better than ASM
2 ) write c omments
3 ) if you will edit RM main s c ript, try to pres erve c ode s truc ture at all c os ts

In upcoming RM update: pos s ibility to s et button pos itioning s eparately for main menu
and s ubmenus , pos s ibility to c hange window's trans parenc y
by dragging and s liding over window's c aption with RM ShowH otkey, Sort RM I tems .ahk
utility, s ome reliability improvements , maybe s omething els e...

BT W, if s omebody likes LiquidGravity's or Houndx's modif ications, s ay it! I s aid I like


them. Saying nice mod is the minimal reward for their efforts .
Back to top

SgtPooki Posted: Sun Mar 21, 2010 4:22 pm Post subject: hover over submenu button

I didn't think of that. Y ou would only be limited to one ring, and it would be a pain if you
Joined: 19 Mar 2010 ac c identally hovered over one button you didn't mean to..
Posts: 2

But I am all for the hard c hallenges , thats why I s tarted programming

We c ould eas ily verify that hovering over a button wouldn't c aus e a problem and open
the s ubmenu at that point, or require a c lic k if hovering would c aus e annoyanc e.

I f I didn't explain that well enough:

I f (C urrentM enuRing == 1 L evelD eep) && (mous ehover % s ubmenubutton% )


{
goto open s ubmenu c ode
}
els e
{
wait for c lic k
}

Back to top

Learning one Posted: Mon Mar 22, 2010 8:58 pm Post subject:

Joined: 04 Apr 2009


Radial menu v3.18 updated (v3.1807)
Posts: 293
Location: Croatia Changes:
- one (visual) s urpris e
- c lic k & horizontal drag over window's c aption will c hange window's trans parenc y. Drag
left inc reas es and drag right dec reas es trans parenc y.
(one more built- in N C H I T T E ST E xtra.ahk func tionality)
- ButtonPos itioning s plit to MMButtonPos itioning and SMButtonPos itioning - now you c an
c hange button pos itioning s eparately for main menu and s ubmenus
- Sort RM I tems .ahk - new utility loc ated in U tilities folder. Read des c ription s ec tion in it.
- updated RM help file
- s ome other c hanges

Download

* * *

@LiquidGravit y: I 'll implement modular themes in RM v3 .1 9

Back to top

LiquidGravity Posted: Tue Mar 23, 2010 2:04 am Post subject:

V ery nic e s kin and the trans parenc y is an awes ome effec t.
Joined: 26 Jan 2009
Posts: 69
C an't wait for V 3 .1 9 !

I 'm working on that animated P N G thing. H opefully I 'll have it all figured out for V 3 .2
Back to top

XionII Posted: Tue Mar 23, 2010 2:20 am Post subject: RM has become even better?!
Inconceivable!!

Joined: 01 Feb 2010 T hat new s kin is really really awes ome... c razy c ool! Being able to make windows
Posts: 6 different levels of trans parenc y is nifty too.
Location: California, USA

@ L iquidG ravity: A nimated P N G ? N ever heard of s uc h a thing. Sounds like I c an't wait
for it!

P .S.
J us t an afterthought; I t would be kinda neat to have a line follow the movement of your
mous e ic on when you are doing mous e ges tures .

P .P .S
I 'll keep it to the point; I was mes s ing with M yM ous eG es tures , in partic ular trying to
get U D to s how the desktop.
M G _U D () {
Send #D
}
T his does n't work. I t s imply types D . I s there a better c ommand to s how the desktop?
T hanks .

Back to top

Loving this script Posted: Tue Mar 23, 2010 4:28 am Post subject: autohotkey_l compatibility
Guest

I c ant get it working with A utohotkey_L , the radial menu does n't s how. (tried on v3 .1 7
and 3 .1
I read the c ode, but I am c lueles s about whic h modific ation s hould be made.

C an anybody help, pleas e?

Back to top

Elesar Posted: Tue Mar 23, 2010 5:15 am Post subject: Re: RM has become even better?!
Inconceivable!!

Joined: 28 Jun 2007 XionII wrote:


Posts: 327
P.P.S
I'll keep it to the point; I was messing with MyMouseGestures, in particular trying to get UD to
show the desktop.
MG_UD() {
Send #D
}
This doesn't work. It simply types D. Is there a better command to show the desktop?
Thanks.

G ive WinM inimizeA ll a try

Back to top

Elesar Posted: Tue Mar 23, 2010 5:22 am Post subject:

Bug Report:
Joined: 28 Jun 2007
Posts: 327
I really like the trans parenc y utility added in the lates t vers ion. H owever, I have
notic ed that I frequently have to "refres h" a window to get the lates t updates by
c hanging trans parenc y of the window.

M y main is s ue is with C hrome, as when I reload a page or s c roll up/down, it looks like
the program freezes , but it is ac tually working, jus t not updating until I forc e refres h of
the trans parenc y.

Back to top

XionII Posted: Tue Mar 23, 2010 5:47 am Post subject:

@ E les ar
Joined: 01 Feb 2010 A wes ome. I knew there had to be a way! T hanks a ton, as this now freed up a whole
Posts: 6
Location: California, USA s pac e in RM main window!

edit: T he only downs ide to WinM inimizeA ll is that it does n't bring windows bac k up. I
take it WinM inimizeA llU ndo would do that, but my s kills aren't great enough to
implement it when, s ay, the desktop is in foc us . I t will do for now, in any c as e.

edit2 : I believe that I got it to work properly! T hanks again E les ar for s etting me on the
right path!

Back to top

guest101 Posted: Wed Mar 24, 2010 3:47 pm Post subject: Re: autohotkey_l compatibility
Guest

Loving this script wrote:

I cant get it working with Autohotkey_L, the radial menu doesn't show. (tried on v3.17 and
3.1
I read the code, but I am clueless about which modification should be made.

Can anybody help, please?

I f I rec all c orrec tly, there might be s ome problems with I niRead, whic h this s c ript us es
a lot

Back to top

Learning one Posted: Thu Mar 25, 2010 6:49 pm Post subject:

T hanks , all of you.


Joined: 04 Apr 2009 @Loving t his script : I haven't tried to us e RM with A utohotkey_L . I f you are us ing
Posts: 293
Location: Croatia unic ode A H K_L , maybe main RM s c ript and all #inc luded s c ripts
s hould be s aved in unic ode enc oding?
@Elesar: Regarding trans parenc y, I even as ked for help while working on this . I t looks
like there is no s olution, it c an't work perfec tly in all c as es ...

Back to top

tomoe_uehara Posted: Tue Apr 20, 2010 8:37 pm Post subject:

O kay thanks to E les ar, s o now I c an us e L earning one's RM =)


Joined: 05 Sep 2009
Posts: 409
Location: Somewhere near L earning one, what if you add the lates t download link at your s ignature line, s o people
you don't have to s earc h for the link manually...
_________________
- [ J oin us at the I RC ]-

Back to top

Learning one Posted: Wed Apr 21, 2010 11:17 pm Post subject:

tomoe_uehara wrote:
Joined: 04 Apr 2009
I can use Learning one's RM =)
Posts: 293
Location: Croatia

I 'm glad to hear that! D o you like it?


L ates t download link is in the firs t pos t of this topic , I think it's notic eable enough...

Back to top

tomoe_uehara Posted: Thu Apr 22, 2010 8:04 am Post subject:

I t's wonderful... I love it!


Joined: 05 Sep 2009
Posts: 409
Location: Somewhere near
you
I t's notic eable enough, but maybe there's other people who like me too, who always
jumps to the lates t page of a thread..

O w, what about the other s kins ? H as it implemented?

_________________

- [ J oin us at the I RC ]-

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & All times are GMT
Functions Goto page Previous 1, 2, 3 ... 15, 16, 17, 18 Next
Page 16 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group


AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... , 16, 17, 18 Next

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

Elesar Posted: Thu Apr 22, 2010 5:28 pm Post subject:

T here are five s kins c urrently.


Joined: 28 Jun 2007
Posts: 327 M erloc k's D evic e
O bs idian
M etal P late
Fres h G reen
Funky Star

T o c hange them, open the menu, the s elec t M enu C ontrol, then in there is the option to
c hange s kins .

Back to top

Learning one Posted: Fri Apr 23, 2010 11:22 pm Post subject:

tomoe_uehara wrote:
Joined: 04 Apr 2009
It's wonderful... I love it!
Posts: 293
Location: Croatia @ tomoe_uehara: T hanks for kind words . I 'm glad you love it.
@ E les ar: I really apprec iate when you ans wer on RM related ques tions ins tead of me.
T hanks .

Back to top

tomoe_uehara Posted: Sat Apr 24, 2010 6:16 pm Post subject:

BT W, I c an't us e the v3 .1 8 , s o I 'll jus t us e the v3 .1 7 =/


Joined: 05 Sep 2009 T here's nothing happened when I hold down the right mous e button.
Posts: 409
Location: Somewhere near _________________
you

- [ J oin us at the I RC ]-

Back to top
LiquidGravity Posted: Sun Apr 25, 2010 12:24 am Post subject:

T hat is bec aus e by default you need to move the mous e down while holding right c lic k to
Joined: 26 Jan 2009 s how the menu. I n my vers ion that works with theme pac kages I have added a s etting to
Posts: 69
allow eas ily dis abling the movement features and ins tead us e a s hort timer. L inks in the
firs t pos t.

Back to top

tomoe_uehara Posted: Sun Apr 25, 2010 1:05 pm Post subject:

LiquidGravity wrote:
Joined: 05 Sep 2009
you need to move the mouse down while holding right click to show the menu
Posts: 409
Location: Somewhere near
you
A h.. Y ou're 1 0 0 % c orrec t!
LiquidGravity wrote:

added a setting to allow easily disabling the movement features and instead use a short timer

Where?
A fter L iquidG ravity s aid it, I 've jus t notic ed that RM has the M ous e G es ture s ys tem, it's
very nic e!
_________________

- [ J oin us at the I RC ]-

Back to top

LiquidGravity Posted: Mon Apr 26, 2010 1:06 am Post subject:

D ownload for my modified T heme pac k vers ion and bas ic ins truc tions are found here:
Joined: 26 Jan 2009 http://www.autohotkey.c om/forum/pos t- 3 3 9 7 5 2 .html#3 3 9 7 5 2
Posts: 69

Back to top

Learning one Posted: Mon May 03, 2010 2:07 am Post subject:

Joined: 04 Apr 2009


Posts: 293
Location: Croatia

N ot intended to be mighty as Radial menu v3 + s c ript/program, but c ompletely in


func tion form.
Back to top

tomoe_uehara Posted: Wed May 05, 2010 7:01 pm Post subject:

A re there no other Selec tE ffec ts ?


Joined: 05 Sep 2009 Code:
Posts: 409
Location: Somewhere near ;==Shake effect==
you if SelectEffect = Shake
{
SetWinDelay, 35 ; Shake speed
Loop, 5
{
; Set Shake intensity. X axis shake looks better than Y axis shake
if A_index = 1 ; 2 pixels
XEff -= 2
Else if A_index = 2 ; 2 pixels
XEff += 4
Else if A_index = 3 ; 1 pixel
XEff -= 3
Else if A_index = 4 ; 1 pixel
XEff += 2
Else if A_index = 5 ; back to initial position
XEff -= 1
WinMove, %WinTitle%,, XEff, YEff
}
}

; I add these custom SelectEffect lines


If SelectEffect = Fuzzy
{
SetWinDelay, 10
WinGetPos, PosX, PosY,,, %WinTitle%
Loop, 40
{
Random, RX, -7, 7
Random, RY, -7, 7
XEff := RX+PosX
YEff := RY+PosY
WinMove, %WinTitle%,, XEff, YEff
}
}

If SelectEffect = Rocket
{
SetWinDelay, 10
WinGetPos, PosX, PosY, Wid, Hei, %WinTitle%
Loop, 30
{
Random, RX, -9, 9
Random, RY, -9, 9
XEff := RX+PosX
YEff := RY+PosY
WinMove, %WinTitle%,, XEff, YEff
}
WinMove, %WinTitle%,, PosX, PosY
Loop, 20
{
YEff-=15
WinMove, %WinTitle%,,,YEff
}
}

If SelectEffect = Snow
{
SetWinDelay, 10
WinGetPos, PosX, PosY,,, %WinTitle%
Loop, 7
{
Loop, 5
{
Random, XX, 2, 4
If Sign = 1
PosX -= XX
Else
PosX += XX
WinMove, %WinTitle%,, PosX
Loop, 2
{
PosY += 2
WinMove, %WinTitle%,, PosX, PosY
}
}
If Sign = 1
Sign = 0
Else
Sign = 1
}
XX =
YY =
}

If SelectEffect = Spiral
{
Sign = 1
SetWinDelay, 10
WinGetPos, PosX, PosY,,, %WinTitle%
Loop, 5
{
YY++
Loop, %YY%
{
If Sign = 1
PosY -= YY
Else
PosY += YY
WinMove, %WinTitle%,,, PosY
}
XX++
Loop, %XX%
{
If Sign = 1
PosX -= XX
Else
PosX += XX
WinMove, %WinTitle%,, PosX
}
If Sign = 1
Sign = 0
Else
Sign = 1
}
XX =
YY =
}
If SelectEffect = Random
{
SetWinDelay, 20
WinGetPos, PosX, PosY,,, %WinTitle%
Loop, 50
{
Random, RR1, 0, 1
Random, RR2, 0, 1
If RR1 = 0
Axis = X
Else
Axis = Y
If RR2 = 0
Pos%Axis%+=2
Else
Pos%Axis%-=2
WinMove, %WinTitle%,, PosX, PosY
}
}
SetWinDelay, 100 ; default
Return

I know thos e effec ts aren't good enough, but perhaps the authors c an add more
Selec tE ffec ts on the next vers ion of RM =)
A nd als o I c an't c hange the width or height, jus t move them around..
_________________

- [ J oin us at the I RC ]-

Back to top

Learning one Posted: Thu May 06, 2010 11:01 am Post subject:

N ic e s elec t effec ts . Width or height c an't be c hanged. I think I 'll add #I nclude
Joined: 04 Apr 2009 %A_ScriptDir%\RMData\SelectEffects .ahk in next vers ion.
Posts: 293
Location: Croatia

Back to top

Learning one Posted: Thu May 06, 2010 7:55 pm Post subject:

Joined: 04 Apr 2009


Posts: 293
Location: Croatia

[module] Radial menus and docks v1 .0 1


- c ompletely in func tion form, no globals
- 1 5 pre- defined s tyles
- 3 s elec tion methods : c lic k, releas e, touc h
- many other features
- requires G dip.ahk by T ic

Download RMmodule.rar whic h inc ludes : RMmodule.ahk + Gdip.ahk + 5 examples


last update: 05.07.2010.

Basic example
Code:
#Include Gdip.ahk ; by Tic
#Include RMmodule.ahk ; by Learning one

MenuA := RM_Create("This|is|my|first|menu") ; creates menu with 5 items and


stores its ID in MenuA variable
Return

1:: ; press 1 to show menu


RM_Show(MenuA) ; shows MenuA under mouse
ItemA := RM_GetSelectedItem(MenuA) ; gets selected item from MenuA and
stores it in ItemA variable
if ItemA ; if item is selected
MsgBox, ,Selected, %ItemA%,1 ; show it in MsgBox
Return

Esc::ExitApp

Last edited by Learning one on Mon Jul 05, 2010 2:11 pm; edited 3 times in total

Back to top

tomoe_uehara Posted: Thu May 06, 2010 7:58 pm Post subject:

A lready releas ed? ?


Joined: 05 Sep 2009 _________________
Posts: 409
Location: Somewhere near
you

- [ J oin us at the I RC ]-

Back to top

netfun81 Posted: Fri May 07, 2010 2:57 am Post subject:

wow! nic e work L earning one on RM module. L ots of pos s ibilities here. I 'm having fun
Joined: 28 Oct 2006 trying things .
Posts: 58

Back to top

tomoe_uehara Posted: Sun May 09, 2010 7:26 am Post subject:

Still waiting for the v3 .1 9 ... =)


Joined: 05 Sep 2009 Btw c an you give us a hint of the new features ?
Posts: 409
Location: Somewhere near _________________
you

- [ J oin us at the I RC ]-

Back to top

Guest Posted: Tue May 11, 2010 8:48 am Post subject:


Quote:

Still waiting for the v3.19... =)


Btw can you give us a hint of the new features?

I hope it will be s oon.

Back to top

Guest Posted: Tue May 11, 2010 8:15 pm Post subject:

a c ompetitor

http://www.flic kr.c om/photos /4 7 0 6 9 5 6 5 @ N 0 6 /s ets /7 2 1 5 7 6 2 3 1 8 2 1 1 6 3 6 7 /

http://us ers .telenet.be/s erhiy.perevoznyk/krento.html

Back to top

Display posts from previous: All Posts Oldest First Go

AutoHotkey Community Forum Index -> Scripts & All times are GMT
Functions Goto page Previous 1, 2, 3 ... , 16, 17, 18 Next
Page 17 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

AutoHotkey Community
L et's help eac h other out

FAQ Search Memberlist


Profile You have no new messages Log out [ roonyroo ]

RADIAL MENU scripts


Goto page Previous 1, 2, 3 ... 16, 17, 18

AutoHotkey Community Forum Index -> Scripts & Functions

View previous topic :: View next topic

Author Message

Learning one Posted: Sun May 16, 2010 7:23 pm Post subject:

H ello guys & girls , here is the s ituation;


Joined: 04 Apr 2009
Posts: 293
Location: Croatia I got a new job whic h is very time c ons uming, s o I 'm forc ed to s top developing Radial
menu for a while (maybe for a longer time). I 'm really s ad bec aus e of that
bec aus e I have c onc epts for drag&drop s upport to build up or edit menu, more than a
1 0 0 0 items in total, s ub- s ub- menus and maybe deeper, animations
and s ome widgets , additional s kinning pos s ibilities , better s upport for external
s kins /themes , more dis play and s elec t methods , new s ounds ideas , etc ., but s till
fas t and ergonomic to us e. I hope I 'll c ontinue development onc e...
L ates t Radial menu v3 .1 8 download pac kage is s lightly c hanged;
- firs t ring radius is s lightly reduc ed
- in M erloc k's devic e s kin, main menu bac kground in is now the s ame as s ubmenu
bac kground.

* * *

@ netfun8 1 : T hanks !
@ tomoe_uehara: for s ome new features s ee above. I hope I 'll c ode them onc e... A ll of
them are 1 0 0 % c odable.
@ G ues t(s ): A re you Serhiy P erevoznyk?

Back to top

radial_follower Posted: Mon May 17, 2010 8:31 am Post subject:


Guest

L earning one,

that is very, very bad for us . But i think very, very good for you !!
T hank you for your amazing work, wic h s aves me and others a lot of time!
I wis h you the bes t in your new job.

Back to top

tomoe_uehara Posted: Mon May 17, 2010 5:18 pm Post subject:

H ow c an we help you? M aybe s omeone at this forum c ould c ontribute with s omething
Joined: 05 Sep 2009 us eful
Posts: 409
Location: Somewhere near _________________
you

- [ J oin us at the I RC ]-

Back to top

Learning one Posted: Wed May 26, 2010 3:11 pm Post subject:

@ radial_follower: T hanks for kind words .


Joined: 04 Apr 2009 @ tomoe_uehara: T hanks for friendly offer. I 'll as k for help when I 'll need s omething +
Posts: 293
Location: Croatia have free time.

* * *

RM module news :
- now you c an download RMmodule.rar whic h inc ludes : RMmodule.ahk + Gdip.ahk + 4
examples

Back to top

Jaycephus Posted: Thu Jul 01, 2010 9:58 am Post subject: Design discussion
Boris , I s aw that you are away from the projec t for awhile, but earlier you reques ted
Joined: 01 Jul 2010
Posts: 3 general help, be it programming, s kinning, or des ign.
Location: Austin, TX
I work as an indus trial programmer, but I 'm als o like to do art, and jus t rec ently got a
s late or tablet c omputer for s ketc hing in Sketc hbook P ro 2 0 1 0 , and various other
programs , at lunc h break, during travel, etc ., as well as to aid me in my job.

Sinc e a true tablet c omputer has no keyboard, no mous e, and only a one- button pen for
input, s omething like Radial M enu M G would be perfec t. I t c an be c umbers ome to get a
program launc hed with the default Win XP s etup, but Radial M enu s hould fix that.

H owever, what interes ts me more is the pos s ibility to us e it more as a s hortc ut key
s ender, s inc e I will lac k a keyboard. T o do that, I would envis ion, by c onfiguration, RM
being aware of a c ertain program having foc us , and s witc hing to a program s pec ific
menu, and then when bac k on the desktop, it would s witc h bac k to the default, program
launc her menu.

For RM to be quic k however, thus making it fas ter than jus t s elec ting a given func tion
from the menu in the normal method, I would want to ac tivate it from the pen button,
whic h c an its elf be mapped to any key c ombination, inc luding the right mous e button,
A N D I would want to jus t c lic k- drag to an RM button to ac tivate the s hortc ut. I don't
know if this is pos s ible (I 'm jus t s tarting out in A H K, and haven't even downloaded RM
yet), but having the ac tivation of a s horc ut s end a key- down mes s age, and then having
the appropriate key- up mes s age s ent the moment the pen is lifted would be a bonus ,
allowing c ertain shortcuts in various art programs to be exec uted with jus t RM and a
one- button pen. For example, it is c ommon that the s pac e bar ac tivates a panning
feature, or that holding a key down ac tivates a mode, and then a mous e ac tion is
performed s imultaneous ly, s uc h as moving to a c ertain pos ition and right- c lic king with
the mous e. H aving the s pac ebar- down mes s age s ent upon s hort- c ut ac tivation, and
s inc e the pen is s till down, the window c an be panned, and the mode is exited by having
the s pac ebar- up mes s age s ent upon lifting the pen. I f that c an be done, then
one- handed, one- button, keyboardles s operation of P hotos hop or other art programs on
my tablet c ould be a lot, lot fas ter and eas ier.

I know about the des ign dis c us s ion regarding the one menu ring is s ue bac k on page 7
or 8 , however, that is the way it mus t work for s peed and eas e of ac tivation, and I have
s everal ideas of how to make the c urrent RM work this way without it being quite s o
s evere a limitation. Firs t, if as you las t pos ted, you have s ub- s ub- menus in mind, then
dragging through multiple levels of radial menus will be pos s ible. H owever, there are
other variations that might als o work well with the c urrent one s ub- menu limitation.

Whether I would need to hard- c ode this , or not, I would want a dedic ated, c us tom RM for
a given program, s o that means the whole RM would only be us ed for a given program,
BU T , s ome programs have as muc h as 4 0 to over 1 0 0 us eful shortcuts that I would
want to inc orporate. (T his is where even on a desktop with a wac om tablet and
keyboard, RM would be very us eful, due to not being able to remember an average of 4 0
or more short cuts for five different programs . I f I c an't remember it, I s hould s till be
able to find it fairly quic kly in an RM , and s eeing the s hort- c ut would re- inforc e it in
memory. T hat, and RM might s till be fas ter than exec uting a three or four- finger
s hortc ut on a keyboard jus t when I was getting produc tive us ing the tablet.)

So getting more than s ix buttons in the interior ring:


(keep in mind, thes e are ways to have a large number of available buttons or func tions
with jus t a s ingle c lic k- drag motion)

1 . Y ou need more interior s urfac e, and a c irc le has the leas t interior s urfac e of any
s hape. A rranging buttons in a c ros s or s tar pattern would add a c hannel down whic h a
c urs or c ould travel to ac c es s more than s ix buttons . I magine removing every other
button from the inner ring. T hat only leaves 3 buttons . B ut it c reates three openings .
N ow by plac ing buttons to eac h s ide of the opening, you now have 3 open s pokes , s o
you c ould have 9 fully ac c es s ible buttons with this arrangement. C ap eac h s poke with
another button, and you have 1 2 buttons that are all s till eas ily ac c es s ible. (I nc reas ing
the s pokes to four, giving you four pie s haped 3 - button groups would als o give you 1 2
buttons .) A lternately, leave a button- wide s pac e around the inner 9 - or 1 2 - button
arrangement and s urround it with a larger ring in whic h you might be able to fit about
2 6 - 3 0 or s o buttons . For program shortcuts, jus t like in launc her mode, s ome of thes e
would probably be c ategory buttons that open a s ub- menu, and s ome would jus t be
s hort- c uts , but the potential with this arrangement is for a max of around 6 x4 0 or 2 4 0
unique short cuts (us ing only s ix s ub- menu buttons ), whic h I think is greater than what
the c urrent RM c an handle anyway, ac c ording to what I 've read in the thread, if I
unders tood c orrec tly.

2 . A nother way would be to have a blank or s pec ial button ac t as a ring- de- ac itvator. I n
the firs t ring you have five real buttons , and a gray/empty button. D ragging through the
blank button grays out the inner ring and permitts c urs or ac c es s to the s ec ond ring,
whic h als o has a blank button. I as s ume the firs t ring c ould be grayed out by ac tivating
a s emi- trans parent window over the firs t ring, whic h als o prevents the c urs or from
ac tivating the firs t- ring buttons , giving c lear ac c es s to the s ec ond ring. T hen, by
dragging through the s ec ond- ring's grayed out button, ac c es s to a third ring is
permitted, and s o on. Bac king up toward the middle triggers the revers e proc es s ,
returning eac h inner ring to normal. E ac h s ubmenu c ould have a s imilar arrangement,
permitting either ac c es s to outer rings , or the pos s ibility of bac king out of the
s ub- menu. C ons ider that if the s ubmenus have this arrangement, the main menus may
be relatively s mall in number, pos s ibly only s ix or les s mos t of the time, and thus only
requiring a s ingle ring of s ix or les s for the main.

3 . M ous e ges tures : T he main ring might be a little larger with this one, allowing more
than s ix in the ring, and enough s pac e in the middle to ges ture. Sinc e you already have
this func tionality, it s houldn't be hard to do this . C lic k and hold to bring up the RM , then
if you don't s ee the des ired buttons , a ges ture, s uc h as a c irc ular motion, would
ac tivate a new ring. A dynamic but non- reac tive graphic might indic ate how many total
menus are available and whic h one you are c urrently viewing, s o that you know when
you've gone through all the available top- level menus .

O f thes e, 1 or 2 are the bes t for s heer s peed of ac tivation. With 2 , you might either
have everything at the top level ( eas ily 2 7 to 4 4 unique shortcuts depending on
whether you have 3 or 4 rings ), or you might have the les s - us ed shortcuts in s ubmenus ,
or els e you jus t have the c ategory buttons at the main menu level, and all shortcuts are
in the s ub- menus . But 1 is probably the eas ies t to implement s inc e it is jus t a c hange
in the arrangement of the top level buttons . P os s ibly, the s ubmenus c ould us e a s imilar
9 or 1 2 button arrangement as well. T he only down s ide to vers ion 1 is that it takes up
more s c reen s pac e for the s ame number of buttons that a multi- c lic k arrangement
would permit.

I t looks like RM is eas ily modified by the us er to ac c omplis h at leas t one of thes e
methods . I 'll be trying it out on my new tablet P C over the next few days . I 'd jus t like to
put in a vote for optionally allowing s imple c lic k- drag ac tivation due to us ing RM on a
touc h or s tylus tablet. A s you may know Sketc hbook P ro works this way with mos t
c ommon ac tions c ontained within radial menus that are ac tivated by s imple c lic k-
drag- through- button, whic h is s uper- fas t onc e you s tart to memorize whic h direc tion to
drag to ac tivate a c ertain func tion.
Back to top

Learning one Posted: Fri Jul 02, 2010 11:27 am Post subject:

H i J ayc ephus ,
Joined: 04 Apr 2009 I 'll pos t full reply and write one s hort example for you later, probably tomorrow.
Posts: 293
Location: Croatia

Back to top

Jaycephus Posted: Fri Jul 02, 2010 8:13 pm Post subject:

G reat! I apprec iate that. I 've got A H K ins talled on my tablet, and I have run RM , but I
Joined: 01 Jul 2010 c an't get it to pop up. I us e a pen of c ours e. T he pen button is s et to right- c lic k, and the
Posts: 3
Location: Austin, TX normal r- c lic k menu pops up. I have tried right- c lic king- dragging up, down, left, right.
A ll the s ettings are default, s o RButton and D are the relevant s ettings . T here's
probably s omething I didn't s etup or do c orrec tly.

P .S. Sinc e no one replied to this one yet, I 'll add a bit...

I did the exac t s ame s teps on my desktop V is ta 6 4 s ys tem, and everything worked
fine. M y tablet is WinXP , but it is probably the pen- driver that is the is s ue.

P .P .S. Switc hed to M Button on pen- button and M Button in s ettings .ini, and it works on
the tablet, s o it is s omething about the pen driver and RB utton.

Last edited by Jaycephus on Sun Jul 04, 2010 5:56 am; edited 2 times in total

Back to top

RM user Posted: Sat Jul 03, 2010 2:06 pm Post subject:


Guest

I think J ayc ephus ideas are great and would enhanc e RM very muc h. I hope you will
c ons ider to integrate s ome of this .

Back to top

Learning one Posted: Sun Jul 04, 2010 11:50 pm Post subject:

@All: new example in RM module pac kage - E xample 5 .


Joined: 04 Apr 2009
Posts: 293
Location: Croatia @Jaycephus (and other interes ted...):
Jaycephus wrote:

...tablet computer...

I have to warn you that my expirienc e with tablet c omputers is almos t abs olute 0 ...
Jaycephus wrote:

...possibility to use RM more as a shortcut key sender...

Selec ting any item or s ubitem in Radial menu v3 .1 8 c an:


1 . launc h any applic ation or s c ript, and open any file or folder - ordinary Run c ommand
or
2 . exec ute c us tom func tion/s ubroutine. - you c an do here anything you wis h, inc luding
s ending short cuts to s ome applic ation. See Creating cus tom s ubroutine in RM help file.
H owever, in my private RM upgrade (not releas ed yet) I 've done s ome c hanges here s o
it's more us er friendly to c reate c us tom func tions /s ubroutines .

Radial menu v3.18 + tablet computer. While c reating RM , I dec ided to us e s pec ial
method of dis playing menu and s elec ting items that fits my needs (and is des igned for
normal, not tablet c omputers ). So, that method is inc ompatible with tablet c omputers .
H owever, H oundx modified RM and c reated RM for touc hs c reens s o you c an try his
modific ation.
But, I als o c reated [module] Radial menus and doc ks (or RMmodule in s hort). Selec tion
and dis play methods there are c ompatible with both touc hs c reens and normal s c reens
+ as its name s ays , it is not applic ation but module.

So, if you like radial menus and want to us e them on your tablet c omputer I s ugges t you
to forget about Radial menu v3.18 application (for now) and us e RMmodule ins tead.
D ownload whole pac kage, whic h inc ludes : 1 ) RM module its elf, 2 ) T ic 's G D I + library and
3 ) 5 examples . T ry all examples on both tablet and normal c omputers .

Example 5 in RMmodule - f or you. I tried to make it ac c ording to your reques ts /ideas in


your 1 . pos t;
Jaycephus wrote:

...RM being aware of a certain program having focus, and switching to a program specific
menu, and then when back on the desktop, it would switch back to the default, program
launcher menu.... ...possibility to use it more as a shortcut key sender... ...I would want to
just click-drag to an RM button to activate the shortcut... ...having the appropriate key-up
message sent the moment the pen is lifted would be a bonus, allowing certain shortcuts in
various art programs to be executed with just RM and a one-button pen...

Run E xample 5 and introduc tion M s gB ox will tell you in s hort what it does . H ere I tried
to s how les s abs trac t example how to us e RM module. C ompared to firs t 4 examples , it
does n't jus t s how M s gBox- es as a proof it works , but does s omething more
c onc rete/s pec ific .

What c onc erns me is that you wrote you are jus t s tarting out in A H K. I n that c as e,
unders tanding Example 5 c ode and how to us e RM module in general will be very very
hard for you (probably impos s ible) - that's not for beginners . Start with s tudying
Example 1 - it's the mos t bas ic one.

A nyway, in Example 5, when you ac tivate M S P aint, two doc ks /toolbars will appear; File
and I mage. Zoom 200% item in I mage doc k is a good example of automating s ome app
via A H K and RM module.
T o zoom image to 2 0 0 % in M S P aint on a regular way, us er has to:
1 ) c lic k on view menu
2 ) s elec t zoom s ubmenu
3 ) s elec t c us tom item
4 ) wait until C us tom Zoom window appears
5 ) c lic k on 2 0 0 % radio button
6 ) c lic k on O K button
+ N ote that every s tep here inc ludes moving mous e (or pen for tablet c omputers ) and
that als o may be treated as additional 6 ac tions .

E xample 5 offers alternative - us er c an jus t c lic k on I mage doc k, drag on Zoom 200%
item, and all the job is done - - > elegant, fas t, eas y, s aves time.
Draw ornament is another example to give you idea what you c an do. Y ou c an automate
almos t any ac tion(s ) in almos t any applic ation.

So idea is to c ode s et of ac tions that 1 ) us er us es often and 2 ) whic h are not eas y
ac c es s ible (he has to dig through s ubmenus , type s omething, s elec t s omething, etc .)
and as s ign that to RM item(s ). Y ou c an hard c ode that s et of ac tions (that's eas y), or
let the us er to rec ord his own mac ros (well it's harder to do that but pos s ible).

I think about RM items as graphic al hotkeys - - > vis ual, eas ily ac c es s ible (items are
pos itioned around the mous e c urs or), eas y to remember, nic e looking, s elf des c riptive,
eas y & fas t to us e, intuitive, c an do almos t anything you wis h, its ac tions and appearing
c an be c ontext s ens itive. O ne more thing, I als o c reated [module] M ous e ges tures .
C ombining RM module + M ous e ges tures module + little imagination = giving
c ommands to your c omputer is extremely fas t & eas y.

Your RM design ideas/suggestions.


I dea 1. C an you draw that? I think I don't unders tand it c orrec tly.
I deas 2. and 3. N ic e.

Back to top

Learning one Posted: Mon Jul 05, 2010 2:13 pm Post subject:

Two lit t le f ixes:


Joined: 04 Apr 2009 - in RM module's example 5 fixed ContextSens itive s ubroutine
Posts: 293
Location: Croatia - in RMmodule.ahk fixed "doc k moves 1 pixel is s ue"

So download RMmodule.rar again.

Back to top

Jaycephus Posted: Mon Jul 05, 2010 3:26 pm Post subject:

I 'm res ponding before I 've had a c hanc e to go through the whole pos t and try it out.
Joined: 01 Jul 2010 J us t wanted to update and c larify.
Posts: 3
Location: Austin, TX
M y T ablet P C is a s late form- fac tor, M otion C omputing L E 1 6 0 0 , that us es a pen for
input. A mous e and keyboard c an be plugged into it, but normally that is not the c as e.
T he pen is jus t like a mous e in prac tic e, and I have a one- button pen and a two- button
pen. H overing and moving over the s urfac e moves the c urs or. P res s ing down is a
left- c lic k. P res s ing down and dragging is the s ame as left- c lic k and dragging. T he
button(s ) c an be remapped to whatever. But I 've been tes ting with the buttons mapped
to right and middle mous e buttons . H owever, the two- button pen has a roc ker s witc h, s o
it is impos s ible to right- c lic k and hold, and then middle c lic k. I think it is pos s ible to
hover, do a right or middle c lic k, and then pres s down to perform a left- c lic k, but I 'm not
s ure that that works .

T here is s ome is s ue with right- c lic king on my s etup. I t is probably a driver is s ue. I t
s eems not to properly s end a right- c lic k mes s age to applic ations . I t works on the
Deskt op, but I 've notic ed a problem in an applic ation, s o maybe the s ame problem is
happening with RM .

H owever, s etting the ini file to us e M Button, and then c lic king the middle button on the
pen and dragging down res ults in bringing up the RM menu. So I c an us e any of the
variations of RM on my tablet P C .

I 'll c hec k out RM module, and tes t out the s tuff you've worked on and get bac k to you.

Back to top

RM user Posted: Tue Jul 06, 2010 5:38 pm Post subject:


Guest

J ayc ephus ,

c ould you s how s ome dummy graphic s to demons trate the things you des c ribed in your
pos t (the fas t way the menus and s ubmenus popup)?

Back to top
Display posts from previous: All Posts Oldest First Go

All times are GMT


AutoHotkey Community Forum Index -> Scripts & Functions
Goto page Previous 1, 2, 3 ... 16, 17, 18
Page 18 of 18
Watch this topic for replies Jump to: Scripts & Functions Go

Powered by phpBB © 2001, 2005 phpBB Group

You might also like