If you had OSC 52 working you can use refresh-client -l (lowercase L) to
read it from the terminal.

Without OSC 52 you will need to send it to the remote host out of band and
load it with tmux load-buffer



On Thu, 8 Jun 2023 at 10:27, Michael Grant <michael.gr...@gmail.com> wrote:

> I'm trying to wrap my head around the other direction, from windows
> clipboard to tmux's copy-buffer.  Is that even possible?  How would one
> even do that?  As far as I know OSC-52 is only one direction.
>
> On Thursday, 8 June 2023 at 10:19:23 UTC+1 Michael Grant wrote:
>
>> Adding this to my .tmux.conf as you suggest did seem to help, thanks!
>>
>> bind-key -T root MouseDown2Pane select-pane -t = \; if-shell -F
>> "#{pane_in_mode}" { send-keys -M } { paste-buffer -p }
>>
>> On Thursday, 8 June 2023 at 10:12:44 UTC+1 Michael Grant wrote:
>>
>>> % tmux list-keys | grep MouseDown2
>>> bind-key    -T root         MouseDown2Pane       select-pane -t = \;
>>> if-shell -F "#{||:#{pane_in_mode},#{mouse_any_flag}}" { send-keys -M } {
>>> paste-buffer -p }
>>>
>>> I didn't bind that, that is the default for me.
>>> On Thursday, 8 June 2023 at 10:06:16 UTC+1 nicholas...@gmail.com wrote:
>>>
>>>> > Not exactly true, I can paste the ESC character into Notepad++ just
>>>> fine, it shows up like `[esc]`.  Similarrly for control characters.  I
>>>> verified this in one of my many tests yesterday.
>>>>
>>>> That has nothing to do with it. How would the terminal know the
>>>> difference between a clipboard containing \033\\ and the intended
>>>> terminator?
>>>>
>>>> > I think I have the middle button bound to paste as you mention below,
>>>>
>>>> What is it bound to? Check with list-keys.
>>>>
>>>>
>>>>
>>>> On Thu, 8 Jun 2023 at 10:00, Michael Grant <michae...@gmail.com> wrote:
>>>>
>>>>> >  We can't add unused parameters because newer ncurses will validate
>>>>> the number of parameters.
>>>>>
>>>>> I see.
>>>>>
>>>>> >   the clipboard may have characters that cannot be sent like \033.
>>>>>
>>>>> Not exactly true, I can paste the ESC character into Notepad++ just
>>>>> fine, it shows up like `[esc]`.  Similarrly for control characters.  I
>>>>> verified this in one of my many tests yesterday.
>>>>>
>>>>> I tried iconv today as suggested and couldn't find an encoding that
>>>>> pasted cleanly.  I tried converting utf-8 to utf-16 and a few others but
>>>>> nothing helped.  It looks like utf-8 to me.  Like I said, it seems like
>>>>> something is encoding each byte of a multi-byte encoding, so there's
>>>>> probably nothing i'm going to be able to do here, the damage happens
>>>>> further downstream.  This is not a tmux issue, it happens even outside
>>>>> tmux.  I've opened an issue in the KiTTY github repo on this.
>>>>>
>>>>> Real OSC-52 support seems to be needed in KiTTY.
>>>>>
>>>>> How would one do the reverse?  How would one get data into tmux's
>>>>> copy-buffer so that middle-click pasted from the Windows clipboard back to
>>>>> tmux?  I have mouse mode enabled and on and I was using the middle click 
>>>>> on
>>>>> the mouse.  It pastes what's in tmux's copy buffer into tmux within tmux.
>>>>> I think I have the middle button bound to paste as you mention below, I
>>>>> didn't do anything special in my .tmux.conf to do this, seems like the
>>>>> default.
>>>>> On Thursday, 8 June 2023 at 05:12:40 UTC+1 nicholas...@gmail.com
>>>>> wrote:
>>>>>
>>>>>> %pX means push parameter X. We can't add unused parameters because
>>>>>> newer ncurses will validate the number of parameters. Anyway, sending raw
>>>>>> output won't work as a general solution because the clipboard may have
>>>>>> characters that cannot be sent like \033.
>>>>>>
>>>>>> My guess for UTF-8 would be that either Windows or kitty doesn't know
>>>>>> about UTF-8 in this output and is treating it as an 8-bit encoding. If 
>>>>>> you
>>>>>> can't configure this in the terminal you could maybe pass the text 
>>>>>> through
>>>>>> iconv to make it the right encoding so at least some characters would 
>>>>>> work.
>>>>>>
>>>>>>
>>>>>> On Thu, 8 Jun 2023, 00:17 Michael Grant, <michae...@gmail.com> wrote:
>>>>>>
>>>>>>> Right, you're correct, the copy-buffer will never get control
>>>>>>> characters by copying using copy mode except newlines and multibyte 
>>>>>>> unicode.
>>>>>>>
>>>>>>> Can you (or someone) please explain those params in the tmux Ms
>>>>>>> terminfo entry?  What's %p1%s?  The %p2%s appears to be the base64 
>>>>>>> encoded
>>>>>>> paste buffer.  Maybe one could add a %p3%s which is the raw, not base64
>>>>>>> that could be used for this purpose?  To be honest, this method would be
>>>>>>> cleaner and simpler than my script below.
>>>>>>>
>>>>>>> When I couldn't get this working earlier, I thought tmux was
>>>>>>> filtering the escape codes but the problem wasn't passthrough, it was 
>>>>>>> that
>>>>>>> I wasn't sending the output to the correct tty.
>>>>>>>
>>>>>>> Here is the current wcl script:
>>>>>>>
>>>>>>> # start send to ansi printer
>>>>>>> echo -ne '\e[5i' >$SSH_TTY
>>>>>>>
>>>>>>> # send stdin to the outer terminal
>>>>>>> cat >$SSH_TTY
>>>>>>>
>>>>>>> # end ansi printer output
>>>>>>> echo -ne '\e[4i' >$SSH_TTY
>>>>>>>
>>>>>>> and in my .tmux.conf I have this line:
>>>>>>>
>>>>>>> bind -Tcopy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel
>>>>>>> '~/bin/wcl'
>>>>>>>
>>>>>>> and I set the ansi printer in KiTTY to print to the clipboard as per
>>>>>>> http://www.9bis.net/kitty/index.html#!pages/StdoutToClipboard.md
>>>>>>>
>>>>>>> and now, when I select text in a tmux window with a shell, it
>>>>>>> magically is available in my Windows clipboard.
>>>>>>>
>>>>>>> If I middle click in tmux, it's pasted back into the shell.  Ahh, so
>>>>>>> nice!  Used it already multiple times to write this post!
>>>>>>>
>>>>>>> This works but I do have a problem with unicode characters that are
>>>>>>> encoded as multiple bytes.  When there's a unicode code-point that would
>>>>>>> encode to multiple characters in utf-8 on the sceen in tmux that I copy
>>>>>>> into the copy-buffer, then paste it into Windows, I get the multi bytes
>>>>>>> instead of the single character.  For example, if i have '€100' in tmux,
>>>>>>> select it to copy it, then paste it back into windows, i get '€100'.
>>>>>>>
>>>>>>> I don't know where the problem lies here.  The editor window
>>>>>>> (notepad++) on windows certainly supports unicode.  The linux side
>>>>>>> certainly does too.  Something along the way is re-encoding each of the
>>>>>>> characters in the multi-byte sequence as a single unicode codepoint and
>>>>>>> then sending a multi-byte character for each of those characters.  It 
>>>>>>> could
>>>>>>> be a manifestation of this printer to clipboard hack and if we can get 
>>>>>>> the
>>>>>>> terminfo param to do raw output, maybe that would fix this?  This might 
>>>>>>> be
>>>>>>> a KiTTY issue.  I am not sure and unsure how to debug this at the 
>>>>>>> moment.
>>>>>>>
>>>>>>> By the way, there are some typos on the github documentation page on
>>>>>>> passthrough which I will try to find the time to do a PR.  In the end, I
>>>>>>> didn't need to use passthrough though I did get it working and it does 
>>>>>>> not
>>>>>>> help the unicode problem.
>>>>>>>
>>>>>>> So the first thing I tried was to copy something from the shell and
>>>>>>> then edit a file in the same tmux window with vi and paste it into the
>>>>>>> file.  When I run an editor such as vi or emacs, tmux seems to switch 
>>>>>>> to an
>>>>>>> alternate terminal screen within the terminal.  By this, I mean, when I
>>>>>>> exit vi, instead of seeing the bottom part of the vi session still on my
>>>>>>> screen, the screen is returned to the way it was before entering the
>>>>>>> editor.  The ansi term for this may be 'anternate screen'.  Terminfo 
>>>>>>> seems
>>>>>>> to calls this 'smcup'.  There seems to be a separate paste buffer
>>>>>>> associated with the middle click when I'm in the alternete screen.  Or
>>>>>>> maybe the editor is controlling this button?  I'm not wholey sure.
>>>>>>> Whatever it is, I can't find a way to paste the tmux clipboard into the
>>>>>>> editor.  This is reproducible without any of the copy-mode settings 
>>>>>>> above
>>>>>>> and has nothing to do with Windows, and I don't think it has anything 
>>>>>>> to do
>>>>>>> with KiTTY either, KiTTY seems to be sending middle click to tmux
>>>>>>> regardless of whether I'm in vi or at the shell prompt.
>>>>>>>
>>>>>>> Is there some way to paste from the copy-buffer into an editor such
>>>>>>> as vi or emacs, both in the same tmux?  (Windows not involved here).
>>>>>>>
>>>>>>> On Wednesday, 7 June 2023 at 14:14:09 UTC+1 nicholas...@gmail.com
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi
>>>>>>>>
>>>>>>>> No, it needs to be encoded somehow in case the copied text contains
>>>>>>>> control characters. If you are sure it won't you could modify tmux to 
>>>>>>>> skip
>>>>>>>> the base64 (look for b64_ntop in tty_set_selection)
>>>>>>>>
>>>>>>>> You will never get control characters by copying using copy mode
>>>>>>>> except for newline, so I don't know what you mean when you say "tmux
>>>>>>>> filters out the escape characters".
>>>>>>>>
>>>>>>>> You can send to the terminal directly using the passthrough escape
>>>>>>>> sequence (see the FAQ).
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, 7 Jun 2023 at 13:22, Michael Grant <michae...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> I didn't want to hijack Eric's other thread which is clearly X
>>>>>>>>> based so starting a new thread here.
>>>>>>>>>
>>>>>>>>> I'm using Windows.  I ssh into my linux servers with KiTTY and run
>>>>>>>>> tmux on the linux server.  No, I do not want to install an X server on
>>>>>>>>> windows, thanks very much,
>>>>>>>>>
>>>>>>>>> KiTTY (a windows program which is a fork of PuTTY) not to be
>>>>>>>>> confused with kitty, a terminal emulator that runs under linux.  It 
>>>>>>>>> seems
>>>>>>>>> the linux kitty supports OSC52 by the way.
>>>>>>>>>
>>>>>>>>> I don't think KiTTY supports OSC52 (yet), at least, I've never
>>>>>>>>> gotten it to work.  But it does support taking the output to the 
>>>>>>>>> printer
>>>>>>>>> and putting that into the local clipboard:
>>>>>>>>> http://www.9bis.net/kitty/index.html#!pages/StdoutToClipboard.md
>>>>>>>>>
>>>>>>>>> Try 1, I added this to my .tmux.conf:
>>>>>>>>>
>>>>>>>>> bind -Tcopy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel
>>>>>>>>> '~/bin/wcl'
>>>>>>>>>
>>>>>>>>> Unfortunately, tmux filters out the escape characters, the raw
>>>>>>>>> output is not getting to KiTTY.
>>>>>>>>>
>>>>>>>>> I've tried pipping something to wcl outside tmux (as in, before
>>>>>>>>> starting tmux) and it does work, i can paste on the windows side.
>>>>>>>>>
>>>>>>>>> First thought, is there some tmux command I can run which will
>>>>>>>>> echo something back to the raw terminal (KiTTY in my case)?
>>>>>>>>>
>>>>>>>>> Second thought was maybe I could craft an Ms entry for a terminfo
>>>>>>>>> override.  This is what I tried:
>>>>>>>>>
>>>>>>>>> Try 2, added this to my .tmux.conf instead:
>>>>>>>>>
>>>>>>>>> set -as terminal-overrides ',*-256color:Ms=\E[5i;%p2%s;\E[4i'
>>>>>>>>>
>>>>>>>>> Restarted tmux (killed the server and restarted it).  And it's
>>>>>>>>> tantelizingly close.  I get base64 text on the windows side!
>>>>>>>>>
>>>>>>>>> One difference between OSC52 and this KiTTY hack is that OSC52
>>>>>>>>> expects the string to be base64 encoded whereas printing to the 
>>>>>>>>> printer
>>>>>>>>> doesn't expect that.  Is there some param that sends the raw text, not
>>>>>>>>> base64 encoded?
>>>>>>>>>
>>>>>>>>> Second, with this method, how can set the behavior to do the copy
>>>>>>>>> when I release the mouse button? (MouseDragEnd1Pane)
>>>>>>>>>
>>>>>>>>> Michael Grant
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "tmux-users" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to tmux-users+...@googlegroups.com.
>>>>>>>>> To view this discussion on the web, visit
>>>>>>>>> https://groups.google.com/d/msgid/tmux-users/70847815-9ce9-4940-8815-1518690d52ban%40googlegroups.com
>>>>>>>>> <https://groups.google.com/d/msgid/tmux-users/70847815-9ce9-4940-8815-1518690d52ban%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "tmux-users" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to tmux-users+...@googlegroups.com.
>>>>>>>
>>>>>> To view this discussion on the web, visit
>>>>>>> https://groups.google.com/d/msgid/tmux-users/dcc1541b-8edd-4e8f-9565-e36978f5e3fcn%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/tmux-users/dcc1541b-8edd-4e8f-9565-e36978f5e3fcn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "tmux-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to tmux-users+...@googlegroups.com.
>>>>>
>>>> To view this discussion on the web, visit
>>>>> https://groups.google.com/d/msgid/tmux-users/9db74581-2cff-4403-8eb8-6646ccba0bc0n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/tmux-users/9db74581-2cff-4403-8eb8-6646ccba0bc0n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
> You received this message because you are subscribed to the Google Groups
> "tmux-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to tmux-users+unsubscr...@googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/tmux-users/31f8997a-fd50-4e5d-895b-79be1f7e2bd1n%40googlegroups.com
> <https://groups.google.com/d/msgid/tmux-users/31f8997a-fd50-4e5d-895b-79be1f7e2bd1n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"tmux-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to tmux-users+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/tmux-users/CAEdLfcEFayP%3DNmtJ2dnY80cRRRbnwhqGg4gvr3hBHrT9iFJt%3DQ%40mail.gmail.com.

Reply via email to