Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com From: Chris Faylor Date: Tue, 25 Jul 2000 21:37:50 -0400 To: cygwin AT sourceware DOT cygnus DOT com Cc: DJ Delorie Subject: Re: Couple of nits about Cygwin Message-ID: <20000725213749.A17042@cygnus.com> Reply-To: cygwin AT sources DOT redhat DOT com Mail-Followup-To: cygwin AT sourceware DOT cygnus DOT com, DJ Delorie References: <200007251049870 DOT SM00160 AT KENDALLB> <200007260019 DOT UAA14196 AT envy DOT delorie DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i In-Reply-To: <200007260019.UAA14196@envy.delorie.com>; from dj@delorie.com on Tue, Jul 25, 2000 at 08:19:22PM -0400 On Tue, Jul 25, 2000 at 08:19:22PM -0400, DJ Delorie wrote: > >> 1. When you start a bash shell, the cursor flashes at a reasonable >> rate, but when you start typing it generally disappears from view. > >Found it. WriteFile() to the console causes the cursor to dissapear >for a bit. Setting the cursor position makes it show up again. Try >the attached patch (I'll try it myself later, but the machine is in >the middle of a big build I don't want to interrupt). That seems to do it. Thanks! This problem has plagued Cygwin for years. I think it makes more sense for this to be in fhandler_console::read, though. Otherwise you're forcing the cursor to track every write, which probably defeats the purpose of making it invisible for a while. Putting it in the console read part means that the cursor is made visible when cygwin is ready to receive input. The change below just moves your code to the input part of cygwin rather than the output. It seems to work as well as putting it in the write part. Thanks again. This problem was particularly noticeable on Windows 2K. I've been meaning to investigate it for a while. cgf Index: fhandler_console.cc =================================================================== RCS file: /cvs/src/src/winsup/cygwin/fhandler_console.cc,v retrieving revision 1.11 diff -u -p -r1.11 fhandler_console.cc --- fhandler_console.cc 2000/07/10 23:08:45 1.11 +++ fhandler_console.cc 2000/07/26 01:35:49 @@ -145,6 +145,7 @@ fhandler_console::read (void *pv, size_t if ((bgres = bg_check (SIGTTIN)) <= 0) return bgres; + cursor_rel (0,0); /* to make cursor appear on the screen immediately */ switch (WaitForMultipleObjects (nwait, w4, FALSE, INFINITE)) { case WAIT_OBJECT_0: -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com