On Tue, Jul 26, 2011 at 9:23 AM, Nicholas Marriott <nicholas.marri...@gmail.com> wrote: > Yes it is trying to set the window title (three times in fact for some > reason): > > ^[]0;Paolo Fresu & Uri Caine - Darn That Dream^G > > IIRC this will make wscons freeze. This is because it expects OSC to be > terminated by ST (\033\) not by ^G (\007). So it sits waiting for the > end that will never arrive. > > I can't try it right now but you will probably be able to see the same > with eg: > > $ printf "\033]0;abc\007" > > If that does reproduce the behaviour then that's the problem. > > I think wscons actually technically does the right thing here - C0 are > supposed to operate as normal inside escape sequences. I'm not sure > where this idea that BEL should terminate OSC came from. However, it is > pretty much the de facto standard now (ie, xterm supports it). Something > like this might do it but not tested: > > Index: wsemul_vt100.c > =================================================================== > RCS file: /cvs/src/sys/dev/wscons/wsemul_vt100.c,v > retrieving revision 1.27 > diff -u -p -r1.27 wsemul_vt100.c > --- wsemul_vt100.c 1 Sep 2010 21:17:16 -0000 1.27 > +++ wsemul_vt100.c 26 Jul 2011 07:19:20 -0000 > @@ -386,7 +386,10 @@ wsemul_vt100_output_c0c1(struct wsemul_v > /* ignore */ > break; > case ASCII_BEL: > - wsdisplay_emulbell(edp->cbcookie); > + if (edp->state == VT100_EMUL_STATE_STRING) > + edp->state = VT100_EMUL_STATE_NORMAL; > + else > + wsdisplay_emulbell(edp->cbcookie); > break; > case ASCII_BS: > if (edp->ccol > 0) {
Your patch works. ncmpcpp no longer hangs on console *with enable_window_title set to yes*. Can it be committed? cheers, David