I would like to start a general discussion about making xterm.js behaviour platform dependant by default.
At the moment there are three features (that I know) that are platform dependent:
In my opinion:
What are your thoughts?
I think these sorts of things need to be considered on a case-by-case basis.
Middle click paste is a special case where we tell the operating system there's a new selection, this works across apps as well. We simply cannot support this on Windows/macOS so this one can be removed from the discussion :smile:
On copy selection normalizing line endings we try to get native feeling behavior. Copying and pasting a chunk of text containing \r\n on Windows (the majority all files) simply does not work as expected. On Linux/macOS right now we behave as other terminal emulators do; inserting 2 lines. I think keeping this as is is probably the best approach, adding too many settings leads to bloat and makes the library more complicated and harder to use.
On unfocused cursor style, I think this is an ideal time to aim for consistency across platforms as it clearly gives benefit. Some windows terminals do show the cursor when unfocused such as the popular cmder.
So my rules are pretty similar to yours when I think about this sort of stuff for xterm.js and vscode:
terminal.integrated.rightClickCopyPaste in vscode).If there is nothing else to add to this discussion, we can move on with creating issues to be implemented and close this 馃檪.
Most helpful comment
If there is nothing else to add to this discussion, we can move on with creating issues to be implemented and close this 馃檪.