Daniel Imms
e68bf3ca5b
Merge remote-tracking branch 'ups/master' into fast_setTheme
2022-09-24 11:02:15 -07:00
Daniel Imms
6368cb4cff
Move canvas-based parsing to Color.ts lib
...
This removed the allowTransparency code, it didn't actually do much
before, just whether the 'advanced parsing' would allow transparency.
Since we already do the common formats, I'm not even sure what other
format it could be.
2022-09-24 10:37:40 -07:00
Daniel Imms
d62b4531c3
Optimize contexts for reading frequently
...
This was a recommendation from Edge.
Docs here: https://html.spec.whatwg.org/multipage/canvas.html#concept-canvas-will-read-frequently
2022-09-24 06:58:01 -07:00
Daniel Imms
78128762f9
Perform texture atlas warm up in an idle callback
...
Part of #4103
2022-09-22 13:06:08 -07:00
Daniel Imms
c23f4313fb
Release v5, including addon version bumps
2022-09-15 12:22:32 -07:00
Mihai Parparita
a39a468f19
Make terminal rendering work in popout windows
...
Add support for the parent element (what is passed to Terminal.open)
being in a different (same origin) window. Accesses to DOM APIs such
as requestAnimationFrame and devicePixelRatio thus need to be scoped
to the corrent window, instead of assuming that it's the same as the
window/global scope where the code is running.
This is done by inferring a parent window at the creation time, and
then storing it in CoreBrowserService, which is already passed to most
places that need it.
To catch future regressions, an ESLint rule that checks for global
accesses is added (it uses AST selectors via the no-restricted-syntax
rule).
This should also be applicable when the parent element is an iframe.
Fixes #3758
2022-09-08 16:59:31 -07:00
Daniel Imms
9ef2397918
Merge pull request #4101 from JasonXJ/render-bug
...
WebglRenderer always clears _glyphRenderer if _model is cleared
2022-09-07 09:01:41 -07:00
Jason Lin
4752f99e03
Webgl cursor renderer makes sure a char is not drawn outside of the cell
2022-09-06 14:12:15 +10:00
Jason Lin
e5ad3ce9b9
Polish
2022-09-05 17:32:02 +10:00
Jason Lin
faf5f72c1f
Clear glyph render when the webgl model is cleared
2022-09-05 13:32:04 +10:00
Daniel Imms
e8e2f16cff
Merge remote-tracking branch 'upstream/master' into pr/silamon/4004
2022-09-02 13:05:52 -07:00
Daniel Imms
1b38a004a3
Merge pull request #3992 from SvanT/master
...
Bump minimum target to es2015
2022-09-02 12:43:40 -07:00
Daniel Imms
d673e02afe
Merge pull request #4089 from Tyriar/lgtm
...
Fix lgtm recommendations
2022-08-31 06:26:56 -07:00
Daniel Imms
f309affff2
Tweak handling of _contextRestorationTimeout
2022-08-31 05:44:48 -07:00
Kenneth Russell
9459553665
Handle WebGL context loss/restore events in WebGL renderer.
...
If the context is restored within a brief period of time (3 seconds),
recreate members dependent on WebGL state, and fire onRequestRedraw to
the renderer's listeners.
Handle changes to the char atlas better in the demo client.
Tested in Chrome Canary on macOS by running the demo in one window,
and visiting the internal URL about:gpucrash in another window. The
terminal now recovers and redraws properly.
2022-08-30 19:42:22 -07:00
Daniel Imms
4a6e7bee21
Fix lgtm recommendations
2022-08-30 14:09:39 -07:00
Daniel Imms
ef759a6d7b
Merge pull request #4086 from Tyriar/padding_powerline
...
Only remove padding from restricted powerline chars
2022-08-30 08:53:03 -07:00
Daniel Imms
5c6d16ef0a
Only remove padding from restricted powerline chars
2022-08-28 13:33:09 -07:00
Daniel Imms
f7e0f69598
Fix rounding error gap in webgl renderer
...
Fixes #4054
Fixes #4076
2022-08-28 13:22:29 -07:00
Daniel Imms
3b4ecd0709
Optimize gc in rectangle renderer
2022-08-28 09:20:24 -07:00
Daniel Imms
4a50ca81c6
Optimize gc for WebglRenderer._updateModel and BufferLine.loadCell
...
RectangleRenderer not done yet
2022-08-28 09:06:42 -07:00
Daniel Imms
1d945fdffc
Create 2 and 4 key map objects, use in color and glyph caches
2022-08-28 08:34:51 -07:00
Daniel Imms
23ee719f6e
Remove more garbage collection issues from cell render loop
...
Part of #4079
2022-08-28 08:02:35 -07:00
Daniel Imms
1b64a09f50
Correct conditions after moving to work object
2022-08-27 21:35:56 -07:00
Daniel Imms
0727741ca1
Remove iterators from IDecorationService
...
They're too low performance for typical use cases
Fixes #4079
2022-08-27 20:50:16 -07:00
Daniel Imms
5e3f63e876
Avoid garbage collection in webgl decoration hot code
...
Part of #4079
2022-08-27 20:06:58 -07:00
Daniel Imms
4ecc098de4
Get width of emoji/combined chars
2022-08-27 06:38:15 -07:00
Daniel Imms
e76918eddc
Take char width into account when drawing underlines/strokethrough
...
Fixes #4063
2022-08-27 06:34:38 -07:00
Daniel Imms
2526409ca5
Merge pull request #4074 from Tyriar/4059
...
Only draw character outline if it has a descent
2022-08-26 14:38:40 -07:00
Daniel Imms
7ffd9e1f7f
Only draw character outline if it has a descent
...
Fixes #4059
2022-08-26 14:16:02 -07:00
Daniel Imms
8bbbc98ac8
Merge pull request #4073 from Tyriar/4072
...
Show entire glyph for extra powerline symbols
2022-08-26 08:33:53 -07:00
Daniel Imms
f6860442fb
Show entire glyph for extra powerline symbols
...
Fixes #4072
2022-08-26 08:12:00 -07:00
Daniel Imms
774ebe40e6
Improve glyph padding, especially in large font sizes
...
Fixes #4066
2022-08-26 07:26:36 -07:00
Daniel Imms
523de80162
Merge branch 'master' into vscode_158497
2022-08-24 15:36:44 -07:00
Daniel Imms
e40cf0684e
Properly clear underscore glyph's background
...
See microsoft/vscode#158497
2022-08-24 15:36:03 -07:00
Daniel Imms
0698afaf12
Only stroke glyph when font size >= 12
2022-08-19 13:24:39 -07:00
Daniel Imms
79d47893df
Move webgl underline rendering down
...
See microsoft/vscode#158326
2022-08-19 13:19:08 -07:00
Daniel Imms
9a119a7292
Whitespace change to trigger release
2022-08-10 06:27:32 -07:00
Simon Lamon
a1385f589b
Required options
2022-08-05 16:16:12 +00:00
Svante Boberg
4f46f8e123
Merge branch 'xtermjs:master' into master
2022-08-04 22:05:07 +02:00
Daniel Imms
f0926e7821
Remove tests that rely on node
...
We can test this primarily with api tests instead
2022-08-04 10:11:11 -07:00
Daniel Imms
d495fdd9ab
Bring back webpack resolve config
2022-08-04 10:01:58 -07:00
Daniel Imms
f3f6a91f16
Remove node target from ligatures
...
This complicates bundling for sandboxed electron a lot, ideally we would only
rely on browser APIs for font access
2022-08-04 09:57:37 -07:00
Daniel Imms
d608912efd
Remove electron renderer target
...
This causes global to be required which is not available in sandboxed electron
renderers
See microsoft/vscode#157008
2022-08-04 06:20:45 -07:00
Daniel Imms
76d9d5a324
Bump all peer deps to v5
...
Fixes #3997
2022-08-03 09:45:23 -07:00
Svante Boberg
14b02b9ad5
Bump minimum target to es2015
...
Now that we no longer support IE we can raise the minimum ES target a
bit. Changing to es2015 shaves off ~17% from the main bundle size, also
it prevents generators from being transpiled into regular functions etc.
so I would guess it has the potential to give some general performance
improvements too.
For fun I also tried to raise it to es2022, this gave a slightly bigger
bundle than es2015 so I think es2015 could be an ok target unless we
need something newer for some reason.
2022-08-01 10:17:10 +02:00
Daniel Imms
39959c2861
Don't dim default bg in webgl
...
Fixes #3970
2022-07-31 15:39:34 -07:00
Daniel Imms
1ede106ab4
Fix powerlines not clipped when bg changes
2022-07-31 12:05:20 -07:00
Daniel Imms
e7e71dbd3c
Merge remote-tracking branch 'upstream/master' into 3969
2022-07-31 11:35:47 -07:00
Daniel Imms
d6fe5c7384
Update size when letter spacing changes
2022-07-31 11:21:27 -07:00