Add support to ANSI OSC52

Add support to ANSI OSC52 sequence to manipulate selection and clipboard
data. The sequence specs supports multiple clipboard selections but we
only support the common ones, system and primary clipboard selections.

This adds a new event listener to the common terminal module
`onClipboard` to allow external implementations to hook into it.

The addon uses the browser Clipboard API to read/write from and to the
clipboard. The default `ClipboardProvider` uses the browser Clipboard
API. This means it only supports read/write to and from the system
clipboard.

Reference: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands
Fixes: xtermjs#3260
Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
This commit is contained in:
Ayman Bagabas
2023-09-20 17:46:52 -04:00
parent a3e933d98b
commit db5bfc7525
31 changed files with 695 additions and 32 deletions
+2
View File
@@ -77,6 +77,8 @@ type TerminalProxyCustomOverrides = 'buffer' | (
'attachCustomKeyEventHandler' |
'registerLinkProvider' |
'registerCharacterJoiner' |
'registerClipboardProvider' |
'deregisterClipboardProvider' |
'deregisterCharacterJoiner' |
'loadAddon'
);