From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 28775 invoked by alias); 21 Jul 2015 22:56:13 -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: 20330 Received: (qmail 5212 invoked from network); 21 Jul 2015 22:56:11 -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, RCVD_IN_MSPIKE_H2 autolearn=ham autolearn_force=no version=3.4.0 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:message-id:date:in-reply-to:comments :references:to:subject:mime-version:content-type; bh=oO6jQHiWf811UjwGkLBTVSVOmO2m4DM0akcqJ2LM98A=; b=YyrNkvHWXuErC8uiJuSPBDAcmafP9sS3FTxBQp/OMgtJhBtUqmUAalW3wsDnumhyPH ki9XV7rZIEs1StRsZeZuB3CNdJhzi7bRAZhQcw90C/HEUBApVQrrFT/WKPNXR40m/4Y9 oZ4oxz6djgF4qEtYp6flEwquInu9b1TP4qBmDwsqZjqn0jZO1j9lLcOin9LlQSnJ3zGe fYBk2eM/+y5Q6NhVB91RLSl5a3ZeDH/MdGlhSQPZV1/5aNDTWu4ZAdb6OELfZ85WYEzs e7zgLMnkPGJK8EGYD6pRZ1d85prMiHJu4CMS9/QAtVYXnzzOSXoccmzR7o5mx4iIJj++ XGpw== X-Gm-Message-State: ALoCoQns2Sj54jR8M5sbPWy//yYgYDFgpR6qNPDMBo4ibsVrIaUoEco0Yf6jET7FxNKspNio7RY/ X-Received: by 10.182.79.197 with SMTP id l5mr33368124obx.59.1437519369061; Tue, 21 Jul 2015 15:56:09 -0700 (PDT) From: Bart Schaefer Message-Id: <150721155605.ZM15346@torch.brasslantern.com> Date: Tue, 21 Jul 2015 15:56:05 -0700 In-Reply-To: <26940.1437503861@ccs.covici.com> Comments: In reply to covici@ccs.covici.com "how to get zsh to work with a screen reader" (Jul 21, 2:37pm) References: <26940.1437503861@ccs.covici.com> X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: covici@ccs.covici.com, zsh-users@zsh.org Subject: Re: how to get zsh to work with a screen reader MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 conditions 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.