cmderdev/cmder

[Feature request] Allow terminal to accept and run commands before cmder is fully loaded

keelangibb opened this issue · 5 comments

Suggestion

I am on Windows and the work computer I am using is really old and slow. Like CPU at 100% utilization 24/7 kind of slow.

I have integrated cmder with vscode and whenever a new instance is created it can sometimes take up to 30-60 seconds before I am able to type commands. Usually this is about 10 seconds which I can deal with.

I'm not sure if it is technically feasible, but it would be nice for the terminal to accept input immediately and execute them in an underlying cmd prompt (or something of that nature) while cmder is still loading so that basic commands like "cd" and "npm run xyz" can still be executed while clink is being injected and other features are being initialized. Most of the time when I open a new terminal, I am running the same 3 commands over and over and not using all of the features, but I can't even type anything until it has fully loaded which can take a very long time as mentioned above. #2816

As an alternative maybe allow the terminal to accept commands immediately but they instead enter a queue until its loaded and ready. I think either one would make the performance issues less frustrating.

Use case

No response

Extra info/examples/attachments

Cmder Full (with Git)
cmder Version 1.3.24.236
clink 1.6.1.c7c448
git version 2.41.0.windows.3

Windows 10 Enterprise 21H2
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz 1.90 GHz
RAM: 32.0 GB
1TB SSD

Antivirus: Trellix

vscode_init_args.txt

Checklist

  • I have read the documentation and made sure this feature doesn't already exist.
  • I have searched for similar issues and found none that describe my feature request.

The suggestion is impossible, for many reasons.

One is that you're asking for CMD.exe to show a prompt and accept input and run commands, while also simultaneously running a batch script that takes a long time to run. The only way to do that would be to modify CMD.exe itself, which cannot happen.

it would be nice for the terminal to accept input immediately and execute them in an underlying cmd prompt (or something of that nature) while cmder is still loading

"The terminal" doesn't accept input.
CMD.exe is what accepts input.
I.e. the suggestion expects that accepting input and running scripts are done by two different separate things -- but only one thing is responsible for doing both of those, and it's CMD.exe.

"While cmder is loading" refers to CMD.exe running the script that initializes the cmder experience inside the CMD.exe shell.

So, you're asking for CMD.exe to accept input simultaneously while it also runs a script. CMD.exe cannot do that.

Oh okay gotcha. Oh well, it was worth a shot!

I think you can get unreleased builds here: https://github.com/cmderdev/cmder/actions/runs/6983567438

This should start much faster.

This can be closed. As a feature request, it's impossible for the reasons described further above..