From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1391 invoked by alias); 21 Jul 2015 23:02:30 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 20331 Received: (qmail 14725 invoked from network); 21 Jul 2015 23:02:28 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham autolearn_force=no version=3.4.0 From: covici@ccs.covici.com To: Bart Schaefer cc: zsh-users@zsh.org Subject: Re: how to get zsh to work with a screen reader In-reply-to: <150721155605.ZM15346@torch.brasslantern.com> References: <26940.1437503861@ccs.covici.com> <150721155605.ZM15346@torch.brasslantern.com> Comments: In-reply-to Bart Schaefer message dated "Tue, 21 Jul 2015 15:56:05 -0700." X-Mailer: MH-E 8.5; nmh 1.6; GNU Emacs 24.5.1 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <5540.1437519743.1@ccs.covici.com> Content-Transfer-Encoding: quoted-printable Date: Tue, 21 Jul 2015 19:02:24 -0400 Message-ID: <5541.1437519744@ccs.covici.com> X-SpamH-OriginatingIP: 70.109.53.110 X-SpamH-Filter: d-out-001.smtp25.com-t6LN2OUc003843 OK, thanks. So what does bash do differently? It does not give me the pr= oblem, I wonder if it tries to do cursor movement instead of reprinting? Thanks again for your response. Bart Schaefer wrote: > On Jul 21, 2:37pm, covici@ccs.covici.com wrote: > } Subject: how to get zsh to work with a screen reader > } > } when I use zsh, I hear the entire line repeated when I do a completion= , > } or after I type a carriage return, I hear the line I just typed, even > } though there is not an extra copy on the screen. So what I was > } wondering, is if zsh is writing the whole line out under many conditio= ns > = > The ZLE editor does not use the curses package for screen optimization, > so among other things if the cursor is at column X and needs to move > across some existing text to column X+10, ZLE may reprint the characters > rather than emit a cursor movement command. > = > It will also prefer to overstrike a region with the text that is meant > to appear there, rather than to assume the text is already visible and > simply move past it, because it does not attempt to maintain an internal > data structure that reflects the contents of the screen -- it only keeps > a data structure for the text of the prompt and the contents of the edit > buffer. So any time it wants the screen and the buffer to match, the > only way it can be certain that is true is to reprint everything. > = > The assumption is that the terminal emulator will either optimize out > unnecessary redrawing, or be fast enough that it doesn't matter. That's > obviously not the case for a text-to-speech translator that interposes > between the shell output and the terminal. > = > Sadly, there's no practical approach I can think of to rectify this. -- = Your life is like a penny. You're going to lose it. The question is: How do you spend it? John Covici covici@ccs.covici.com