From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: Takashi Yano <takashi.yano@nifty.ne.jp>
Cc: cygwin-developers@cygwin.com
Subject: Re: Pseudo console support in PTY
Date: Sat, 30 Mar 2019 19:47:00 -0000 [thread overview]
Message-ID: <20190330194656.GA3337@calimero.vinschen.de> (raw)
In-Reply-To: <20190330220804.a3be5fa8c4d5569464309d66@nifty.ne.jp>
[-- Attachment #1: Type: text/plain, Size: 3311 bytes --]
Hi Takashi,
On Mar 30 22:08, Takashi Yano wrote:
> Hello cygwin developers,
>
> I have worked on implementing pseudo console support into cygwin
> PTY by request from Corinna. Pseudo console is a new feature
> after Windows 10 1809, which provides console APIs on virtual
> terminal.
> https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/
> https://docs.microsoft.com/en-us/windows/console/creating-a-pseudoconsole-session
>
> After much effort, it began to work partially. So, I would
> like to announce to this mailing list. Attached are the
> patchs against cygwin git HEAD.
\o/
Thanks a lot for doing this!
> Patch 0001 and 0002 are not really needed by the pseudo console
> support, but are the modification I have done at the same time.
>
> Patch 0001: This just renames and unifies the function names.
> Both get_io_handle() and get_handle() were identical and
> returned io_handle. So, they were unified.
This one is ok to be pushed to master as is.
> Patch 0002: This revises console code for better color handling
> and fixing select() behaviour. This provides 24 bit color
> support after Windows 10 build 14931. For legacy console,
> fake 256 color support is implemented, which use the nearest
> color from 16 system colors.
This patch is certainly a nice addition, but I'd prefer this to be split
into a patchset of at least 3 separate patches:
- Fix select
- Make console thread-safe
- Color code changes
These are three very different changes which should all stand on their
own. This also improves looking for bugs.
> Patch 0003: Support pseudo console in PTY. With this patch,
> native console applications can work in PTY such as mintty,
> ssh, gnu screen or tmux.
This patch is missing a bit of commenting. There are a couple of #if
0/1 blocks. It would be nice to know what these are good for (and
ultimately the #if 0/1's should go away). It would alos be helpful
if you see a chance to split this into a patchset with a few
self-contained, co-ordinated patches.
Apart from patch 1, which I'll push in a minute, please send any
patch submissions to cygwin-patches.
Thanks a lot for working on this. If all goes well we could even push
this into 3.1, together with Ken's FIFO patches.
This is all pretty exciting.
> Anyone who are interested in this work, please test. Any
> discussions and suggestions are also welcome.
>
> You can download the binaries from:
Already running your patches with self-built cygwin DLL and
cygwin-console-helper ;)
It seems the mintty startup is a bit slower than before, but
personally I could live with that.
> D=http://tyan0.dip.jp/cygwin
> ${D}/x86_64/test/cygwin1-20190330.dll.xz
> ${D}/x86_64/test/cygwin-console-helper.exe.xz
> ${D}/x86/test/cygwin1-20190330.dll.xz
> ${D}/x86/test/cygwin-console-helper.exe.xz
>
> This cygwin1.dll requires new cygwin-console-helper.exe.
> Please unxz and put them into /bin directory.
>
> Known problems:
> * Sometimes the screen layout would be broken.
> * mintty fails to start if it is started in console cygwin
> session.
Good to know, thanks!
Corinna
--
Corinna Vinschen
Cygwin Maintainer
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2019-03-30 19:47 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-30 13:08 Takashi Yano
2019-03-30 19:47 ` Corinna Vinschen [this message]
2019-03-30 19:59 ` Corinna Vinschen
2019-03-30 23:07 ` Thomas Wolff
2019-03-31 14:38 ` Corinna Vinschen
2019-03-31 15:00 ` Takashi Yano
2019-04-02 11:02 ` Corinna Vinschen
2019-04-02 17:16 ` Thomas Wolff
2019-04-02 17:51 ` Corinna Vinschen
2019-04-03 7:18 ` Thomas Wolff
2019-04-03 7:28 ` Corinna Vinschen
2019-04-03 7:55 ` Thomas Wolff
2019-04-03 8:02 ` Corinna Vinschen
2019-04-03 11:33 ` Thomas Wolff
2019-04-03 12:17 ` Corinna Vinschen
2019-04-04 4:17 ` Takashi Yano
2019-04-04 8:06 ` Corinna Vinschen
2019-04-04 4:15 ` Takashi Yano
2019-04-03 16:36 ` [PATCH v2 0/1] Pseudo console support in PTY (v2) Takashi Yano
2019-04-03 16:37 ` [PATCH v2 1/1] Cygwin: pty: add pseudo console support Takashi Yano
2019-04-03 16:50 ` [PATCH v2 0/1] Pseudo console support in PTY (v2) Corinna Vinschen
2019-04-04 5:27 ` Takashi Yano
2019-04-04 8:17 ` Thomas Wolff
2019-04-04 9:34 ` Takashi Yano
2019-04-03 17:11 ` Corinna Vinschen
2019-04-04 8:59 ` Takashi Yano
2019-04-04 10:46 ` Corinna Vinschen
2019-04-06 11:13 ` [PATCH v3 0/1] Pseudo console support in PTY (v3) Takashi Yano
2019-04-06 11:14 ` [PATCH v3 1/1] Cygwin: pty: add pseudo console support Takashi Yano
2019-04-06 17:43 ` [PATCH v3 0/1] Pseudo console support in PTY (v3) Corinna Vinschen
2019-04-12 10:22 ` [PATCH v4 0/1] Pseudo console support in PTY (v4) Takashi Yano
2019-04-12 10:23 ` [PATCH v4 1/1] Cygwin: pty: add pseudo console support Takashi Yano
2019-04-12 12:29 ` [PATCH v4 0/1] Pseudo console support in PTY (v4) Corinna Vinschen
2019-04-15 8:18 ` Corinna Vinschen
2019-04-15 23:17 ` Takashi Yano
2019-04-14 15:23 ` [PATCH v5 0/1] Pseudo console support in PTY (v5) Takashi Yano
2019-04-14 15:23 ` [PATCH v5 1/1] Cygwin: pty: add pseudo console support Takashi Yano
2019-04-15 8:38 ` Corinna Vinschen
2019-04-16 0:41 ` Takashi Yano
2019-04-16 9:16 ` Corinna Vinschen
2019-06-24 10:53 ` Corinna Vinschen
2019-07-25 14:31 ` Corinna Vinschen
2019-08-08 19:24 ` Corinna Vinschen
2019-08-12 12:07 ` Takashi Yano
2019-08-12 12:50 ` Corinna Vinschen
2019-08-12 14:36 ` Takashi Yano
2019-04-14 16:06 ` [PATCH v5 0/1] Pseudo console support in PTY (v5) Takashi Yano
2019-04-16 1:49 ` Takashi Yano
2019-04-16 1:51 ` Takashi Yano
2019-04-06 21:33 ` [PATCH v3 0/1] Pseudo console support in PTY (v3) Thomas Wolff
2019-04-07 5:05 ` Takashi Yano
2019-04-07 12:02 ` Takashi Yano
2019-04-07 21:21 ` Thomas Wolff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190330194656.GA3337@calimero.vinschen.de \
--to=corinna-cygwin@cygwin.com \
--cc=cygwin-developers@cygwin.com \
--cc=takashi.yano@nifty.ne.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).