Is prompt available in Vte?

316 views Asked by At

I have a shell running in a Vte.Terminal widget (could be bash, zsh, or any other interactive shell), I would like to monitor it so as to know when the prompt is available and a new command can be started.

I can't seem to come up with a consistent method.

Here are the ideas I've thought of so far:

  • Monitor for child process exit.
    Could work some of the time, but commands that use only built-ins wouldn't spawn a child. (example: "while true; do; echo test; done;") Also When a command is started in background the prompt would be available before the child exited.
  • Watch for prompt string in Vte output.
    Two problems: 1. A simple prompt string such as "#>" could easily be outputted by some script and give a false positive. 2. Knowing what the prompt string is, is problematic.

Any other ideas or a way to get one of the above working?

What my purpose is.

I'm working on a terminal emulator and would like to change the icon based on whether the prompt is available. Also I am attempting to allow commands to be 'queued' to run when next possible.

0

There are 0 answers