ALT-TAB replacement with icons and window titles in ListView
I noticed a few problems with docked windows: resizing one, then letting it go to dock, then undocking it again makes part of it disappear behind the edge of the screen. The window in question was opera, it was docked on the right side, and I resized it to make it wider. In addition, activating any pop-up in the docked window and moving mouse on it will make the original window disappear. The popup disappears then, too. After that, in a second, the window appears again. I'm not sure how often I need pop-ups in a browser, but at least for the other program I have docked right now, explorer2x, it's not a big deal, I don't think I do that often there.
If you maximize some other window, all docked windows get minimized and un-docked. It may be a good idea to undock them when they minimize, but it's certainly not a good idea to minimize them when a window maximizes.
It'd be very nice to allow for alternative ways to activate the menu. Anything from F4 to alt-w to alt-mouse click, or just middle mouse button. It'd also be nice to be able to go in the other direction in the list by pressing alt and some other button, like caps lock. That'd be very handy to go forward in the list by pressing alt-tab and reverse direction by alt-caps (or, in my case caps is remapped to esc, so it'd be alt-esc).
I see you have this in your todo list: dock to corners. That'd be very neat, too.
Thanks for a great script!
Thanks for the ideas and bug reports:
1)I'll fix the issues with resizing docked windows and when the docked window gets disabled due to a pop-up. The resizing issues are not surprising to me as the feature was not designed to cope with that yet, but I will if others are using it of course.
2) "If you maximize some other window, all docked windows get minimized and un-docked." I've not been able to replicate this one at all. The closest thing that I am aware of is if you maximise a docked window it stays as always-on-top, which I need to change, but that doesn't sound too much like what you described, so maybe you can give an example with standard windows programs that I can duplicate?
3) I can probably add a user-defined hotkey for showing the alt-tab list, but some of the functionality requires that the Alt-Key is still pressed down, so I'm not sure if I'll add the ability to completely change alt-tab to some other hotkeys. I'll look into it. Alt+CapsLock is a very logical alternative to Alt+Shift+Tab and only took one line of code to add so that's already gone into the latest version I'm working on, which already has quite a few additions and improvements, so I'll post it pretty soon.
I could not reproduce the problem with maximizing some other window and docked windows getting minimized..
when testing, I ran into something else: I have opera docked on right side and if I minimize it, I can't restore it. And the popup right-click menu acts strangely. I can maximize it, though (most of times). IOW, if you accidentally minimize it, you have to undock and re-dock it. And even that does not let me restore it.. It looks like by minimizing it, it somehow garbled it's 'restored' coordinates to be outside of screen. It looks like it gets restored, but no part of it is visible on screen.. Let me try this with xplorer2x.. Hm, interesting.. when xplorer2x was on top of maximized opera, and I clicked minimize, it'd minimize, and then restore itself in about a second without me doing anything. When I minimized Opera, it did minimize itself properly, and when I clicked on it in taskbar, it'd restore itself without any problem. I can't make much sense out of this.
Incidentally, moving docked window is reset after dock/restore. Which isn't the end of the world, but it'd be even cleaner if it was possible to move and resize it - I guess code that takes care of one thing will take care of another, too.
re - alternative shortcuts. I think it'd be nice to have an option for alt-leftclick to open menu, and F4 to call up menu is also kind of neat, because you don't have to hold down any key while you're looking for the right window.. But I can imagine that it's more trouble than it's worth to change code to do that. Honestly, I'm not even sure I'd use that if it was possible.
At any rate, this script is very neat.. I'll be patiently awaiting new version
<!-- m -->https://ahknet.autoh... ... ALtTab.ahk<!-- m -->
Lots of stuff changed and added I'll probably try and release another version soonish as I'm still working on a few bits, but this version's a considerable improvement in some areas.
LATEST VERSION CHANGES:
Fixed a bug where the listview could be hidden if keeping Alt pressed after Alt-Esc and then Alt-Tab
Edge-dock timers turned off if windows closed before un-docking
Edge-docked maximised windows now not AlwaysOnTop when viewing (easier to hide them again)
Edge-docking now returns the window's original AlwaysOnTop state and size when un-docking
Context Menus have had a lot added to them/re-ordered
Context Menu entries for creating groups (working sets) of windows and more powerful inclusion/exclusion options.
Context Menu access to Help (remind user of shortcuts, etc) and latest version changes - generated from this file.
Process Menu entry - end selected process or all instance of the exe in the list
Alt+CapsLock - alterative to Alt+Shift+Tab
Un-Dock - Un-Dock All menu entry added
Alt+\ "hotkey" - close selected window (while list is displayed)
Alt+/ "hotkey" - close ALL windows whose EXE matches that of the selected entry (while list is displayed)
Process menu entry - end selected process or all instance of the EXE in the list.
Very cool script. I would have one simple request.
I would like to have configurable keys.
For example I currently use:
RControl & RShift::AltTab ; Hold down right-control then press right-shift repeatedly to move forward.
RControl & Enter::ShiftAltTab ; Without even having to release right-control, press Enter to reverse direction
In order to work with this script I need to have each scripts compiled in separate files. I guess first hooks keypresses, translates them and secons script catches them...
I still had plans for configurable keys but hadn't gotten around to it as there are a number of code changes, some of which might be easy to overlook - I'll try and make it a high priority as it's been asked for before.
Trying to "trick" the Alt-Tab replacement into using other hotkeys in a 2nd file won't work very well and couldn't be made to work either due to some manual keystate checks for the alt key, etc.
<!-- m -->https://ahknet.autoh... ... AltTab.ahk<!-- m -->
(made quite a few major changes, especially being able to choose your own hotkeys (only manually in the file at the moment (see "USER EDITABLE SETTINGS" section), but I will add a gui soon) so let me know if you encounter any errors)
LATEST VERSION CHANGES:
User-defineable hotkeys for Alt, Tab, Shift, Esc - manual change in settings section of ahk file at the moment
Fixed docked windows getting focus when docked + focusing on last active window when re-docking.
Docked windows not always on-top when viewing - fixes windows being covered when docked window shows a dialog window.
Column sorting order remembered between displaying Alt-Tab list (click column headers to sort)
OnExit - un-docks any docked windows if script is closed
Thx for the uploaded script, but I have problems configuring hotkeys to work...
Alt_Hotkey =RCtrl& ; the key to use as equivalent to Alt in Alt-Tab
this does not work.
And if I add:
Tab_Hotkey =+ ; the key to use as equivalent to Tab in Alt-Tab
It does not work anymore...
I would like to set
RCtrl to.behave.like Alt (in alt.tab)
Rshift to.behave.like Tab (in alt.tab)
RCtrl&Enter to.behave.like Shift (in alt.shift.tab)
Anyhow, here's what you need for your keys:
Alt_Hotkey =^ Tab_Hotkey =RShift Shift_Tab_Hotkey =Enter
So pressing Ctrl+RShift goes forwards and Ctrl+Enter goes backwards.
@ Micha: Thanks for the compliments and glad you find it useful - I'm still using your USB HID devices dll with my own keyboard script and it's working well.
Script now works like a charm.
I hope I will soon find enough time to get used with AH, because realy great apps can be built with quite moderate level of knowledge (compared to "real" programming languages, of course).
o.k now to buisnes..
I'm bit lazy to stretch my hand allll theee wayyyy to the keybord, so ive
used evl's /your script and edited to make it work for
XButon1 & WheelDown/Up instead of alt-tab.
when xbutton1 is released application is chosen.
due to the natue of the mouse, Xbutton1 and Lbutton interfear, and dont allow the gui to be clicked, to over come that , if you press Xbutton2 or Ctrl the gui will not disepar after xbutton1 is released.
again, thanx evl for your script,,
ah yea,, the code.: http://file.autohotk...r Xbutton1).ahk
I Have Spoken
Is it always selecting the top item in the list? Does it matter what window was last active? Is there more than one entry in the list for the program that's always selected? I've not run across any such trouble so you'll have to give me as much detail as possible.