Community
Participate
Working Groups
It is not common for people to use "focus follows mouse" in windows, but I do. When I happen to move my mouse over any eclipse window, it is popped to the front of other windows. To turn on sloppy focus in WinNT, set the following registry var: HKEY_CURRENT_USER\Control Panel\Mouse\ActiveWindowTracking = 1 (DWORD) If it doesn't exist, create it as a DWORD. Then to test, start eclipse and any other window together. Make sure the windows overlap, but you can see parts of both windows. Now click on the non- eclipse window. It'll come to the top. Now just move the mouse over the eclipse window, and it will be brought to the front without clicking. Why??? Please disable this. It should only come to front when clicked on, like all other apps.
It may be related to Bug# 4705.
Simon, Pls investigate. Get help from the SWT team once you have configured "Sloppy Windows" on a test machine.
I do not have an NT box, I have Windows 2000. So I tried changing the registry var (was set to zero) to be 1. Rebooted and it does not seem to have taken effect. Is this reg entry supported on Windows 2000?
I was using Windows NT 4, not 2000. I tried Win2000, and the mouse tracking option doesn't work for me either. After a web search through google, I have come to the conclusion that it is possible under win2000, but only by using Microsoft's TweakUI tool. I haven't tried this yet. To get TweakUI, go here: http://www.microsoft.com/ntworkstation/downloads/PowerToys/Networking/NTTweakUI. asp
Richard, We do not have the cycles to look at this problem right now. Since it is obvious that you really care about solving this problem I encourage you to write the code and submit a patch. If you are interested, let me know through the developer's mailing list; and I will help set you up with a self hosting environment.
No cycle to do this and no volunteers from the community yet to address this issue.
Seem like the Reporter is currently looking into this problem and has a patch in the works.
Created attachment 252 [details] Patch to fix bug 6220 in org.eclipse.swt.widgets.Control
I have attached a proposed fix to this bug as attachment 252 [details] (see below). It is a patch to the Eclipse 20020122 integration release on the class org.eclipse.swt.widgets.Control. The problem is that forceFocus() raises the window to the top un-necessarily. I have done some testing, and the problem is fixed, and there doesn't seem to be any unintended side-effects.
Here is a contribution from Richard Colley. Can you have someone on SWT to verify and accept/reject this fix?
Grant, I don't expect you to fix this necessarily but you are looking at this issue on Linux. I don't believe we can remove this line safely - we need to find out how a C program is supposed to handle ActiveWindowTracking on Windows and do the same thing. Low priority because Windows users never use this mode.
Just wanted to let you know that there *are* Windows users who use this mode. I'd like to switch from Netbeans to Eclipse but this bug is really annoying. Oh, and btw. I'm using Windows XP Pro.
How can we get this fix in? I know several people that really hate this bug. What can I do to help move this along?
I'll revisit this tomorrow with SN.
The issue is that we need to know how the Windows controls honour "focus follows mouse". Obviously, the Windows button control doesn't call OS.BringWindowToTop(). Whatever it calls, we should also be calling. Because this is a UI Tweak, I couldn't find any documentation about it (but there may be some now).
Steve N, I'm not sure I'm following. The problem is that on eclipse gaining focus by the OS and code in Control.java is calling: shell.bringToTop(); This code should not be called programatically upon gaining focus. It should only be called programatically to force a window to popup, or when a button click occurs in any eclipse window (this is when Windows brings a window to the top). Is there a reason why this code is being called when a window receives focus, or is it intended to be called when the OS (user) tries to bring eclipse to the top?
Fixed > 20030806 Richard and Steve, Once upon a time in the dark and distant past, it seemed that OS.SetFocus() would not activate or bring windows to the top. In those bad old days, it was necessary to call OS.BringWindowToTop() to make it happen. This may have been back as far as Windows 3.11. Now things seem to be different and OS.SetFocus () not only activates the window but does the "right thing". When ActiveWindowTracking is false, windows are brought to the top and activated. When it is true, windows are only activated. So, it looks like the right code was to delete the line. Sorry it took so long but we needed to prove this with lots of test code running on Windows 98, 2000 and XP. The issue here was that most people don't run in this mode and we were afraid to break everyone else. NOTE: We are on the look out for "bring to top" related problems in Eclipse! Grant and Steve
Wow! This was so long ago I thought it had been lost somewhere. Thanks guys!
Not lost but the issue came up again and we had the time between 2.0 and 3.0 to get to the bottom of it.
Problem is back again. How to solve this?