bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#74833: 31.0.50; Copy to OS clipboard doesn't work in macOS Terminal.


From: Jared Finder
Subject: bug#74833: 31.0.50; Copy to OS clipboard doesn't work in macOS Terminal.app with xterm-mouse-mode enabled
Date: Fri, 27 Dec 2024 23:08:27 -0800

On 2024-12-27 00:02, Eli Zaretskii wrote:
Date: Thu, 26 Dec 2024 15:51:14 -0800
From: Jared Finder <jared@finder.org>
Cc: Eli Zaretskii <eliz@gnu.org>, rms@gnu.org, gerd.moellmann@gmail.com,
 fgunbin@fastmail.fm, 74833@debbugs.gnu.org

On 2024-12-23 11:43, Ship Mints wrote:
> On Mon, Dec 23, 2024 at 4:07 PM Eli Zaretskii <eliz@gnu.org> wrote:
>>> From: Ship Mints <shipmints@gmail.com>
>>>
>>> Away from a computer, but I think this is still the same in 0.82
>>> these days and I assume you're using modern
>>> ssh.
>>>
>>> https://serverfault.com/a/819740
>>
>> OK, so does this mean we want to tell PuTTY users to configure this in
>> some specific way that Emacs can recognize?
>
> Still away from a computer. If you can set a variable using that method
> and have it pass through for you to test in lisp, then it would be a
> good idea to recommend. We could suggest using TERM_PROGRAM and setting
> it to "Putty".

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.

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).

  -- MJF





reply via email to

[Prev in Thread] Current Thread [Next in Thread]