On 8/15/06, Martin Bähr <[EMAIL PROTECTED]> wrote:
> hi,
>
> fish does a lot of updating of the xterminal title
>
> i rarely have more than a few xterminals since i run screen,
> usually each of those xterminals serves a specific purpose that is set in
> the title. fish is replacing those titles which is something i do not
> want. however i have not figured out how to turn it off.

The title is defined using the fish_title function. To disable the
redrawing of the titlebar, use this command:

function fish_title;end

Currently you pretty much have to write it exactly like that, since
fish only skips the execution if the function body is completely
empty. The next fish release wills skip redrawing as long as the
function produces no output. Undefining the function does not work,
since in that case fish will use a default message.

>
> related to that, the prompt is slow.
> if i run cd foo; it takes a while before the directory is changed and
> the prompt is updated. i presume this is in part related to the setting
> of the xterminal title but also to the redrawing of the prompt in general.
>
> try the following test:
> write a long line of text, then jump to the beginning of the line.
> now hit ctrl-d, and keep that pressed for a while.
>
> fish is writing delete-or-exit into the xterminal title each time.
> it is also redrawing the whole line on each deleted character.
> the deletion of a character is faster than the redrawing so that a
> new redraw is started before the previousone finished or something like
> that. at least the result is that most of the time the line is blank,
> and only occasionally the current state of the line shows as a blink
> before being hidden again.
>
> within screen in the xterm this gets worse. i can literaly watch as
> the cursor moves along the line to redraw it. it takes a whole second or
> two (yes, that is 1000 milliseconds) to redraw the line once.
> it feelslike watching a game of pingpong.

This is a long-standing performance issue. What happens is this:

Control-d is bound to delete-or-exit, which is a shellscript function.
Whenever a function is executed in response to a keypress, the prompt
command is reexecuted and the prompt is repainted. This happens
because a keybinding _might_ do any of the following:

* Change the contents of the commandline
* Change information that is displayed in the prompt, e.g. change
working directory
* Output text on-screen

I've been toying around with implementing various triggers that detect
when any of these happen, so that fish would be able to automatically
determine if the prompt actually needs to be reexecuted/repainted.
Unfortunatly, this is pretty hard, and I haven't gotten it to work
reliably. So in the end, I suspect I may have to resign to either
accept this rather noticable performance problem or to manually tell
fish what needs to be done to restore the prompt at the end of every
shellscript that is used as a keybinding. I'm leaning towards the
latter even though it exposes the fish internals in a very undesirable
way.

>
> greetings, martin.
> --
> cooperative communication with sTeam      -     caudium, pike, roxen and unix
> offering: programming, training and administration   -  anywhere in the world
> --
> pike programmer   travelling and working in europe             open-steam.org
> unix system-      bahai.or.at                        iaeste.(tuwien.ac|or).at
> administrator     (caudium|gotpike).org                          is.schon.org
> Martin Bähr       http://www.iaeste.or.at/~mbaehr/

--
Axel

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Fish-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to