Document kitty's extension to the OSC 52 protocol

This commit is contained in:
Kovid Goyal 2018-08-13 07:27:08 +05:30
parent ecbe79e04f
commit 9201d27875
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -184,3 +184,25 @@ changes even after it exits. To avoid this, kitty introduces a new pair of
These escape codes save/restore the so called *dynamic colors*, default These escape codes save/restore the so called *dynamic colors*, default
background, default foreground, selection background, selection foreground and background, default foreground, selection background, selection foreground and
cursor color. cursor color.
Pasting to clipboard
----------------------
|kitty| implements the OSC 52 escape code protocol to get/set the clipboard
contents (controlled via the :opt:`clipboard_control` setting). There is one
difference in kitty's implementation compared to some other terminal emulators.
|kitty| allows sending arbitrary amounts of text to the clipboard. It does so
by modifying the protocol slightly. Successive OSC 52 escape codes to set the
clipboard will concatenate, so::
<ESC>]52;c;<payload1><ESC>\
<ESC>]52;c;<payload2><ESC>\
will result in the clipboard having the contents ``payload1 + payload2``. To
send a new string to the clipboard send an OSC 52 sequence with an invalid payload
first, for example::
<ESC>]52;c;!<ESC>\
Here ``!`` is not valid base64 encoded text, so it clears the clipboard.