This is not supported for Windows or WebAssembly yet.
It's possible for applications to post to the clipboard using
Screen.SetClipboard (any data), and they can retrieve the clipboard
(if permitted) using GetClipboard. The terminal may well reject either
of these.
Retrieval will arrive as a new EventClipboard, if it can. (There is
no good way to make this synchronous.)
This work was inspired by a PR submitted by Consolatis (#562), and
has some work based on it, but it was also substantially improved and
now includes both sides of the clipboard access pattern.
This is very partial, and my experience shows that the terminal
renders these poorly at best; in particular spacing in the DOM
model seems to be unpredictable with emoji and some of the esoteric
combining characters. Still this represents a significant improvement
by actually including the combining characters. Plus it is faster.
This adds a new optional parameter to screen.SetCursorStyle,
which is a color. The cursors demo is enhanced to show this.
This ability is supported on screen types, provided the underlying
terminal supports the capability.
This supports now curly, double, dashed, and dotted underline styles
where trhe terminal supports it. This works well on Windows Terminal,
reasonably on iTerm2, Alacritty, Kitty, and probably others.
The wasm mode terminal includes support for this, dependent on the browser
capabilities.
The macOS Terminal just changes the background color. Legacy Windows
console does nothing.
We will try to provide a regular underscore as a fallback. A new style.go
demo is included to see some style combinations.
Previously we had lost StrikeThrough, and this fixes a few other
discrepancies. This was generated on Ubuntu Noble (24.04), after
installing the following packages: ncurses-term kitty-terminfo
This hack will also prevent the clearing of the screen at disengage
time. This may be useful for certain kinds of applications that
want to draw the screen, then place the cursor at a specific location.
(The application will need to do a TGoto on it's own first.)
The special environment variable TCELL_VTMODE may be set to "disable"
to return to legacy console mode. (This environment variable may
be removed in the future, if we determine it is no longer useful.)