From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1968 invoked by alias); 26 Sep 2011 04:29:46 -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: 16431 Received: (qmail 11589 invoked from network); 26 Sep 2011 04:29:43 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.google.com designates 74.125.83.43 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=o2KrVeoD7Q/2twe8qROgxCz2QAxUluyQoVdcG1d/bKc=; b=xZFNPY5mPvE7YCVZB9hns4ojmn9F8RzKcglp2D2mPKh2QJsXCiYConbqfux7/rRBin GOUBADt4eR4Fi4zxvrxO50sGZAmFHRmTyDjS8N17pP+fvU35tFcaDoyTvH8ovj7WG13j AZ3jYMHS6hPqhH7KM8dTXoeK1erBqg9FqmgyM= MIME-Version: 1.0 In-Reply-To: References: <110924112412.ZM24918@torch.brasslantern.com> <110925151330.ZM20235@torch.brasslantern.com> Date: Sun, 25 Sep 2011 21:29:36 -0700 Message-ID: Subject: Re: prompts with newlines get printed twice From: =?UTF-8?Q?Jorge_Israel_Pe=C3=B1a?= To: Bart Schaefer Cc: zsh-users@zsh.org Content-Type: multipart/alternative; boundary=bcaec520ee9b46e45604add09b2f --bcaec520ee9b46e45604add09b2f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Actually, `man terminfo` showed me the `cuu` command which accepts a parameter referring to the number of lines to move up. Changing the aforementioned line to: trap 'tput cuu 2' WINCH seems to work consistently and does not make the prompt move down when resizing the terminal :) 2011/9/25 Jorge Israel Pe=C3=B1a > Hey Bart, you said move up one less line than the amount you have. So I w= as > playing around with the prompt by making it three lines (so that there's = an > empty line after the previous command's output, etc.) and the way I did i= t > is: > > trap 'tput cuu1 tput cuu1' WINCH > > But I don't think this is the correct way? When I resize the terminal > horizontally with this, the prompt keeps moving down by itself, but this > doesn't happen when it's just one line and there is only one 'tput cuu1',= so > I have a feeling I'm doing it wrong. Would appreciate any comments. > > > 2011/9/25 Jorge Israel Pe=C3=B1a > >> Thanks for your time Bart. >> >> I have tested your workaround and it does seem to work! This seems bette= r >> because there is no need to wrap the prompt directive in a function or a= ny >> of that stuff. >> >> I saw your post on the workers mailing list, thanks again for taking the >> time to look into it. Hopefully now that you've brought attention to thi= s it >> could be discussed by people more knowledgeable with the zsh source and >> perhaps even get it fixed. >> >> For now I'm glad I have a workaround I can use in .zshrc at least :) >> >> Thanks again! >> >> On Sun, Sep 25, 2011 at 3:13 PM, Bart Schaefer > > wrote: >> >>> On Sep 24, 4:24pm, Jorge Israel Pena wrote: >>> } >>> } So are there any known workarounds? Or is this something that would >>> } have to be fixed in zsh itself? >>> >>> Until a few minutes ago I'd have said it was something that needed to >>> be fixed in Terminal, but I may have found a zsh bug that's behind it >>> all. I've sent a possible fix to zsh-workers for discussion. >>> >>> On Sep 24, 5:14pm, Jorge Israel Pena wrote: >>> } >>> } Hey guys. I have extracted what I felt were the relevant parts from m= y >>> } previously posted link. Like I said, I am no zsh expert (In fact I'm >>> } completely new to it) so I don't know if this is right or if there ar= e >>> } more efficient, better ways of doing this. >>> } >>> } Source: https://gist.github.com/1240023 >>> } >>> } I tested it various times and it seems to be working perfectly. >>> >>> I don't find any evidence that this helps except possibly by waiting to >>> change the prompt until the first time the WINCH is received, which >>> would avoid the startup-time double prompt. I still get the prompt >>> printed multiple times if I later resize the window. >>> >>> However, >>> >>> trap 'tput cuu1' WINCH >>> >>> (that is, move up one line on each WINCH signal) might work around it >>> for you. If your prompt has more than two lines, you'll need to move >>> up one less than the number of lines in the prompt. >>> >> >> >> >> -- >> - Jorge Israel Pe=C3=B1a >> > > > > -- > - Jorge Israel Pe=C3=B1a > --=20 - Jorge Israel Pe=C3=B1a --bcaec520ee9b46e45604add09b2f--