Ticket #440 (closed usability: behaves correctly)

Opened 17 months ago

Last modified 6 days ago

Mouse Focus "Bleeds Through" OSX Windows

Reported by: jdtsmith@… Owned by: jeremyhu@…
Priority: Not Set Milestone: 2.7.1
Component: xserver Version: 2.5.2 (xserver-1.8.2)
Keywords: Cc:

Description

With XQuartz 2.5.2 in the background hosting Emacs windows, and Safari or other OSX windows in the foreground, moving the mouse over the position of the menu bar causes Emacs tooltips to pop-up from behind. This is independent of any of the "Window" preference settings, including FFM and click through (although with FFM, focus also clearly changes from XQuartz window to XQuartz window hiding "beneath" a foreground OSX window). A screen shot (with approximate position of the cursor added as a red arrow) is attached.

This seems similar to bugs #53 and #8, for which a fix was claimed in 2.3.2.

Attachments

focus_bleed.jpg Download (189.3 KB) - added by jdtsmith@… 17 months ago.
Screen Shot demonstrating mouse focus "bleed-through"

Change History

Changed 17 months ago by jdtsmith@…

Screen Shot demonstrating mouse focus "bleed-through"

Changed 9 months ago by jeremyhu@…

  • status changed from new to assigned
  • milestone set to 2.7.0

Changed 4 months ago by jeremyhu@…

  • milestone changed from 2.7.0 to 2.7.1

Changed 6 days ago by jeremyhu@…

That should be handled by this check in X11Application.

            if(!XQuartzServerVisible && noTestExtensions) {
#if defined(XPLUGIN_VERSION) && XPLUGIN_VERSION > 0
/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */
                xp_window_id wid = 0;
                xp_error err;

                /* Sigh. Need to check that we're really over one of
                 * our windows. (We need to receive pointer events while
                 * not in the foreground, but we don't want to receive them
                 * when another window is over us or we might show a tooltip)
                 */

                err = xp_find_window(location.x, location.y, 0, &wid);

                if (err != XP_Success || (err == XP_Success && wid == 0))
#endif
                {
                    bgMouseLocation = location;
                    bgMouseLocationUpdated = TRUE;
                    return;
                }
            }

Have you enabled the test extensions? Can you paste the output of:

defaults   write   org.macosforge.xquartz.X11 

Changed 6 days ago by jeremyhu@…

  • status changed from assigned to closed
  • resolution set to behaves correctly

Yeah, and it seems to work for me. I see the behavior you report when I have:

defaults   write   org.macosforge.xquartz.X11    enable_test_extensions true

But I don't see it when I have the default:

defaults   write   org.macosforge.xquartz.X11    enable_test_extensions false

I'm closing this as 'works correctly' unless you can show that you're seeing the issue with enable_test_extensions set to false.

Note: See TracTickets for help on using tickets.