Instead of there being a hard cap of 1024x1024 on the size of the texture atlas backing the canvas and webgl renderers, multiple textures are now supported. Each individual texture is now 512x512 which allows faster uploading to the GPU and will continually merge until the maximum of 4096x4096 is reached.
The benefits in simple terms of this change are:
Less time from drawing a glyph to rendering it
Less CPU is used when lots of glyphs are used
Essentially unlimited space for glyphs, which is good for certain use cases but will also let us explore things like "perfect" dotted and curvy underlines in the future
Here is an example of a 512x512 texture atlas page right after the terminal has loaded and printed a powerline-based prompt:
And here is the 1024x1024 page after a lot of glyphs have rendered:
Slash and triangle custom glyphs (#4313) via @Tyriar
Eight new powerline extra custom glyphs are supported:
You can now specify whether to scroll to the bottom of the terminal on user input, previously this was the default and only behavior. This new setting is enabled by default.
const term = new Terminal({ scrollOnUserInput: false });
🐞 Bug fixes
Fix width of upper 1/8 block character (#4134) via @Tyriar
Allow the renderer to be set before Terminal.open is called (#4151) via @Tyriar
Fix trusted types in dom renderer (#4157) via @Tyriar
Fix several memory retention issues (#4185) via @Tyriar
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps xterm from 5.0.0 to 5.1.0.
Release notes
Sourced from xterm's releases.
... (truncated)
Commits
19c760a
Merge pull request #4333 from xtermjs/revert-4196-ansiheadless3a81ef5
Revert "SerializeAsHTML(): Fallback to default ansi colors when running headl...6cfdcb1
Merge pull request #4332 from Tyriar/r5_1_030ef1fc
v5.1.084b8121
Merge pull request #4288 from jerch/fix_weblinks218cfd2
Merge branch 'master' into fix_weblinks1757f27
explicit type for link test data9411acb
move link tests to democb4102c
Merge pull request #4330 from Tyriar/25331926c9b
Add sequence buttons through CSI PDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)