zsh-users
 help / color / mirror / code / Atom feed
From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: nirva@ishiboo.com (Danny Dulai)
Cc: zsh-users@sunsite.auc.dk
Subject: Re: clear to end of display
Date: Sun, 19 Mar 2000 03:50:53 +0000	[thread overview]
Message-ID: <1000319035053.ZM32550@candle.brasslantern.com> (raw)
In-Reply-To: <Liam.953420123.464.22269.1090427954@fizz>

On Mar 18, 10:55pm, Danny Dulai wrote:
} Subject: Re: clear to end of display
}
} On 03/18/00, Bart Schaefer said:
} >What's the problem with having a clear-eol after the prompt?
} 
} Well, I have a prompt that displays the time and my login/host in the upper
} right of the screen.

If it's always in the upper right, you might try printing it with a
TRAPALRM() function rather than putting it in the prompt.  Time values
in the prompt don't get updated until after the next call to precmd(),
but by setting a TMOUT value you can have it updated almost as often
as you like (though I wouldn't recommend more often than about every
10 seconds or it'll interfere with your typing).  I update the time
in my xterm title bar that way, with a 60-second TMOUT.

} when the prompt is on the first two lines of the
} terminal, the line the prompt is on gets cleared to eol, and overwrites
} some of my prompt in the upper right. I have hacks in there so that clear,
} ^L, and reset, do an echo twice to move the cursor down two lines, but I
} was hoping to avoid that.

Try putting a cursor-up cursor-down movement in a %{...%} block at the
beginning of your prompt.  That should force the prompt to be no higher
than the second line without needing to hack any zle widgets.  E.g. in
3.1.6+ with an 80-column xterm:

PS1="%{"$'\e7\e[1A\e[1B\e[1;1H'%E$'\e[1;72H'"%D{%I:%M:%S}"$'\e8'"%}%m%# "

} Also, the reason eod is annoying me is due to uneccessary clears on a
} transparent terminal that cause it to slightly flicker. I know this is the
} fault of the terminal program, but its a fault I'd like to work around,
} since it can't be fixed very easily.

Here's a trick that should work ...

Copy your transparent terminal's termcap or terminfo entry to another
name and remove the clear-eod capability.  Suppose the names are `trans'
for the original and `trans_no_ceod' for the edited copy.  Then do:

precmd() { TERM=trans_no_ceod }
preexec() { export TERM=trans }

This hides the clear-eod from zsh while the prompt is printing, without
hiding it from other commands that run.  If you're using a termcap-based
system, you should be able to use the TERMCAP variable instead, and just
insert and delete the `cd=' capability without changing TERM.

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


  reply	other threads:[~2000-03-19  3:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-03-18  9:18 Danny Dulai
2000-03-18 10:54 ` clear to end of display / clear to end of line Danny Dulai
2000-03-18 18:10   ` clear to end of display Bart Schaefer
2000-03-18 22:55     ` Danny Dulai
2000-03-19  3:50       ` Bart Schaefer [this message]
2000-03-19  7:08         ` Danny Dulai
2000-03-19  7:49           ` Bart Schaefer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1000319035053.ZM32550@candle.brasslantern.com \
    --to=schaefer@candle.brasslantern.com \
    --cc=nirva@ishiboo.com \
    --cc=zsh-users@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).