On Sun, Feb 12, 2012 at 12:59:30AM +0100, Martin Kopta wrote: > I know it has been already discussed here, but I could not find any > final solution. The process viewer htop isn't drawing properly in st > [1]. Current load, cpu, mem, swap and other user processes aren't > visible. xterm shows them fine, using dark grey color. I use default > configuration for st, except font [2], but the drawing problem > occurs even with default configuration. So, the first question: > Is there know solution for st/htop drawing problem?
As was mentioned earlier it's not really a bug. Nevertheless I find it unbearable also and use something like the attached patch. Note that that patch also kinda disables bold fonts completely. If you don't want that tailor it to your needs. > How do you deal with st, terminfo of st and ssh to lots of various servers? To be honest, the lack of good xterm compatibility in st mostly breaks it for me also (I also don't use urxvt since I have to log into some very old servers which don't know rxvt-unicode either). When I feel like using st I usually set TERM=vt102 on remote servers. That kinda works most of the time (you won't get colors though--which is something I don't mind). An alternative to constantly setting TERM is using a terminal multiplexer (dvtm, screen, tmux, etc) within st locally. Most systems out there should be ok with TERM=screen or TERM=rxvt-256color. -- Eckehard Berns
--- st/st.c 2012-02-09 19:25:09.707996278 +0100 +++ st.c 2012-02-12 18:39:02.106256491 +0100 @@ -1773,6 +1773,14 @@ xbg = dc.col[DefaultFG]; } + if(base.fg == DefaultFG && base.mode & ATTR_BOLD) { + base.mode &= ~ATTR_BOLD; + xfg = dc.col[15]; + } else if(base.fg < 8 && base.mode & ATTR_BOLD) { + base.mode &= ~ATTR_BOLD; + xfg = dc.col[base.fg + 8]; + } + if(base.mode & ATTR_REVERSE) temp = xfg, xfg = xbg, xbg = temp;