Existe uma maneira de excluir vários títulos do GroupAdd?

1

Quando estou usando um programa específico (Dolphin), minha tecla de atalho Esc fecha completamente, mas eu quero uma funcionalidade diferente para (sub) janelas específicas. Até agora, tenho usado o #IfWinActive combinado com o GroupAdd.

Aqui está a documentação do comando #IfWinActive: link
GroupAdd: link

Se o comando GroupAdd permitisse excluir vários títulos do parâmetro ExcludeTitle, eu teria resolvido o problema até agora. ExcludeTitle não aceita ahk_group.

Espero por algo mais elegante do que cada tecla de atalho com uma cláusula IfWinNotActive ahk_group exceptions . Eu quero que a tecla de atalho funcione em todos os lugares do programa, exceto pelas poucas (sub) janelas específicas, então prefiro algo como uma linha de GroupAdd, AllOfTheProgramExceptExceptions, ahk_exe Dolphin.exe, exceptions ou algumas linhas de GroupAdd, AllOfTheProgramExceptExceptions, ahk_exe Dolphin.exe, exception123 do que fazer um ahk_group de todos os janelas do programa (que eu não sei e teria que adicionar ao longo do tempo), exceto para as exceções.

    
por NiteCyper 14.03.2016 / 23:27

2 respostas

2

WinGet, id, list, ahk_exe Dolphin.exe
Loop, %id%
{
this_ID := id%A_Index%
; WinGet, exStyle, exStyle, ahk_id %this_ID%
; If !(exStyle & 0x100)
        ; Continue
    GroupAdd, Dolphin_group_WithoutExceptions, ahk_id %this_ID%
WinGetTitle, title, ahk_id %this_ID%
IfInString, title, ExcludeTitle1
    GroupAdd, Dolphin_group_exception1, ahk_id %this_ID%
else
IfInString, title, ExcludeTitle2
    GroupAdd, Dolphin_group_exception2, ahk_id %this_ID%
else
    GroupAdd, Dolphin_group_ExceptExceptions, ahk_id %this_ID%
}
return


F1:: GroupActivate, Dolphin_group_exception1
F2:: GroupActivate, Dolphin_group_exception2
F3:: GroupActivate, Dolphin_group_ExceptExceptions
F4:: GroupActivate, Dolphin_group_WithoutExceptions
    
por 15.03.2016 / 10:13
1

Aprendi que o parâmetro WinTitle do GroupAdd aceita o ahk_group, graças a fab12 . Eu li isso várias vezes antes, mas não entendi o código / solução deles até um dia ou pouco depois.

GroupAdd, AllOfTheProgramExceptExceptions1, ahk_exe Dolphin.exe, , , exception1 ; Make a group of all of the program's windows excluding window 1. ahk_class & ahk_exe not accepted by ExcludeTitle parameter. e GroupAdd, AllOfTheProgramExceptExceptions, ahk_group AllOfTheProgramExceptExceptions1, , , exception2 ; Make a group consisting of the previous group excluding window 2.

    
por 16.03.2016 / 22:44

Tags