GNU bug report logs - #65919
29.1; build without xinput does not get focused when hovering over window

Previous Next

Package: emacs;

Reported by: Ivan Popovych <ivan <at> ipvych.com>

Date: Wed, 13 Sep 2023 14:29:03 UTC

Severity: normal

Found in version 29.1

Done: Po Lu <luangruo <at> yahoo.com>

Bug is archived. No further changes may be made.

Full log


Message #17 received at 65919 <at> debbugs.gnu.org (full text, mbox):

From: Po Lu <luangruo <at> yahoo.com>
To: Ivan Popovych <ivan <at> ipvych.com>
Cc: 65919 <at> debbugs.gnu.org
Subject: Re: bug#65919: 29.1; build without xinput does not get focused when
 hovering over window
Date: Thu, 14 Sep 2023 19:04:20 +0800
Ivan Popovych <ivan <at> ipvych.com> writes:

> Po Lu <luangruo <at> yahoo.com> writes:
>
>>
>> OK.  Does the problem vanish if you switch to a no toolkit or GTK 3
>> build?
>
> Build with no toolkit has no issue
>
> Configured using:
>  'configure
>  --prefix=/nix/store/zg0g00l2gyycf1xdl64j89sbnjrif62l-emacs-29.1
>  --disable-build-details --with-modules --with-x-toolkit=no --with-xft
>  --with-cairo --with-native-compilation --with-tree-sitter
>  --with-xinput2'
>
> Build with gtk3 has no issue
>
> Configured using:
>  'configure
>  --prefix=/nix/store/y35rnh7np5m538gmw6qcsr6wcwrw9ls5-emacs-gtk3-29.1
>  --disable-build-details --with-modules --with-x-toolkit=gtk3
>  --with-xft --with-cairo --with-native-compilation --with-tree-sitter
>  --with-xinput2 --with-xwidgets'

Thanks.  I guess the problem arises from the core window focus code used
under X toolkit builds.

Would you please instrument x_focus_changed as follows:

diff --git a/src/xterm.c b/src/xterm.c
index 11ccd5ebdb3..cff9b2537d5 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -12005,6 +12005,8 @@ XTtoggle_invisible_pointer (struct frame *f, bool invisible)
 x_focus_changed (int type, int state, struct x_display_info *dpyinfo,
 		 struct frame *frame, struct input_event *bufp)
 {
+  fprintf (stderr, "x_focus_changed: %d %d %p\n",
+	   type, state, (void *) frame);
   if (type == FocusIn)
     {
       if (dpyinfo->x_focus_event_frame != frame)

and send us whatever is printed to standard output after moving the
pointer within the frame?




This bug report was last modified 1 year and 248 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.