From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 68131 invoked by alias); 30 Mar 2019 19:47:08 -0000 Mailing-List: contact cygwin-developers-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com Received: (qmail 68110 invoked by uid 89); 30 Mar 2019 19:47:07 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-104.1 required=5.0 tests=AWL,BAYES_00,GOOD_FROM_CORINNA_CYGWIN,RCVD_IN_DNSWL_NONE,URIBL_BLOCKED autolearn=ham version=3.3.1 spammy=Color, exciting, minute, screen X-HELO: mout.kundenserver.de Received: from mout.kundenserver.de (HELO mout.kundenserver.de) (217.72.192.75) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 30 Mar 2019 19:47:06 +0000 Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue106 [212.227.15.183]) with ESMTPSA (Nemesis) id 1MS4ab-1hXfJI0mRX-00TSaq; Sat, 30 Mar 2019 20:46:59 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id 47755A8059A; Sat, 30 Mar 2019 20:46:56 +0100 (CET) Date: Sat, 30 Mar 2019 19:47:00 -0000 From: Corinna Vinschen To: Takashi Yano Cc: cygwin-developers@cygwin.com Subject: Re: Pseudo console support in PTY Message-ID: <20190330194656.GA3337@calimero.vinschen.de> Reply-To: cygwin-developers@cygwin.com Mail-Followup-To: Takashi Yano , cygwin-developers@cygwin.com References: <20190330220804.a3be5fa8c4d5569464309d66@nifty.ne.jp> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ew6BAiZeqk4r7MaW" Content-Disposition: inline In-Reply-To: <20190330220804.a3be5fa8c4d5569464309d66@nifty.ne.jp> User-Agent: Mutt/1.11.3 (2019-02-01) X-SW-Source: 2019-03/txt/msg00007.txt.bz2 --ew6BAiZeqk4r7MaW Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 3233 Hi Takashi, On Mar 30 22:08, Takashi Yano wrote: > Hello cygwin developers, >=20 > 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-l= ine-introducing-the-windows-pseudo-console-conpty/ > https://docs.microsoft.com/en-us/windows/console/creating-a-pseudoconsole= -session >=20 > 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. >=20 > 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. >=20 > 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=3Dhttp://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 >=20 > This cygwin1.dll requires new cygwin-console-helper.exe. > Please unxz and put them into /bin directory. >=20 > 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 --=20 Corinna Vinschen Cygwin Maintainer --ew6BAiZeqk4r7MaW Content-Type: application/pgp-signature; name="signature.asc" Content-length: 833 -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAlyfx7AACgkQ9TYGna5E T6CO1hAAlGjqYLHTftRy6y+vZZmhH56LhBPwiC+/ZUUeSQy1eNlykZgcZjT/BoJx 39qaUoX46PCS5ngOt6KehkYbBZmR8HI5u7MPamtLgAFXjLzOUBXCryAQ9IiKulVF CXbaBHGx+cfkVxtUWRpCd+Y+yUc+7nEbybbSZaWoI4/BPiwugikeR0gieERel0Mm w/gcwfR091rpLGn3p1KGRjEOJ9E4KgOLSPkjwV1IyC5t5bQ0lNZclAFze52rkFPX 9IDfB57K4Kv+QD8kM0Q5bxym/EizYUwUkrJTkecj0joxKT/TgMhxdkz8X2XYsr0j IM12zbtaK79AgCDtzkrTojwnDqaL1Py1aMQQtiuRp1D9vKvsHfTKmvtmf14P9nzG w6mmm/lo24h3kOVfHZzshj5TR/C2EQlHB1v7swjyPJE3DvtHDDiAk+Ocqtk6HoDr 8OBVhHD+sENBcN79J2thPtWZfZZEwqzDQCukYE5D9VOd9LvlQHeZfFTZahNCwOWk 5iObDBbv3XhDcR/+0qA01tYVwg33sXbDoKovJWNzHU9Ooabhgjk0kAjEQu18JrAh 005hF7KbL/KDFpt2kMcFPCE1+n/duruACoGIs1138jHocdQehkOoYdQQpC+eXUR+ HAI2y60MzX5bLmkRS8faSHGwem70rj0cCDivEPhVPkgaps80RrU= =oBWi -----END PGP SIGNATURE----- --ew6BAiZeqk4r7MaW--