GNU bug report logs - #52737
29.0.50; pgtk and StumpWM: Cannot send C-t

Previous Next

Package: emacs;

Reported by: Joseph Mingrone <jrm <at> ftfl.ca>

Date: Wed, 22 Dec 2021 16:32:02 UTC

Severity: normal

Found in version 29.0.50

To reply to this bug, email your comments to 52737 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Wed, 22 Dec 2021 16:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Joseph Mingrone <jrm <at> ftfl.ca>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 22 Dec 2021 16:32:02 GMT) Full text and rfc822 format available.

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

From: Joseph Mingrone <jrm <at> ftfl.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Wed, 22 Dec 2021 12:31:34 -0400
Similar to GNU screen or tmux, StumpWM uses a key to prefix all commands.  The default prefix is C-t.  To send the prefix key to an application, C-t t can be used.  For example, to open a new tab in a browser or to transpose keys in a shell, C-t t is used.

Emacs built --with-pgtk no longer recognizes C-t when C-t t is sent.  For example, `describe-key' followed by C-t t stays at the prompt waiting for a key to be entered.

This is the case when starting with emacs -Q.  If Emacs is started with emacs -nw -Q, C-t t is recognized.

In GNU Emacs 29.0.50 (build 1, amd64-portbld-freebsd13.0, GTK+ Version 3.24.30, cairo version 1.17.4)
Repository revision: ca5c527
Repository branch: master
Windowing system distributor 'System Description: 13.0-RELEASE-p4

Configured using:
 'configure --disable-build-details --localstatedir=/var
 --without-libsystemd --without-selinux --with-x --enable-acl
 --with-cairo --without-dbus --without-gconf --with-gif --with-gnutls
 --without-gsettings --with-x-toolkit=gtk3 --with-harfbuzz --with-jpeg
 --with-json --with-file-notification=kqueue --with-lcms2
 --with-m17n-flt --without-imagemagick --without-mailutils
 --with-modules --without-native-compilation --with-sound=oss
 --with-libotf --with-pgtk --with-png --with-toolkit-scroll-bars
 --with-sqlite3 --with-rsvg --with-threads --with-tiff --with-webp
 --with-xft --with-xim --with-xml2 --with-xpm --without-xwidgets
 --x-libraries=/usr/local/lib --x-includes=/usr/local/include
 --prefix=/usr/local --mandir=/usr/local/man --disable-silent-rules
 --infodir=/usr/local/share/emacs/info/
 --build=amd64-portbld-freebsd13.0 'CFLAGS=-O2 -pipe
 -fstack-protector-strong -isystem /usr/local/include
 -fno-strict-aliasing ' 'CPPFLAGS=-isystem /usr/local/include' 'LDFLAGS=
 -fstack-protector-strong -L/usr/local/lib ''

Configured features:
ACL CAIRO FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBOTF
LIBXML2 MODULES NOTIFY KQUEUE PDUMPER PGTK PNG RSVG SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS WEBP XIM GTK3 ZLIB

Important settings:
  value of $LANG: en_CA.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Group

Minor modes in effect:
  hl-line-mode: t
  gnus-topic-mode: t
  gnus-undo-mode: t
  erc-spelling-mode: t
  erc-ring-mode: t
  erc-netsplit-mode: t
  erc-menu-mode: t
  erc-log-mode: t
  erc-list-mode: t
  erc-pcomplete-mode: t
  erc-autojoin-mode: t
  erc-networks-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-hl-nicks-mode: t
  erc-button-mode: t
  erc-stamp-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  global-undo-tree-mode: t
  which-key-mode: t
  savehist-mode: t
  global-company-mode: t
  company-mode: t
  eyebrowse-mode: t
  counsel-mode: t
  ivy-mode: t
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  global-auto-revert-mode: t
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/jrm/.emacs.d/elpa/transient-20211208.1819/transient hides /usr/local/share/emacs/29.0.50/site-lisp/transient
/home/jrm/.emacs.d/elpa/dash-20210826.1149/dash hides /usr/local/share/emacs/29.0.50/site-lisp/dash
/home/jrm/.emacs.d/elpa/transient-20211208.1819/transient-autoloads hides /usr/local/share/emacs/29.0.50/site-lisp/transient-autoloads
/home/jrm/.emacs.d/elpa/transient-20211208.1819/transient hides /usr/local/share/emacs/29.0.50/lisp/transient
/usr/local/share/emacs/29.0.50/lisp/emacs-lisp/eieio-compat hides /usr/local/share/emacs/29.0.50/lisp/obsolete/eieio-compat

Features:
(shadow bbdb-message emacsbug sendmail flow-fill mm-archive gnus-fun
bbdb-mua bbdb-com sort gnus-cite mail-extr gnus-async gnus-bcklg qp
gnus-ml disp-table hl-line gnus-topic nndraft nnmh nnagent nnml
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum shr
pixel-fill kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus
dbus xml gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec
gnus-int gnus-range gnus-win gnus nnheader gnutls network-stream nsm
erc-image image-dired image-mode exif url-queue erc-spelling erc-ring
erc-netsplit erc-menu erc-log erc-list erc-pcomplete erc-join
erc-networks erc-track erc-match erc-hl-nicks erc-button erc-fill
erc-stamp wid-edit erc-goodies erc erc-backend thingatpt erc-loaddefs
tramp tramp-loaddefs trampver tramp-integration files-x tramp-compat
parse-time iso8601 ls-lisp flyspell ispell magit-version ert pp ewoc
debug backtrace undo-tree smart-mode-line-dark-theme smart-mode-line
rich-minority s pdf-tools-loaddefs osc52e misc hydra lv flycheck
find-func ace-link avy bbdb bbdb-site timezone company-oddmuse
company-keywords company-etags etags fileloop generator company-gtags
company-dabbrev-code company-dabbrev company-files company-capf
company-cmake company-clang company-semantic company-template
company-bbdb which-key savehist company pcase eyebrowse counsel xdg
advice xref project compile swiper ivy delsel ivy-faces ivy-overlay
colir color cus-load magit-submodule magit-obsolete magit-blame
magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch
magit-clone magit-remote magit-commit magit-sequence magit-notes
magit-worktree magit-tag magit-merge magit-branch magit-reset
magit-files magit-refs magit-status magit magit-repos magit-apply
magit-wip magit-log which-func imenu magit-diff smerge-mode diff
diff-mode easy-mmode git-commit rx log-edit message yank-media rmc puny
dired dired-loaddefs rfc822 mml mml-sec epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
magit-core magit-autorevert autorevert filenotify magit-margin
magit-transient magit-process with-editor shell pcomplete comint ring
server ansi-color magit-mode transient cl-extra edmacro kmacro help-mode
format-spec magit-git magit-section magit-utils crm dash finder-inf
tex-site info w3m-load package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-domsuf url-util
mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core
cl-macs eieio-loaddefs password-cache json map url-vars seq gv subr-x
byte-opt bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl
tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win
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 cl-generic
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 simple abbrev obarray
cl-preloaded nadvice 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
kqueue dynamic-setting font-render-setting cairo move-toolbar gtk
x-toolkit pgtk lcms2 multi-tty make-network-process emacs)

Memory information:
((conses 16 981795 71457)
 (symbols 48 33719 2)
 (strings 32 132864 12371)
 (string-bytes 1 4167605)
 (vectors 16 74682)
 (vector-slots 8 1369393 59143)
 (floats 8 466 473)
 (intervals 56 4064 608)
 (buffers 992 51))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Thu, 23 Dec 2021 18:46:02 GMT) Full text and rfc822 format available.

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

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: 52737 <at> debbugs.gnu.org
Subject: Re: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Fri, 24 Dec 2021 00:15:15 +0530
Hi,

I'm also able to reproduce this on a FreeBSD 13.0-RELEASE-p5 (amd64) 
host built with same options as the OP. Whichever prefix I chose (C-t, 
or S-e, or C-q) in StumpWM, I can't seem to pass that to GNU Emacs when 
that prefix is active. FTR, me and OP also able to reproduce this 
behaviour successfully in another Gtk 3.x application, gnome-terminal.

Apart from this, I also noticed in my setup mouse wheel stopped working. 
In M-x describe-key, in pgtk version it shows up as <touch-end>, whereas 
in non-pgtk version, it's showing up as <mouse-5>. In latter case, it's 
bound to `mwheel-scroll' where it works as expected.

Thanks!
-- 
Ashish SHUKLA

"It could be that the purpose of your life is only to serve as a warning 
to others." (Ashleigh Brilliant)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Fri, 24 Dec 2021 07:21:01 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Ashish SHUKLA <ashish.is <at> lostca.se>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Fri, 24 Dec 2021 15:20:29 +0800
Ashish SHUKLA <ashish.is <at> lostca.se> writes:

> Hi,
>
> FTR, me and OP also able to reproduce this behaviour successfully in
> another Gtk 3.x application, gnome-terminal.

Does that mean the prefix doesn't work for you in GNOME Terminal either?

> Apart from this, I also noticed in my setup mouse wheel stopped
> working. In M-x describe-key, in pgtk version it shows up as
> <touch-end>, whereas in non-pgtk version, it's showing up as
> <mouse-5>.

That's expected, as the X (without XInput2) and PGTK ports use different
events to report wheel movement.  It should all work though, so please
tell what you see before `touch-end' in the help buffer describing the
key sequence.

Or do you only see `touch-end'? In that case, it looks like a GTK bug I
recall from somewhere.

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Fri, 24 Dec 2021 07:26:01 GMT) Full text and rfc822 format available.

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

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Fri, 24 Dec 2021 12:55:26 +0530
On 2021-12-24 12:50, Po Lu wrote:
> Ashish SHUKLA <ashish.is <at> lostca.se> writes:
> 
>> Hi,
>> 
>> FTR, me and OP also able to reproduce this behaviour successfully in
>> another Gtk 3.x application, gnome-terminal.
> 
> Does that mean the prefix doesn't work for you in GNOME Terminal 
> either?

Yes, I switched New Tab keyboard shortcut in gnome-terminal to C-t, and 
then it stopped working in StumpWM (with prefix = C-t). When I switched 
StumpWM's prefix to S-e, C-t started working in gnome-terminal again 
opening new tabs.

> 
>> Apart from this, I also noticed in my setup mouse wheel stopped
>> working. In M-x describe-key, in pgtk version it shows up as
>> <touch-end>, whereas in non-pgtk version, it's showing up as
>> <mouse-5>.
> 
> That's expected, as the X (without XInput2) and PGTK ports use 
> different
> events to report wheel movement.  It should all work though, so please
> tell what you see before `touch-end' in the help buffer describing the
> key sequence.
> 
> Or do you only see `touch-end'? In that case, it looks like a GTK bug I
> recall from somewhere.

I'll get back on this later today.

Thanks!
-- 
Ashish

"It could be that the purpose of your life is only to serve as a warning 
to others." (Ashleigh Brilliant)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Fri, 24 Dec 2021 17:12:02 GMT) Full text and rfc822 format available.

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

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Fri, 24 Dec 2021 22:41:21 +0530
On 2021-12-24 12:50, Po Lu wrote:
> Ashish SHUKLA <ashish.is <at> lostca.se> writes:
> 
>> Hi,
>> 
>> FTR, me and OP also able to reproduce this behaviour successfully in
>> another Gtk 3.x application, gnome-terminal.
> 
> Does that mean the prefix doesn't work for you in GNOME Terminal 
> either?
> 
>> Apart from this, I also noticed in my setup mouse wheel stopped
>> working. In M-x describe-key, in pgtk version it shows up as
>> <touch-end>, whereas in non-pgtk version, it's showing up as
>> <mouse-5>.
> 
> That's expected, as the X (without XInput2) and PGTK ports use 
> different
> events to report wheel movement.  It should all work though, so please
> tell what you see before `touch-end' in the help buffer describing the
> key sequence.
> 
> Or do you only see `touch-end'? In that case, it looks like a GTK bug I
> recall from somewhere.

In StumpWM, I only see touch-end event.

I also tried in Fluxbox WM, where I see touch-end, or some time 
wheel-down events, and mouse-wheel scrolling seems to work fine. So 
apparently, this one is also restricted to StumpWM.

Thanks!
-- 
Ashish SHUKLA

"It could be that the purpose of your life is only to serve as a warning 
to others." (Ashleigh Brilliant)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Sat, 25 Dec 2021 00:25:02 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Ashish SHUKLA <ashish.is <at> lostca.se>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Sat, 25 Dec 2021 08:23:51 +0800
Ashish SHUKLA <ashish.is <at> lostca.se> writes:

> In StumpWM, I only see touch-end event.

Try running Emacs like this:

  GDK_CORE_DEVICE_EVENTS=1 path/to/emacs -Q

And see if you see the same problem as well.
Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Sat, 25 Dec 2021 10:25:01 GMT) Full text and rfc822 format available.

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

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Sat, 25 Dec 2021 15:54:12 +0530
On 2021-12-25 05:53, Po Lu wrote:
> Ashish SHUKLA <ashish.is <at> lostca.se> writes:
> 
>> In StumpWM, I only see touch-end event.
> 
> Try running Emacs like this:
> 
>   GDK_CORE_DEVICE_EVENTS=1 path/to/emacs -Q
> 
> And see if you see the same problem as well.

With above, mouse-wheel scrolling works fine, and I see <wheel-down> in 
M-x describe-key RET.

Thanks!
-- 
Ashish SHUKLA

"It could be that the purpose of your life is only to serve as a warning 
to others." (Ashleigh Brilliant)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Sat, 25 Dec 2021 10:32:01 GMT) Full text and rfc822 format available.

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

From: Po Lu <luangruo <at> yahoo.com>
To: Ashish SHUKLA <ashish.is <at> lostca.se>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Sat, 25 Dec 2021 18:31:26 +0800
Ashish SHUKLA <ashish.is <at> lostca.se> writes:

> With above, mouse-wheel scrolling works fine, and I see <wheel-down>
> in M-x describe-key RET.

It seems that StumpWM is one of the buggy window managers that send
entry events with the mode `XINotifyUngrab' to all XI2 clients when the
wheel moves.

GTK doesn't work around this problem, so there's nothing I can do here.
However, the X port works around this problem, so you can consider using
a regular X build with `--with-xinput2' instead of the PGTK port.

This probably deserves an entry in etc/PROBLEMS.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#52737; Package emacs. (Sat, 25 Dec 2021 16:59:02 GMT) Full text and rfc822 format available.

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

From: Ashish SHUKLA <ashish.is <at> lostca.se>
To: Po Lu <luangruo <at> yahoo.com>
Cc: 52737 <at> debbugs.gnu.org
Subject: Re: bug#52737: 29.0.50; pgtk and StumpWM: Cannot send C-t
Date: Sat, 25 Dec 2021 22:27:42 +0530
On 2021-12-25 16:01, Po Lu wrote:
> Ashish SHUKLA <ashish.is <at> lostca.se> writes:
> 
>> With above, mouse-wheel scrolling works fine, and I see <wheel-down>
>> in M-x describe-key RET.
> 
> It seems that StumpWM is one of the buggy window managers that send
> entry events with the mode `XINotifyUngrab' to all XI2 clients when the
> wheel moves.
> 
> GTK doesn't work around this problem, so there's nothing I can do here.
> However, the X port works around this problem, so you can consider 
> using
> a regular X build with `--with-xinput2' instead of the PGTK port.
> 
> This probably deserves an entry in etc/PROBLEMS.

Sounds good to me. Thanks for diagnosing it.

--
Ashish SHUKLA

"It could be that the purpose of your life is only to serve as a warning 
to others." (Ashleigh Brilliant)




This bug report was last modified 3 years and 227 days ago.

Previous Next


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