Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: prompts with newlines get printed twice



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ña <jorgepblank@xxxxxxxxx>

> Hey Bart, you said move up one less line than the amount you have. So I was
> 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 it
> 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ña <jorgepblank@xxxxxxxxx>
>
>> Thanks for your time Bart.
>>
>> I have tested your workaround and it does seem to work! This seems better
>> because there is no need to wrap the prompt directive in a function or any
>> 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 this 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 <schaefer@xxxxxxxxxxxxxxxx
>> > 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 my
>>> } 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 are
>>> } 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ña
>>
>
>
>
> --
> - Jorge Israel Peña
>



-- 
- Jorge Israel Peña


Messages sorted by: Reverse Date, Date, Thread, Author