On Wed, Sep 25, 2019 at 08:29:47PM +0100, Nicholas Marriott wrote: > It will use either UTF-8 characters or the ACS characters from TERM. > > The way it decides which is somewhat confusing and it looks like it is > choosing to use UTF-8 even when I wouldn't expect it to so I'm not sure > it is actually working correctly in our ncurses version. > > I don't think UTF-8 line drawing works properly, at least with the DRM > wscons. > > What do you have in TERM now? Can you see if the borders are OK with > "TERM=xterm snake"? This seems to use ACS rather than UTF-8. If it does > I'll see if I can figure out why it choosing UTF-8 borders for the > others.
In wscons I have vt220. The borders are even more screwy with `TERM=xterm snake` in the wscons. Now you have pairs of question marks instead of just a single '?'. The (maybe not so) odd thing is that in a real xterm if I do `TERM=vt220 snake` the borders are fine. So yeah, I don't know how our ncurses is deciding what to do. > You can run it in script(1) to see what it is using for the border (lots > of 'q' or 'x' means ACS). I see a string of 'q' in the typescript when in the xterm and TERM=xterm: ESC[?1049hESC[1;24rESC(BESC[mESC[4lESC[?7hESC[?1hESC=ESC[HESC[2J Worm ESC(0ESC[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B ESC(0ESC[0mxESC(BESC[79GESC(0ESC[0mxESC(B ESC(0ESC[0mxESC(BESC[79GESC(0ESC[0mxESC(B in xterm when TERM=vt220: ESC)0ESC[1;24rESC[mESC(BESC[4lESC[?7hESC[HESC[J Worm ESC[0mESC(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B ESC[0mESC(0xESC(BESC[77CESC[0mESC(0xESC(B ESC[0mESC(0xESC(BESC[77CESC[0mESC(0xESC(B in wscons when TERM=vt220: ESC)0ESC[1;45rESC[mESC(BESC[4lESC[?7hESC[HESC[J Worm ESC[0mESC(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B ESC[0mESC(0xESC(BESC[157CESC[0mESC(0xESC(B ESC[0mESC(0xESC(BESC[157CESC[0mESC(0xESC(B in wscons when TERM=xterm: ESC[?1049hESC[1;45rESC(BESC[mESC[4lESC[?7hESC[?1hESC=ESC[HESC[2J Worm ESC(0ESC[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkESC(B ESC(0ESC[0mxESC(BESC[159GESC(0ESC[0mxESC(B ESC(0ESC[0mxESC(BESC[159GESC(0ESC[0mxESC(B ... so it's doing something based on TERM.