On Thu, Oct 13, 2016 at 08:20:52AM +0200, Otto Moerbeek wrote: > On Thu, Oct 13, 2016 at 08:01:22AM +0200, Otto Moerbeek wrote: > > > On Thu, Oct 13, 2016 at 12:15:34AM -0400, Ted Unangst wrote: > > > > > Theo de Raadt wrote: > > > > > On Wed, Oct 12, 2016 at 03:20:00PM +0200, Otto Moerbeek wrote: > > > > > > simple diff to show the hostname on the second line. OK? > > > > > > > > > > OK bluhm@ > > > > > > > > > > > > > > > > > BTW, batch mode doesn't function here as expected. Need to look > > > > > > into that, > > > > > > > > I hoped this would look more like top(1) so I did it a different way. > > > > This does not work quite right for long hostnames, but then.. neither > > > > does top. > > > > > > this truncates hostname to always display time. > > > > If the line grows (because of multiple pages and/or PAUSED mode), the > > line wraps now.... Also, we have hostname already available in a > > buffer. > > > > -Otto > > >
And squeeze the users/Load info a bit. -Otto Index: main.c =================================================================== RCS file: /cvs/src/usr.bin/systat/main.c,v retrieving revision 1.65 diff -u -p -r1.65 main.c --- main.c 13 Oct 2016 05:46:20 -0000 1.65 +++ main.c 13 Oct 2016 09:05:40 -0000 @@ -52,7 +52,7 @@ #include "engine.h" #include "systat.h" -#define TIMEPOS 55 +#define TIMEPOS (80 - 8 - 20 - 1) double dellave; @@ -67,7 +67,6 @@ int ut, hz, stathz; char hostname[HOST_NAME_MAX+1]; WINDOW *wnd; int CMDLINE; -char hostbuf[26]; char timebuf[26]; char uloadbuf[TIMEPOS]; @@ -107,11 +106,9 @@ print_header(void) getloadavg(avenrun, sizeof(avenrun) / sizeof(avenrun[0])); snprintf(uloadbuf, sizeof(uloadbuf), - "%5d users Load %.2f %.2f %.2f", + "%4d users Load %.2f %.2f %.2f", ucount(), avenrun[0], avenrun[1], avenrun[2]); - gethostname(hostbuf, sizeof hostbuf); - time(&now); ctim = ctime(&now); ctim[11+8] = '\0'; @@ -127,7 +124,8 @@ print_header(void) "%s %s", uloadbuf, paused ? "PAUSED" : ""); - snprintf(header, sizeof(header), "%-45s%25.25s %s", tmpbuf, hostbuf, timebuf); + snprintf(header, sizeof(header), "%-*s %19.19s %s", TIMEPOS - 1, + tmpbuf, hostname, timebuf); if (rawmode) printf("\n\n%s\n", header);