Activate most recently active window in a group with autohotkey
up vote
1
down vote
favorite
I am making an autohotkey script to switch to a text editor, but depending on what I'm working on I may have different text editors.
I created a group TextEditor with my three text editors:
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
The group seems to be created properly but whenever I use GroupActivate, TextEditor, R
it always opens Nodepad++ and repeated presses switch between the three editors.
I want it to open whatever I last used first, like if I was using Code and switched to another program it should activate Code again.
autohotkey
add a comment |
up vote
1
down vote
favorite
I am making an autohotkey script to switch to a text editor, but depending on what I'm working on I may have different text editors.
I created a group TextEditor with my three text editors:
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
The group seems to be created properly but whenever I use GroupActivate, TextEditor, R
it always opens Nodepad++ and repeated presses switch between the three editors.
I want it to open whatever I last used first, like if I was using Code and switched to another program it should activate Code again.
autohotkey
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I am making an autohotkey script to switch to a text editor, but depending on what I'm working on I may have different text editors.
I created a group TextEditor with my three text editors:
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
The group seems to be created properly but whenever I use GroupActivate, TextEditor, R
it always opens Nodepad++ and repeated presses switch between the three editors.
I want it to open whatever I last used first, like if I was using Code and switched to another program it should activate Code again.
autohotkey
I am making an autohotkey script to switch to a text editor, but depending on what I'm working on I may have different text editors.
I created a group TextEditor with my three text editors:
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
The group seems to be created properly but whenever I use GroupActivate, TextEditor, R
it always opens Nodepad++ and repeated presses switch between the three editors.
I want it to open whatever I last used first, like if I was using Code and switched to another program it should activate Code again.
autohotkey
autohotkey
asked Nov 11 at 5:09
pfg
565422
565422
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
https://autohotkey.com/docs/commands/WinGet.htm#List
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
https://autohotkey.com/docs/commands/WinGet.htm#List
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
add a comment |
up vote
1
down vote
accepted
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
https://autohotkey.com/docs/commands/WinGet.htm#List
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
https://autohotkey.com/docs/commands/WinGet.htm#List
GroupAdd, TextEditor, ahk_class Notepad++
GroupAdd, TextEditor, ahk_exe Code.exe
GroupAdd, TextEditor, ahk_class Notepad
F1::
IfWinActive ahk_group TextEditor
GroupActivate, TextEditor, R
else
{
list := ""
; windows are retrieved in order from topmost to bottommost:
WinGet, id, list, ahk_group TextEditor
Loop, %id%
{
this_ID := id%A_Index%
WinActivate, ahk_id %this_ID% ; activate the most recently active window in this group
break
}
}
return
https://autohotkey.com/docs/commands/WinGet.htm#List
answered Nov 11 at 5:43
user3419297
4,0442613
4,0442613
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
add a comment |
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
This works great. I was already using WinGet, id, list before to bring all windows in a certain class to front, just didn't think of using it for getting the topmost window
– pfg
Nov 11 at 5:52
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53246010%2factivate-most-recently-active-window-in-a-group-with-autohotkey%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown