GNU bug report logs -
#74833
31.0.50; Copy to OS clipboard doesn't work in macOS Terminal.app with xterm-mouse-mode enabled
Previous Next
Reported by: Filipp Gunbin <fgunbin <at> fastmail.fm>
Date: Thu, 12 Dec 2024 17:56:02 UTC
Severity: normal
Found in version 31.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #188 received at 74833 <at> debbugs.gnu.org (full text, mbox):
> Date: Fri, 27 Dec 2024 23:08:27 -0800
> From: Jared Finder <jared <at> finder.org>
> Cc: shipmints <at> gmail.com, rms <at> gnu.org, gerd.moellmann <at> gmail.com,
> fgunbin <at> fastmail.fm, 74833 <at> debbugs.gnu.org
>
> >> What if we only auto-enabled xterm-mouse-mode on OSC52 compatible
> >> terminals?
> >
> > On OSC52 compatible terminals, or on OSC52 compatible terminals that
> > define TERM to xterm-like string? The latter sounds like a good idea
> > to me, but only if support for OSC52 necessarily means xterm-mouse
> > escape sequences must be supported. Is this conjecture indeed true?
>
> I'm proposing Emacs have a manually curated allow list for now for
> auto-enabling xterm-mouse-mode. Being OSC52 compatible gets us the copy
> / paste issue this bug mentioned. We can add other conditions going
> forward.
What would this allow list specify, and in what terms?
When reading your proposal above, I thought we have a means of testing
the OSC52 support, but now you seem to be saying that this support
should be somehow specified by a database of terminals we maintain?
ANd if so, the question of detecting a non-xterm terminal that sets
TERM to xterm but doesn't support OSC52 still stands, doesn't it?
> >> Between $TERM and the results from the terminal escape
> >> sequence "ESC [ > 0 q", Emacs can have high confidence if it is
> >> running
> >> on an OSC52 compatible terminal. I checked against most of the
> >> terminals
> >> mentioned at
> >> https://can-i-use-terminal.github.io/features/osc52copy.html I just
> >> wasn't able to test Foot (Wayland-only), hterm (Chromebook-only),
> >> mintty
> >> (Cygwin-only), or xterm.js (I have no idea how to test).
> >
> > How do I check this? can you show some script or Lisp or whatever you
> > used to check?
>
> Run the following lisp code in Emacs:
>
> (progn
> (send-string-to-terminal "\e[>0q")
> (let ((str "")
> chr)
> (while (setq chr (xterm--read-event-for-query))
> (setq str (concat str (string chr))))
> str))
>
> You should get the string "\eP>|terminal name and version\e\\". For
> example, under iTerm2 I get iTerm2 3.5.10 as the terminal name and
> version and under Kitty I get kitty(0.38.1).
And if the terminal does NOT support OSC52, what should I expect to
happen?
This bug report was last modified 111 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.