>From the tmux man page:

             -l requests the clipboard from the client using the xterm(1) 
escape sequence.  If Ar target-pane is
             given, the clipboard is sent (in encoded form), otherwise it 
is stored in a new paste buffer.

Does refresh-client -l also work with OSC-52?  The man page may need to be 
updating.

How would you use this?  Would you bind MouseDown2Pane to first 
refresh-client to sync the buffer and then paste?
On Thursday, 8 June 2023 at 10:32:44 UTC+1 nicholas...@gmail.com wrote:

> 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 <michae...@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+...@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/6f993238-b0af-4849-9194-5205cec8c10cn%40googlegroups.com.

Reply via email to