JDK-5053388 : Non-focusable windows implementation should be revisited
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: generic
  • Submitted: 2004-05-26
  • Updated: 2011-07-01
  • Resolved: 2011-07-01
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
Windows: right now we use combination of different mouse and focus events to simulate non-focusable behavior. This works unstably and might stop working in the future since the implementation relies on current behavior. Instead, we should try to use hooks to filter-out focus events from toplevel.

Unix: we use override_redirect to make sure our windows are non-focusable. This works for focus, but makes problems to z-order and desktop navigation. Instead, we should investigate how modern WMs(Metacity 2.6, 2.4.55, Kwin 3.x) work well with WM_TAKE_FOCUS and start using it for them

Comments
EVALUATION Both Windows and X11 issues described in this bug report are already implemented. All the side effects and regressions are filed as separate reports, so I don't see any reason to leave this bug open.
01-07-2011

EVALUATION After the fix for 5091224 all the Java unfocusable windows started using WS_EX_NOACTIVATE style, on Windows platform. However, it seems that fix didn't include removing some events filtering used to emulate unfocusable windows before. This filtering may have some side-effects as Win32 GDI may expect some events, for details see two bugs: 6492990 and 4980161.
15-11-2006