Commit Graph
890 Commits
Author SHA1 Message Date
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00
Daniel Imms 8e378c07e9 Merge pull request #4165 from Tyriar/4164
Define all events and emitters consistently
2022-10-01 08:28:18 -07:00
Daniel Imms 1a22c44f2b Make all emitters readonly 2022-10-01 08:02:32 -07:00
Daniel Imms cf9949840b Use readonly over getter for exposing events
Fixes #4164
2022-10-01 07:52:26 -07:00
Daniel Imms 52ed65d7bd Move w objects to $ prefix variables
Fixes #4138
2022-10-01 07:26:07 -07:00
Daniel Imms c548977a3e Fix imports 2022-09-24 16:16:14 -07:00
Daniel Imms aec1f2b2be Fix import 2022-09-24 11:58:17 -07:00
Daniel Imms c42f290eb8 Do char atlas warmup via new IdleTaskQueue 2022-09-24 11:10:54 -07:00
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