@@ -120,6 +120,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
120120 private _searchAddon ?: SearchAddonType ;
121121 private _unicode11Addon ?: Unicode11AddonType ;
122122 private _webglAddon ?: WebglAddonType ;
123+ private _webglAddonCustomGlyphs ?: boolean = false ;
123124 private _serializeAddon ?: SerializeAddonType ;
124125 private _imageAddon ?: ImageAddonType ;
125126 private readonly _ligaturesAddon : MutableDisposable < LigaturesAddonType > = this . _register ( new MutableDisposable ( ) ) ;
@@ -228,7 +229,6 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
228229 macOptionIsMeta : config . macOptionIsMeta ,
229230 macOptionClickForcesSelection : config . macOptionClickForcesSelection ,
230231 rightClickSelectsWord : config . rightClickBehavior === 'selectWord' ,
231- fastScrollModifier : 'alt' ,
232232 fastScrollSensitivity : config . fastScrollSensitivity ,
233233 scrollSensitivity : config . mouseWheelScrollSensitivity ,
234234 scrollOnEraseInDisplay : true ,
@@ -531,7 +531,6 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
531531 this . raw . options . macOptionClickForcesSelection = config . macOptionClickForcesSelection ;
532532 this . raw . options . rightClickSelectsWord = config . rightClickBehavior === 'selectWord' ;
533533 this . raw . options . wordSeparator = config . wordSeparators ;
534- this . raw . options . customGlyphs = config . customGlyphs ;
535534 this . raw . options . ignoreBracketedPasteMode = config . ignoreBracketedPasteMode ;
536535 this . raw . options . rescaleOverlappingGlyphs = config . rescaleOverlappingGlyphs ;
537536
@@ -790,12 +789,16 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
790789 }
791790
792791 private async _enableWebglRenderer ( ) : Promise < void > {
793- if ( ! this . raw . element || this . _webglAddon ) {
792+ // Currently webgl options can only be specified on addon creation
793+ if ( ! this . raw . element || this . _webglAddon && this . _webglAddonCustomGlyphs === this . _terminalConfigurationService . config . customGlyphs ) {
794794 return ;
795795 }
796+ this . _webglAddonCustomGlyphs = this . _terminalConfigurationService . config . customGlyphs ;
796797
797798 const Addon = await this . _xtermAddonLoader . importAddon ( 'webgl' ) ;
798- this . _webglAddon = new Addon ( ) ;
799+ this . _webglAddon = new Addon ( {
800+ customGlyphs : this . _terminalConfigurationService . config . customGlyphs
801+ } ) ;
799802 try {
800803 this . raw . loadAddon ( this . _webglAddon ) ;
801804 this . _logService . trace ( 'Webgl was loaded' ) ;
@@ -885,6 +888,7 @@ export class XtermTerminal extends Disposable implements IXtermTerminal, IDetach
885888 // ignore
886889 }
887890 this . _webglAddon = undefined ;
891+ this . _webglAddonCustomGlyphs = undefined ;
888892 this . _refreshImageAddon ( ) ;
889893 // WebGL renderer cell dimensions differ from the DOM renderer, make sure the terminal
890894 // gets resized after the webgl addon is disposed
0 commit comments