Switch Windows by Hovering the Mouse Over a Window in Windows 7 or Vista
- Open Control Panel (see how if you don't know).
- Open Ease of Access Center.
- Click 'Make the mouse easier to use'
- Check the option 'Activate a window by hovering over it with the mouse' and click OK.
Now when you hover over various windows, they will be focused without clicking. They will also get auto raised, meaning the window on which the mouse hovers which be brought to the foreground.
How to make windows active but not raise them
To configure this,
- First make sure that 'Activate a window by hovering over it with the mouse' is turned on from Ease of Access Center -> Make the mouse easier to use.
- Next, open Registry Editor (see how).
- Go to this registry key:
- In the right pane, locate the value "UserPreferencesMask". This is a REG_BINARY value, expressed in hex numbers and many settings related to visual effects are stored in this one value. For windows to get focus but not get raised automatically, we need to subtract 40 bits from the first hex value. (40 bits because Windows adds 41 bits to the first hex value in UserPreferencesMask when it enables Xmouse, and only 1 bit is supposed to be set if you want Xmouse without autoraise behavior). In my case, the value was df,3e,03,80,12,00,00,00 but your value may be different. You can do the calculation to figure this out easily in Windows Calculator. Just start Calculator and switch to the Programmer mode from the View menu. Then select the Hex mode and select the Byte display size. In my case, df − 40 = 9f, so I changed it to 9f,3e,03,80,12,00,00,00.
- To actually change it, double click the UserPreferencesMask value and carefully select the first two bits and then type the new value.
- Now log off and log in back again to see the change. Windows will become active when you hover over them but won't be brought to the top.
Change the time out for how fast or slow windows get focus after hovering
There is one more tweakable parameter related to Xmouse behavior and that is the delay after which windows get active after the mouse hovers on them. To adjust this timeout,
- Open Registry Editor (see how).
- Go to the same registry key as above:
- In the right pane, locate the DWORD value called ActiveWndTrkTimeout.
- Double click the ActiveWndTrkTimeout value and change to the Decimal base. Enter the time in milliseconds (ms). 1000 ms means the window will become active after you hover over it for 1 second. If you set it to 0, the windows will get the focus instantly although we don't recommend that you set it to 0 even if you want the focus to be transferred faster - set it to 500 instead.
- Log out and log in again to see the change.