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) { Alternatively, tmux used to only do this when the terminal matched xterm*, rxvt* but that is pretty unmaintainable. terminfo has tsl and fsl to start and end the title but they are hardly set in any entries. However, latest terminfo has the "XT" property to mark xterm-compatible terminals, so what we do is set tsl and fsl manually if XT is present (this is tmux internal representation of terminfo but I guess ncmpcpp will be able to do something similar): /* On terminals with xterm titles (XT), fill in tsl and fsl. */ if (tty_term_flag(term, TTYC_XT) && !tty_term_has(term, TTYC_TSL) && !tty_term_has(term, TTYC_FSL)) { code = &term->codes[TTYC_TSL]; code->value.string = xstrdup("\033]0;"); code->type = TTYCODE_STRING; code = &term->codes[TTYC_FSL]; code->value.string = xstrdup("\007"); code->type = TTYCODE_STRING; } So really (assuming this is the actual issue and I'm not on crack), you can either test the diff above and let me know or go talk to upstream and ask them not to send this to the terminal ;-). If they changed it to terminate with ST rather than BEL it would probably fix wscons but there may be obscure terminals out there that don't like that either. On Tue, Jul 26, 2011 at 07:04:44AM +0200, David Coppa wrote: > On Tue, Jul 26, 2011 at 2:56 AM, Bryan Linton <b...@shoshoni.info> wrote: > > On 2011-07-26 01:29:34, Nicholas Marriott <nicholas.marri...@gmail.com> > > wrote: > >> Run ncmppc in script(1) and see what it is sending with TERM=wsvt25. > >> > >> Probably it is bypassing terminfo or doing something silly like trying > >> to set the xterm window title which tends to make wscons unhappy. > >> > > > > Script attached. > > This is mine. > > ciao, > david