@@ -202,28 +202,31 @@ private ProcessStartInfo PrepareProcessStartInfo(string command, bool runAsAdmin
202
202
{
203
203
case Shell . Cmd :
204
204
{
205
- info . FileName = "cmd.exe" ;
206
- info . Arguments = $ "{ ( _settings . LeaveShellOpen ? "/k" : "/c" ) } { command } { ( _settings . CloseShellAfterPress ? $ "&& echo { context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } && pause > nul /c" : "" ) } ";
207
-
208
- //// Use info.Arguments instead of info.ArgumentList to enable users better control over the arguments they are writing.
209
- //// Previous code using ArgumentList, commands needed to be separated correctly:
210
- //// Incorrect:
211
- // info.ArgumentList.Add(_settings.LeaveShellOpen ? "/k" : "/c");
212
- // info.ArgumentList.Add(command); //<== info.ArgumentList.Add("mkdir \"c:\\test new\"");
213
-
214
- //// Correct version should be:
215
- //info.ArgumentList.Add(_settings.LeaveShellOpen ? "/k" : "/c");
216
- //info.ArgumentList.Add("mkdir");
217
- //info.ArgumentList.Add(@"c:\test new");
218
-
219
- //https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.argumentlist?view=net-6.0#remarks
205
+ if ( _settings . UseWindowsTerminal )
206
+ {
207
+ info . FileName = "wt.exe" ;
208
+ info . ArgumentList . Add ( "cmd" ) ;
209
+ }
210
+ else
211
+ {
212
+ info . FileName = "cmd.exe" ;
213
+ }
220
214
215
+ info . ArgumentList . Add ( $ "{ ( _settings . LeaveShellOpen ? "/k" : "/c" ) } { command } { ( _settings . CloseShellAfterPress ? $ "&& echo { context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } && pause > nul /c" : "" ) } ") ;
221
216
break ;
222
217
}
223
218
224
219
case Shell . Powershell :
225
220
{
226
- info . FileName = "powershell.exe" ;
221
+ if ( _settings . UseWindowsTerminal )
222
+ {
223
+ info . FileName = "wt.exe" ;
224
+ info . ArgumentList . Add ( "powershell" ) ;
225
+ }
226
+ else
227
+ {
228
+ info . FileName = "powershell.exe" ;
229
+ }
227
230
if ( _settings . LeaveShellOpen )
228
231
{
229
232
info . ArgumentList . Add ( "-NoExit" ) ;
@@ -232,21 +235,28 @@ private ProcessStartInfo PrepareProcessStartInfo(string command, bool runAsAdmin
232
235
else
233
236
{
234
237
info . ArgumentList . Add ( "-Command" ) ;
235
- info . ArgumentList . Add ( $ "{ command } ; { ( _settings . CloseShellAfterPress ? $ "Write-Host '{ context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } '; [System.Console]::ReadKey(); exit" : "" ) } ") ;
238
+ info . ArgumentList . Add ( $ "{ command } \\ ; { ( _settings . CloseShellAfterPress ? $ "Write-Host '{ context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } '\\ ; [System.Console]::ReadKey()\\ ; exit" : "" ) } ") ;
236
239
}
237
240
break ;
238
241
}
239
242
240
243
case Shell . Pwsh :
241
244
{
242
- info . FileName = "pwsh.exe" ;
245
+ if ( _settings . UseWindowsTerminal )
246
+ {
247
+ info . FileName = "wt.exe" ;
248
+ info . ArgumentList . Add ( "pwsh" ) ;
249
+ }
250
+ else
251
+ {
252
+ info . FileName = "pwsh.exe" ;
253
+ }
243
254
if ( _settings . LeaveShellOpen )
244
255
{
245
256
info . ArgumentList . Add ( "-NoExit" ) ;
246
257
}
247
258
info . ArgumentList . Add ( "-Command" ) ;
248
- info . ArgumentList . Add ( $ "{ command } ; { ( _settings . CloseShellAfterPress ? $ "Write-Host '{ context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } '; [System.Console]::ReadKey(); exit" : "" ) } ") ;
249
-
259
+ info . ArgumentList . Add ( $ "{ command } \\ ; { ( _settings . CloseShellAfterPress ? $ "Write-Host '{ context . API . GetTranslation ( "flowlauncher_plugin_cmd_press_any_key_to_close" ) } '\\ ; [System.Console]::ReadKey()\\ ; exit" : "" ) } ") ;
250
260
break ;
251
261
}
252
262
0 commit comments