GNU bug report logs -
#55983
29.0.50; If xref-goto-xref pops up a frame, it doesn't set its input focus
Previous Next
Reported by: miha <at> kamnitnik.top
Date: Tue, 14 Jun 2022 20:06:01 UTC
Severity: normal
Found in version 29.0.50
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 55983 in the body.
You can then email your comments to 55983 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#55983
; Package
emacs
.
(Tue, 14 Jun 2022 20:06:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
miha <at> kamnitnik.top
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Tue, 14 Jun 2022 20:06:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
To reproduce, customize pop-up-frames to non-nil and set up your window
manager such that it doesn't automatically set input focus on newly
created frames.
Now in an xref-mode buffer, press RET on a search result
(xref-goto-xref) and notice that the newly created frame doesn't receive
input focus. That is because xref-goto-xref uses `display-buffer',
followed by a `select-window'.
To contrast this behaviour with grep-mode, pressing RET in a grep-mode
buffer (compile-goto-error) does set input focus to the newly created
frame. That is because compile-goto-error uses `pop-to-buffer`, which
also calls `select-frame-set-input-focus'.
Best regards.
In GNU Emacs 29.0.50 (build 4, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.17.6)
of 2022-06-14 built on miha-pc
Repository revision: 175bc8e5a53740432c844b5aae1981d4f47c96f7
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Arch Linux
Configured using:
'configure --prefix=/usr --without-libsystemd'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11
XDBE XIM XINPUT2 XPM GTK3 ZLIB
Important settings:
value of $LANG: en_US.utf8
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
blink-cursor-mode: t
buffer-read-only: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug message mailcap yank-media rmc puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date seq gv
subr-x byte-opt bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
emacs)
Memory information:
((conses 16 44772 6206)
(symbols 48 5717 0)
(strings 32 15673 1842)
(string-bytes 1 515461)
(vectors 16 11098)
(vector-slots 8 161431 8182)
(floats 8 20 54)
(intervals 56 340 1)
(buffers 992 11))
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#55983
; Package
emacs
.
(Sun, 19 Jun 2022 00:03:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 55983 <at> debbugs.gnu.org (full text, mbox):
Hi!
Thanks for the report.
On 14.06.2022 23:17, miha--- via Bug reports for GNU Emacs, the Swiss
army knife of text editors wrote:
> To reproduce, customize pop-up-frames to non-nil and set up your window
> manager such that it doesn't automatically set input focus on newly
> created frames.
TBH I'm not sure how to setup GNOME Shell to do this.
> Now in an xref-mode buffer, press RET on a search result
> (xref-goto-xref) and notice that the newly created frame doesn't receive
> input focus. That is because xref-goto-xref uses `display-buffer',
> followed by a `select-window'.
>
> To contrast this behaviour with grep-mode, pressing RET in a grep-mode
> buffer (compile-goto-error) does set input focus to the newly created
> frame. That is because compile-goto-error uses `pop-to-buffer`, which
> also calls `select-frame-set-input-focus'.
Window management in Emacs is a tricky business, and the current
implementation is a result of https://debbugs.gnu.org/28814 which
implemented a particular kind of behavior and
https://debbugs.gnu.org/33870 which did try to make it more customizable
through display-buffer-alist. See both discussions for more detail.
I don't have the time at the moment to try to rework it myself.
Patches welcome, though. But please mind the original implementation intent.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#55983
; Package
emacs
.
(Sun, 19 Jun 2022 13:27:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 55983 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Dmitry Gutov <dgutov <at> yandex.ru> writes:
> Hi!
>
> Thanks for the report.
>
> On 14.06.2022 23:17, miha--- via Bug reports for GNU Emacs, the Swiss
> army knife of text editors wrote:
>> To reproduce, customize pop-up-frames to non-nil and set up your window
>> manager such that it doesn't automatically set input focus on newly
>> created frames.
>
> TBH I'm not sure how to setup GNOME Shell to do this.
>
>> Now in an xref-mode buffer, press RET on a search result
>> (xref-goto-xref) and notice that the newly created frame doesn't receive
>> input focus. That is because xref-goto-xref uses `display-buffer',
>> followed by a `select-window'.
>>
>> To contrast this behaviour with grep-mode, pressing RET in a grep-mode
>> buffer (compile-goto-error) does set input focus to the newly created
>> frame. That is because compile-goto-error uses `pop-to-buffer`, which
>> also calls `select-frame-set-input-focus'.
>
> Window management in Emacs is a tricky business, and the current
> implementation is a result of https://debbugs.gnu.org/28814 which
> implemented a particular kind of behavior and
> https://debbugs.gnu.org/33870 which did try to make it more customizable
> through display-buffer-alist. See both discussions for more detail.
>
> I don't have the time at the moment to try to rework it myself.
>
> Patches welcome, though. But please mind the original implementation
> intent.
Please see the attached patch. The only thing it adds is setting frame
input focus if necessary before calling `select-window'. Other behaviour
should remain the same as before. (The code and the comment is lifted
from the function `pop-to-buffer'.)
Best regards.
[0001-xref-goto-xref-Set-input-focus-in-addition-to-select.patch (text/x-patch, attachment)]
[signature.asc (application/pgp-signature, inline)]
Reply sent
to
Dmitry Gutov <dgutov <at> yandex.ru>
:
You have taken responsibility.
(Mon, 20 Jun 2022 00:49:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
miha <at> kamnitnik.top
:
bug acknowledged by developer.
(Mon, 20 Jun 2022 00:49:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 55983-done <at> debbugs.gnu.org (full text, mbox):
On 19.06.2022 16:37, miha--- via Bug reports for GNU Emacs, the Swiss
army knife of text editors wrote:
> Please see the attached patch. The only thing it adds is setting frame
> input focus if necessary before calling `select-window'. Other behaviour
> should remain the same as before. (The code and the comment is lifted
> from the function `pop-to-buffer'.)
Makes sense. Pushed to master, thanks!
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 18 Jul 2022 11:24:11 GMT)
Full text and
rfc822 format available.
This bug report was last modified 2 years and 335 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.