Focus Follows Mouse in Windows

While I’ve used Windows since the DOS era, I’ve also used Mac OS and Unix-like systems for nearly as long. One of the biggest features from Unix-like systems that I miss in Windows is Focus Follows Mouse (FFM).

Essentially, FFM is this: whichever window the mouse pointer is over is the window that the mouse can interact with, irrespective of whether the window is the active window for the keyboard or not. This is really useful when using two (or more windows), one of which requires scrolling and the other is used for typing. If your system has FFM, then you can type in one window and scroll the other with no need to switch between them. It may seem like a subtle feature (and it is), but it is also a boon for productivity.

Under Windows XP, I had enabled FFM using the TweakUI PowerToy. This same solution is unavailable in Windows 7.

For Windows 7, there seem to be three solutions available: using Windows 7′s accessibility options, changing the registry, and a small, open source tool.

Ease of Access Center in the Control Panel

If one goes to the Ease of Access Center in the Control panel and selects “Make the mouse easier to use”, there is an option labeled “Activate a window by hovering over it with the mouse.” If this option is selected, an FFM-like use is enabled.

Pros: This method requires neither editing the registry nor downloading third-party tools.

Cons: This method is pretty far from true FFM. When the mouse hovers over a window, not only does it become the active window as far as the keyboard is concerned, but it is also brought to the front of all other windows. This is not always desirable, and is not what I want.

Registry Hack

While looking for a solution to enabling FFM on Windows, I came across a blog post detailing the use of a registry hack as a work-around. I won’t detail the steps here as they are available through the link, and I think this solution is inferior to the one below. (That page also talks about TweakUI for Windows XP, but I had used that before finding the above blog.)

Pros: Hovering over a window with the mouse makes it the active window (not exactly what we want) but without bringing the window to the front (closer to what we want).

Cons: This still changes the active window with respect to the keyboard in addition to the mouse, so typing in the original window isn’t possible while the mouse is in the window we want to scroll. Moreover, editing the registry is somewhat complex and may deter some users from using this approach. Rebooting is also required for the changes to take effect.

X-Mouse Controls

The best solution that I’ve found is a program called X-Mouse Controls. It is a stand-alone program that allows one to enable hovering the mouse and select a delay (in milliseconds) without having to fiddle with the registry. There is no install necessary, and it gets the job done. Bonus points for the program being open source (GPL version 3).

Pros: Hovering over a window with the mouse makes it the active window (not exactly what we want) but without bringing the window to the front (closer to what we want). The open-source tool is easy to use, and rebooting the system isn’t required.

Cons: This still changes the active window with respect to the keyboard in addition to the mouse, so typing in the original window isn’t possible while the mouse is in the window we want to scroll. (This is the same con as the Registry Hack.)

 

X-Mouse Controls seems like the best solution thus far, but it is certainly not true Focus Follows Mouse: each of these solutions makes the window the mouse is in active, so the keyboard will type in that window. In Linux, the mouse can scroll a window while the keyboard types in a separate window. The pseudo-FFM solutions here work pretty well with dual monitors, but it bears mentioning that this behavior is sometimes erratic (I’ve noticed this mostly when using multiple Java windows of different sizes stacked on a single monitor). Fortunately, with X-Mouse Controls enabling/disabling the pseudo-FFM is a breeze.

4 thoughts on “Focus Follows Mouse in Windows

  1. Hi Doug,

    thanks for this little tip. I, like you, prefer FFM and have always hated the way windows does this… Unlike you, I’ve also always had the window pop to the top when it had focus, so the “ease of access” solution in Windows 7 is just right for me :-)

    thanks for posting!
    stefan

  2. What X-Mouse Controls does is (almost) Focus-Under-Mouse, a close relative of FFM. Some X window managers support both styles. The difference is that with FFM you can change keyboard focus via Alt-Tab, thus the mouse stays over a non-active window. With FUM you can’t. With X-Mouse Controls, Alt-Tab moves the mouse, so this is more like FUM than FFM.

    I don’t know of any real FFM for Win7 (I’m fine with either FFM or FUM, so thanks for your tip), but there is a freeware “X-Mouse Button Control” that has a setting for scroll-without-activate. Maybe that helps you instead of FFM/FUM.

  3. Pingback: How I Save Time with the Right Shortcuts, Handpicked Apps, and Finetuned Hardware - Olivier Travers

  4. Hi Doug,

    I am using the feature you are describing with an 3D Browser Mouse version 1.0 driver, which needs to be installed. It works on XP and Win7 (I am using it since 2011). You keep the keyboard control with your focused window, but it allows you at the same time to scroll in other windows. I received the installation files from a colleague of mine who got the driver from a new mouse he bought.
    I did not find the files in the net though, but if you need the installation files I can send them to you. It is in german, and the properties are controled in the task bar through a small symbol.
    You need to chose the “Enhanced scroll mode”.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>