X-Mouse Controls

Microsoft Windows utility to manage the active window tracking/raising settings. This is known as x-mouse behavior or focus follows mouse on Unix and Linux systems.

Works on Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows Server 2012, Windows Server 2008, Windows Server 2003. Might work on other versions as well.

Download latest version

Alteratively, install the Chocolatey package: choco install xmouse-controls

X-Mouse Controls is competely free! If you like and use X-Mouse Controls, please tell your friends and link back to this page.

What is x-mouse behavior?

When multiple programs are running on a Windows operating system, the default mode of operations is that you click one window after another to give them focus for keyboard inputs. With the x-mouse settings that click is not necessary — the only thing needed is to move your cursor over the window for it to become active.

This behavior has been possible, but disabled, in different versions of Windows for years. It is usually enabled through Windows accessibility settings or a wide variety of tools and utilities, most notably Tweak UI found in Microsoft PowerToys. However, Tweak UI does not run on Windows Vista, Windows 7, Windows 8, Windows 10, Windows 11, Windows Server 2008, Windows Server 2012, and later versions, which is why I created this utility.

Screenshots

Screenshot of the main window of X-Mouse Controls v1.1.0.0, running on Windows 10
The main window of X-Mouse Controls v1.1.0.0, running on Windows 10.
Historical screenshots
Screenshot of the main window of X-Mouse Controls v1.0.1.0, running on Windows 7
The main window of X-Mouse Controls v1.0.1.0, running on Windows 7.
Screenshot of the main window of X-Mouse Controls v1.0.0.0, running on Windows Vista
The main window of X-Mouse Controls v1.0.0.0, running on Windows Vista. (Perhaps Windows 7?)

Features

Active window tracking
Enable to give focus to windows by moving your cursor over them, known as focus follows mouse. Obeys the delay described below.
If disabled (default) a click is required to activate a window, known as clickfocus.
Active window raising
Enable to automatically make the active window the topmost window, known as autoraise.
If automatic window raising is disabled (default) it allows the user to type text or give commands in one window without changing the order of the other windows.
Active tracking delay
The delay in milliseconds (ms), until the window focus changes. This program allows settings from 0 milliseconds (instant focus) to 2500 milliseconds (very long delay). A value of 100—300 milliseconds is recommend to avoid windows stealing focus too fast. See usage.
Apply
Saves the settings and applies them to your system. The settings come in effect right away, and stay even after rebooting.

Usage, tips, and workarounds

X-Mouse Controls is competely free! You even get the source code for free. To develop open source software is not without cost though — it takes technical knowledge, time, and effort.

You don't have to be a developer to support my open source work! Sending a link to a friend, or posting on social media, helps as well. If you want to receive personal support, or just feel all warm and fuzzy inside from helping open source development, donations are very welcome. There is no predefined price — you pay what you want.

Open source Feel-good
Active window tracking
Active window raising
Active tracking delay
Instant apply
Source code
Github support
Email support
Price Free! Pay what you want.

Notes

Source code

The source code, including this webpage and original graphics, has been released under the GNU General Public License. Contributions are most welcome! Please create pull requests against the develop branch, and follow the git-flow branching style.

To work on X-Mouse Controls, Microsoft Visual Studio is required. It is easy to run a complete developer setup in a virtual machine, freely available from Microsoft.

Preferably test any changes on both Windows 10 and Windows 11, as both have a lot of users and high market share (January 2023) (more up-to-date data source).

History and downloads

As an alternative to manual zip file unpacking, install the Chocolatey package: choco install xmouse-controls

Downloads are signed using Joel Purra's OpenPGP key 4C47B4FF173AE6ED0DB733946DF6890D2A977668. To verify the authenticity, use an OpenPGP-compliant tool such as GNU Privacy Guard (GnuPG, GPG).

v1.1.0.0

Downloads
Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 6f253790111422361a38f049854aca34f51c03e4c06bab47f9c73b8da9390191
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 15f35391b93c8f0d15175dbe5455c7842e63e66ba52ab075ef2f8fca3cd1a3f0
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 4be491c7bb04e5dd8b29192ff9b9452179954c159c276b66ce63fbf2968a59af

v1.0.1.0

Downloads
Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: dc3b464cf4583aa3fc647647d5e3de5581736c5c004505d14f9e6294aee39e28
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 4adeceb406b62e1bc3471a849bf20cb7fce1490902ab551d37561b4bd8a2b6b8
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 75f8f79c86e36855fca7435104062fa2eaccacc938f176e8ea0a51578e6057cc

v1.0.0.1

Downloads
Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: ee828033899b46d7e2bcf6557f3614bd5bbb8410d93c23f90948bc0ca79728eb
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: d7aaf13e8f68f877bdb20fdc719c5ee5b19bdc9a35cfacaa95fecdd1c1a8b75b
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: aabbedf94cfde74771c0d16b2de79584b87d791d4556c9d2a20e359cc80037a2

Disable the active window raising checkbox and delay slider when the active window tracking checkbox is not checked.

v1.0.0.0

Downloads
Release build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 2f5678915c89c9652fec4fd5eb2aa8c78a1c06e53b8184afc18906166674db75
Debug build
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 337dd85b4937bf2ed7a63e7759b2fb436689826b32d1a7e05dd88f4831dc09a4
Source code
Zip file
Zip file OpenPGP signature
Zip file SHA256 checksum: 5e9d3092a5fcea4ab21a5ab455fd19c9400e78731f502aed69b5db82832b533b

First version, initial release.

About the author

Joel Purra is a software engineer working on both commercial and open source projects. He is available for consulting work.

Search engine fodder

This section can be ignored by humans.

System calls

X-Mouse Controls is using system calls from SystemParametersInfo in user32.dll, especially SPI_GETACTIVEWINDOWTRACKING, SPI_GETACTIVEWNDTRKZORDER, SPI_GETACTIVEWNDTRKTIMEOUT.

Incoming links

Windows Ease of Access Center (Windows 7)

The Windows control panel offers you to enable/disable x-mouse, but not to tweak it. Use X-Mouse Controls instead.

  • Enter Ease of Access Center (shortcut Win+U)
  • Click Change how your mouse works
  • Enable Activate a window by hovering over it with the mouse

Registry hacks

Direct editing of the registry for x-mouse values is considered a bad thing, as there are API calls which do this correctly and apply the results right away — with X-Mouse Controls there is no need to log out and in, or restart your computer. The following words are only here to help others searching for a tool that makes an inactive window active by hovering: HKEY_CURRENT_USER\Control Panel\Mouse\ActiveWindowTracking, HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWindowTracking, HKEY_CURRENT_USER\Control Panel\Desktop\ActiveWndTrkTimeout, HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask, REG_DWORD, REG_BINARY.

Windows 3.11, Windows 95, Windows 98

Excerpt from AXCEL216's MAX Speeed Windows 98/98 SE + DOS 7.10 ©Tricks, Secrets, BUGs + FIXes

X-Mouse settings do not "stick" [Thank you Joel Purra (e-mail removed)!]: TweakUI's Mouse tab -> "Activation follows mouse (X-Mouse)" box checked, and: TweakUI's General tab -> "X-Mouse AutoRaise" and "Mouse hot tracking effects" boxes checked. This can be fixed in some cases (reminiscent from the old XMouse MS Power Toy 95) by adding/changing these Win.ini entries under the [XMouse] section:

[XMouse]
BringWindowToTop=1
ConsoleWindowsOnly=1
Delay=1

Edit Win.ini (located in your Windows folder) with Notepad or Sysedit. Change any of these lines from 1 to 0 or back, and then restart Windows to see if it works. See "ACTIVE WINDOW TRACKING" in REGISTRY.TXT (included) to learn how to properly activate/fix X-Mouse settings used by TweakUI.