[PATCH] Cygwin: pty: Omit CSI?1004h/l from pseudo console output
Corinna Vinschen
corinna-cygwin@cygwin.com
Wed Mar 25 19:12:48 GMT 2026
Hi Takashi,
On Mar 9 18:24, Takashi Yano wrote:
> "CSI?1004h" is the sequence that enabes focus event report. This
enables
> can be handle correctly by pseudo console, however, if the pty
> input is not connected to pseudo console, the focus event responces
responses
> such as "CSI I/O" are sent to the foreground process. Due to this,
> `cat` receives these responces unexpectedly in the command below.
responses
>
> $ cmd &
> $ cat
>
> This seems to happen after Windows 11.
Not sure what this means. What is after W11? Do you mean it happens
since W11 already?
Thanks,
Corinna
>
> To avoid this, this patch removes "CSI?1004h/l" from pseudo console
> output.
>
> Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
> Reviewed-by:
> ---
> winsup/cygwin/fhandler/pty.cc | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/winsup/cygwin/fhandler/pty.cc b/winsup/cygwin/fhandler/pty.cc
> index 0717c043b..65b10dd62 100644
> --- a/winsup/cygwin/fhandler/pty.cc
> +++ b/winsup/cygwin/fhandler/pty.cc
> @@ -2760,7 +2760,8 @@ workarounds_for_pseudo_console_output (char *outbuf, DWORD rlen)
> }
> state = 0;
> }
> - else if (saw_question_mark && arg == 9001
> + else if (saw_question_mark
> + && (arg == 9001 || arg == 1004)
> && (outbuf[i] == 'h' || outbuf[i] == 'l'))
> {
> memmove (&outbuf[start_at], &outbuf[i+1], rlen-i-1);
> --
> 2.51.0
More information about the Cygwin-patches
mailing list