@@ -100,7 +100,8 @@ export class TerminalProcessManager implements ITerminalProcessManager {
100100 public async createProcess (
101101 shellLaunchConfig : IShellLaunchConfig ,
102102 cols : number ,
103- rows : number
103+ rows : number ,
104+ isScreenReaderModeEnabled : boolean
104105 ) : Promise < void > {
105106 const forceExtHostProcess = ( this . _configHelper . config as any ) . extHostProcess ;
106107 if ( shellLaunchConfig . cwd && typeof shellLaunchConfig . cwd === 'object' ) {
@@ -127,7 +128,7 @@ export class TerminalProcessManager implements ITerminalProcessManager {
127128 const activeWorkspaceRootUri = this . _historyService . getLastActiveWorkspaceRoot ( ) ;
128129 this . _process = this . _instantiationService . createInstance ( TerminalProcessExtHostProxy , this . _terminalId , shellLaunchConfig , activeWorkspaceRootUri , cols , rows , this . _configHelper ) ;
129130 } else {
130- this . _process = await this . _launchProcess ( shellLaunchConfig , cols , rows ) ;
131+ this . _process = await this . _launchProcess ( shellLaunchConfig , cols , rows , isScreenReaderModeEnabled ) ;
131132 }
132133 this . processState = ProcessState . LAUNCHING ;
133134
@@ -161,7 +162,12 @@ export class TerminalProcessManager implements ITerminalProcessManager {
161162 } , LAUNCHING_DURATION ) ;
162163 }
163164
164- private async _launchProcess ( shellLaunchConfig : IShellLaunchConfig , cols : number , rows : number ) : Promise < ITerminalChildProcess > {
165+ private async _launchProcess (
166+ shellLaunchConfig : IShellLaunchConfig ,
167+ cols : number ,
168+ rows : number ,
169+ isScreenReaderModeEnabled : boolean
170+ ) : Promise < ITerminalChildProcess > {
165171 if ( ! shellLaunchConfig . executable ) {
166172 const defaultConfig = await this . _terminalInstanceService . getDefaultShellAndArgs ( ) ;
167173 shellLaunchConfig . executable = defaultConfig . shell ;
@@ -178,7 +184,7 @@ export class TerminalProcessManager implements ITerminalProcessManager {
178184 const baseEnv = this . _configHelper . config . inheritEnv ? process . env as platform . IProcessEnvironment : await this . _terminalInstanceService . getMainProcessParentEnv ( ) ;
179185 const env = terminalEnvironment . createTerminalEnvironment ( shellLaunchConfig , lastActiveWorkspace , envFromConfigValue , this . _configurationResolverService , isWorkspaceShellAllowed , this . _productService . version , this . _configHelper . config . setLocaleVariables , baseEnv ) ;
180186
181- const useConpty = this . _configHelper . config . windowsEnableConpty ;
187+ const useConpty = this . _configHelper . config . windowsEnableConpty && ! isScreenReaderModeEnabled ;
182188 return this . _terminalInstanceService . createTerminalProcess ( shellLaunchConfig , initialCwd , cols , rows , env , useConpty ) ;
183189 }
184190
0 commit comments