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 Windows11, Windows10, Windows8, Windows7, WindowsVista, WindowsXP, WindowsServer2012, WindowsServer2008, WindowsServer2003. 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 WindowsVista, Windows7, Windows8, Windows10, Windows11, WindowsServer2008, WindowsServer2012, and later versions, which is why I created this utility.
Screenshots
Historical screenshots
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 does not require installation. You only need to run it once to change settings; all applied changes are persisted immediately.
- If windows and menus disappear before using them, try increasing the delay. A delay of 100—300 milliseconds is recommended, depending on how fast you move the mouse cursor.
- To work around some window raising and menu problems, click and hold your left mouse button on an empty (unresponsive) area, drag the cursor to where you want to focus, and let go.
- Active window raising can be problematic when some programs/windows completely overlap others, especially in combination with a low delay. Try turning off active window raising.
- If using a Microsoft Account to log in to Windows, the active window tracking settings are synchronized to other machines using the same account. This is because the settings are part of Windows, and X-Mouse Controls merely lets you conveniently change them.
- You can find more tips in the Github issues.
Donate
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
- Report issues on github or contact the developer.
- In order to avoid X-Mouse Controls being buried below other windows while experimenting with the settings, it will always stay on top of other windows. Minimize first to test window raising.
- Uninstallation is easy — just delete the X-Mouse Control files. Optionally run the program to turn off active window tracking first, as the settings are persisted automatically by Windows.
- Some applications, especially those with a Multiple Document Interface, may raise their own window even though the feature is disabled. See usage.
- What is known as x-mouse on Windows is different from Xmouse on other systems, such as Unix and Linux variants. On Windows, it is closer to the X Window System (X11) setting focus follows mouse (FFM) or focus follows pointer.
- Requires Windows Presentation Foundation, which is included in .NET Framework 3.5 and .NET Framework 4. One of them is most likely already installed on your system.
- If you use a version of Windows released prior to Windows Vista, it is recommended to use Tweak UI, found in Microsoft PowerToys and the related powertoy Microsoft Xmouse 1.2.
Source code
The source code, including this webpage and original graphics, has been released under the GNU General Public License. Contributions aremost 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.
- Microsoft development environment — virtual machine with Visual Studio pre-installed.
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
6f253790111422361a38f049854aca34f51c03e4c06bab47f9c73b8da9390191
15f35391b93c8f0d15175dbe5455c7842e63e66ba52ab075ef2f8fca3cd1a3f0
4be491c7bb04e5dd8b29192ff9b9452179954c159c276b66ce63fbf2968a59af
- Minimize the main window. Requested in #5 by bitofhope. Fixed in #6, thank you Nathan Phillip Brink!
- Can run on Windows 10 without downloading .NET Framework 3.5. Both requested in #11 and fixed in #12 by Nathan Phillip Brink, thank you!
- More usage information and tips in the main window.
- Reflect system settings changes in the X-Mouse Controls window.
- Update icon to depict a focused window below an unfocused window (instead of a focused window on top of an unfocused window). Graphics were updated by Miroslava Jovičić, thank you!
- , a package for X-Mouse Controls was published on Chocolatey. Credit goes to @BatmanAoD for both taking the initiative in #25 and maintaining the package, thank you!
v1.0.1.0
Downloads
dc3b464cf4583aa3fc647647d5e3de5581736c5c004505d14f9e6294aee39e28
4adeceb406b62e1bc3471a849bf20cb7fce1490902ab551d37561b4bd8a2b6b8
75f8f79c86e36855fca7435104062fa2eaccacc938f176e8ea0a51578e6057cc
- Allow manual input of the delay in milliseconds.
- Using WPF bindings in more places.
- New website links.
- , the source code was released on github under the GNU General Public License.
v1.0.0.1
Downloads
ee828033899b46d7e2bcf6557f3614bd5bbb8410d93c23f90948bc0ca79728eb
d7aaf13e8f68f877bdb20fdc719c5ee5b19bdc9a35cfacaa95fecdd1c1a8b75b
aabbedf94cfde74771c0d16b2de79584b87d791d4556c9d2a20e359cc80037a2
Disable the active window raising checkbox and delay slider when the active window tracking checkbox is not checked.
v1.0.0.0
Downloads
2f5678915c89c9652fec4fd5eb2aa8c78a1c06e53b8184afc18906166674db75
337dd85b4937bf2ed7a63e7759b2fb436689826b32d1a7e05dd88f4831dc09a4
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
- alternativeTo: X-Mouse Controls
- superuser.com: How do you enable focus follows mouse in Windows 10 (answer)
- superuser.com: How to make mouse in Windows 7 act the same as Windows XP (answer)
- superuser.com: How do I activate a window without bringing it to the foreground? (answer)
- Ars Technicha: Help Request: How to enable "focus-follows-mouse" in Windows 7 (comment)
- SevenForums: Windows 7: I need to prevent the focus window from coming to the top (comment)
- AutoHotKey: Auto-raise / mouse hover (comment)
- ReactOS JIRA: CORE-10046 Add an option for mouse-follows-focus behavior into control panel
- Reddit /r/software: Ubuntu scrolling on windows 8.1 (comment)
- Reddit /r/buildapc: What programs do you use? (comment)
- DocuWare support: Tastenkürzel ändern (comment)
- Dual-boxing.com Forum: X-Mouse Controls to switch Activate Window by Hovering Over with Mouse in Windows (post)
- JDownloader Boards: JDownloader window doesn't activate on mouseover. (comment)
- EverQuest Forums: Issue with scroll and RMB since 64-bit update when using KVM software (comment)
- Stardock Forums: Mouse clicks not working on EverQuest 64-bit servers (comment)
- pjcj's notes: Setting up windows
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\ControlPanel\Mouse\ActiveWindowTracking
, HKEY_CURRENT_USER\ControlPanel\Desktop\ActiveWindowTracking
, HKEY_CURRENT_USER\ControlPanel\Desktop\ActiveWndTrkTimeout
, HKEY_CURRENT_USER\ControlPanel\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=1ConsoleWindowsOnly=1Delay=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.