On Tue, 26 Jul 2011, Nicholas Marriott 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.
Well, there's a bug in ncmpcpp, into ncmpcpp-0.5.7/src/status.cpp: #ifndef USE_PDCURSES void WindowTitle(const std::string &status) { if (strcmp(getenv("TERM"), "linux") && Config.set_window_title) std::cout << "\033]0;" << status << "\7"; } #endif // !USE_PDCURSES Here's the diff. Ok? Index: Makefile =================================================================== RCS file: /cvs/ports/audio/ncmpcpp/Makefile,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 Makefile --- Makefile 25 Jul 2011 20:08:23 -0000 1.1.1.1 +++ Makefile 26 Jul 2011 07:45:09 -0000 @@ -3,6 +3,7 @@ COMMENT = ncurses mpd client inspired by ncmpc DISTNAME = ncmpcpp-0.5.7 +REVISION = 0 EXTRACT_SUFX = .tar.bz2 Index: patches/patch-src_status_cpp =================================================================== RCS file: patches/patch-src_status_cpp diff -N patches/patch-src_status_cpp --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_status_cpp 26 Jul 2011 07:45:09 -0000 @@ -0,0 +1,12 @@ +$OpenBSD$ +--- src/status.cpp.orig Tue Jul 26 09:34:42 2011 ++++ src/status.cpp Tue Jul 26 09:34:56 2011 +@@ -66,7 +66,7 @@ namespace + #ifndef USE_PDCURSES + void WindowTitle(const std::string &status) + { +- if (strcmp(getenv("TERM"), "linux") && Config.set_window_title) ++ if (!strcmp(getenv("TERM"), "linux") && Config.set_window_title) + std::cout << "\033]0;" << status << "\7"; + } + #endif // !USE_PDCURSES