Skip to content

Instantly share code, notes, and snippets.

@RJ-Infinity
Created May 13, 2023 22:24
Show Gist options
  • Select an option

  • Save RJ-Infinity/1330e2dbfebc9be69f9094f1d594f832 to your computer and use it in GitHub Desktop.

Select an option

Save RJ-Infinity/1330e2dbfebc9be69f9094f1d594f832 to your computer and use it in GitHub Desktop.
CONHOST command line arguments
this information may be out of date as microsoft has said that they will not keep this consistent
all the information i found by experementing and reading the source at https://github.com/microsoft/terminal
server handle token (accepted two ways)
--server 0x4 (new method)
0x4 (legacy method)
the arguments must contain only one of these
--signal <arg:short as handle>
an optional file handle that will be used to send signals into the console.
This represents the ability to send signals to a *nix tty/pty
-ForceV1
this is for NTVDM support
-ForceNoHandoff
Prevent default application handoff to a different console/terminal
-Embedding
run as com server
--passthrough
passthroughMode
--vtmode <arg:short as ("xterm" | "xterm-256color" | "xterm-ascii" | "")>
console's requested VT mode
--width <arg:short>
only works if height is present
--height <arg:short>
only works if width is present
--feature <"pty">
used for feature detection
Currently, the only supported feature arg is `pty`, to identify pty support.
--headless
runs in headless mode
--inheritcursor
sets the cursor to the position returned by the application when it recives the VT sequence to ask for the cursor position.
Terminals who request this behavior but don't respond will hang.
--resizeQuirk
This changes the behavior of conpty to _not_ InvalidateAll the entire viewport on a resize operation.
This is used by the Windows Terminal, because it is prepared to be connected to a conpty, and handles its own buffer specifically for a conpty scenario.
See also: GH#3490, #4354, #4741
--win32input
Send a sequence to the connected terminal to request win32-input-mode from them.
This will enable the connected terminal to send us full INPUT_RECORDs as input.
If the terminal doesn't understand this sequence, it'll just ignore it.
--
Everything after this is the explicit commandline
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment