Page 1 of 1

Win+1 to 9 keys, only min/max first window, modifier keys for next window

Posted: 18 Nov 2017, 13:02
by Kagerjay
I use win+1, win+2, win+3, win+4 ..... win+9 keys fairly frequently

Is there a way to have an autohotkey to do the following?

Say I have chrome in position 9 on my taskbar.

If chrome has 3 windows

1.WIN+9 only maximizes / minimizes 1st window in stack
2. SHIFT+WIN+9 maximizes / minimizes only the 2nd window
3. Ctrl+WIN+9 maximizes/minimizes only the 3rd window


Re: Win+1 to 12 keys, only min/max first window, modifier keys for next window

Posted: 18 Nov 2017, 13:49
by Exaskryz
Here's what I would do:

Code: Select all

+#9::Send #{9 2}
^#9::Send #{9 3}
I personally tested it by changing all the nines into 4s. I had 3 Notepad windows open. The default #4 didn't need to be an autohotkey hotkey - we don't have to change the native behavior.

This works because normal behavior on Windows (at least Windows 8.1) is if you hold LWin and then press 4 or 9 or whichever number matches your program multiple times, you can cycle through the list of windows.

Edit: Ooops, this doesn't fully answer your question. This will only activate the corresponding window. To Minimize/Maximize it, you'll need to some more steps, including overwriting or supplementing the default behavior of the #9 windows hotkey. I would use a Sleep 50 to use WinMaximize on the (now) active window myself. However, this leaves the problem of Minimizing it. I would capture the Active Window title with WinGetTitle before doing the artificial Send #{9 2} commands. Then, after the Send has processed, get the Active Window again. Compare the two values. If they are the same, you just activated the already-active window, which means you probably want to minimize it. So then you run the WinMinimize command instead of WinMaximize.

Also see the tutorial if you're just starting out. And recognize there is a difference between single-line vs multi-line hotkeys.

Gotta run so sorry for not giving a better answer. Hope this helps!