Many WindowManagers really delegate the job to the user. Some WindowManagers even require one to demonstrate hand-eye coordination; one must click on tiny decorations to do said management.
How many WindowManagers do a decent job of keeping the "right" window visible (+ with focus) without requiring user intervention?
If you tell me which is the right window, I'll write the manager.
I don't know of any WindowManagers that actually read your mind with sufficient accuracy to predict what window you are going to use next.
KWM (and probably many others) will, when switching windows with ALT-Tab, suggest the window on which you worked most recently first. Moreover, under the BII theme, title bars do not stretch across the full window but move around so that they are always visible (if possible, that is).
Perhaps the suggestion of which window to use next could be improved by some automatic learning system. The exact moment at which you want to switch is more difficult to predict; I wouldn't want a window manager that suddenly would throw me to a different window because it has decided that other window is better for me. So I think it would still be necessary to cue the system with ALT-Tab or some other key combo that you want to switch windows.
As an aside, I would recommend to use "focus follows mouse" policy. This seriously cuts down on the number of UserInterface interactions you have to go through to switch windows.
On standard hardware, I agree mouse-focus is the best that can be done, but I've heard of someone using additional hardware to implement FocusFollowsEyes?. I want that! Although I'd want a way to override it temporarily...
FWIW, I have grown to loathe all the implementations of FocusFollowsMouse I've run into - they may be configurable so as to avoid the problems I've run into, but they sure don't ever come with what I consider sensible defaults. -- KarlKnechtel
Perhaps the alt-tab key could trigger code that checks on the contents of the clipboard. In pseudocode:
if clipboard_contents == url_pattern first_choice = webbrowser_window if clipboard_contents == email_pattern first_choice = email_window if clipboard_contents == mailingaddress_pattern first_choice = wordprocessor_window second_choice = pim_window else first_choice = last window visitedStore preferences in a text file so users can promote, delete, or define other RegularExpressions. The code could execute whenever the clipboard contents change. That would speed up switching when using the alt-tab.
What you seem to want is (sort of) provided by the PlanNine and InfernoOs plumbers. Although, rather than an alt-tab, you invoke "plumb" by middle-clicking and selecting it from the menu (or by executing "Plumb" in the AcmeEditor?), and the appropriate program, as defined by matching a RegularExpression in $home/lib/plumbing, is run. --Pete
This sounds like a backwards implementation of OSX/NeXT Services where apps can export some of their methods to be used under a systemwide menu that gets data from the clipboard. This has the advantage that you never even have to leave your original app, it's just a filter on the standard copy/paste functionality.
Perhaps the CMU's AndrewWindowManager? would be more acceptable today given the larger screens and the virtual desktop mechanism. Like Oberon, Andrew was a tiled window manager and, if I recall correctly, had a graceful protocol for resizing windows based on your pattern of use. -- AndrewGilmartin
A useful combination is using Alt-Tab to change between programs and Ctrl (or Command)-Tilde to cycle between windows of a same program. This can reduce the need for a mouse for window management considerably. I discovered this combination using InternetExplorer on MacOsx. -- SeanOleary
If you are going to change windows all the time, you are better off with special keys devoted to it, the way Sun's workstations do. On linux, I can do this on WindowMaker, but I don't think it is possible in KDE or Gnome, or Windows. It makes life much easier -- Juan Nu�ez It certainly is possible in both Gnome and KDE. I use both these environments, and have keymappings for both that make switching windows much easier.
Sounds like time to bring back the BuckyBits?, or at least reuse the existing keys a little better. For example, on a keyboard with a WindowsKey?, I'd like Win+Q and Win+W to be next/prev window, and win+a and win+s to be next/prev tab. Heheh - just noticed on my keyboard - all the common windows ctrl hotkeys are listed on the bottom edge of the keys (stupidly including the Word ones for underline/italic/bold).
DwmWindowManager has tags 0-9 that windows can be tiled on. You can set up a regex that will auto place windows on particular tags.