terminal
terminal copied to clipboard
sendInput doesn't seem to work in multipleActions
Windows Terminal version
1.15.1863.0
Windows build number
10.0.22824.0
Other Software
No response
Steps to reproduce
I'm attempting to open a new tab and then send input in that new tab using the multipleActions
command.
{
"command":
{
"action": "multipleActions",
"actions": [
{
"action": "newTab"
},
{
"action": "sendInput",
"input": "\u001b[A"
}
]
},
"name": "Send Input Test"
},
Expected Behavior
The new tab should have the input sent from sendInput
, which in this case is as if I pressed the up arrow in my buffer.
Actual Behavior
sendInput
seems to be completely ignored and my input line is empty.
Huh. Good point. I suspect that we just fire-and-forget these guys after startup. Kinda interesting that the input doesn't go anywhere though - not into the previous tab or the new one. That's odd for real.
So sendInput
is only a problem if it's called after a new terminal control is created. If you just do two sendInput
actions one after another they work fine.
The problem with running sendInput
after newTab
or splitPane
is that the ConptyConnection
hasn't been started yet - the ConptyConnection::WriteInput()
method does nothing if the connection hasn't started.
https://github.com/microsoft/terminal/blob/bbc570d107b6b67b68454355e04724ecea9c9796/src/cascadia/TerminalConnection/ConptyConnection.cpp#L464-L475
I guess you could make WriteInput()
store the strings that are sent to it if it's in the NotConnected
state, and re-play them once it gets into the Connected
state?
So
sendInput
is only a problem if it's called after a new terminal control is created. If you just do twosendInput
actions one after another they work fine.
It's not working for me:
{
"name": "blah",
"command": {
"action": "multipleActions",
"actions": [
{
"action": "sendInput",
"input": "sensible-browser https://...\n"
},
{
"action": "sendInput",
"input": "sensible-browser https://...\n"
}
]
}
}
That just launches the first URL for me...
Running it in WSL/Ubuntu Profile.
Any known workaround for this bug? Sending the input twice is not working for me