[ https://issues.apache.org/jira/browse/GUACAMOLE-1973?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869508#comment-17869508 ]
Scott Percival commented on GUACAMOLE-1973: ------------------------------------------- Patch - https://github.com/apache/guacamole-server/pull/533 > Add XTerm bracketed paste support to terminal emulator > ------------------------------------------------------ > > Key: GUACAMOLE-1973 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-1973 > Project: Guacamole > Issue Type: Improvement > Components: guacamole-server, Terminal > Reporter: Scott Percival > Priority: Minor > > The clipboard feature in the terminal emulator sends the clipboard buffer > directly to the server, without any preprocessing. Current best practice for > terminal emulators appears to be to strip out the majority of control > characters, and for shells that support the feature, inject escape sequences > at the start and end of the data to indicate pasted input is incoming (aka. > XTerm bracketed paste mode - > https://invisible-island.net/xterm/xterm-paste64.html ). > Newer versions of shells with bracketed paste support will buffer multi-line > inputs on screen for review, rather than immediately executing them. In > addition this provides a better experience in programs which treat pasted > data differently from typed data, e.g. IPython will perform automatic > indentation on typed text but not pasted text. > The approach I took is based on this patch adding filtering and bracketed > paste to Microsoft Terminal - > https://github.com/microsoft/terminal/pull/9034/files . The difference is > that Microsoft Terminal uses wchar internally, making it easier to separate > out lone Unicode C1 control characters (0x80-0x9f) without impacting UTF-8 > codepoint continuation. I ended up writing a sieve to pass valid UTF-8 > codepoints. -- This message was sent by Atlassian Jira (v8.20.10#820010)