978 {
979 assert(offset <= line_size);
980
981 int const last_view = boost::chrono::duration_cast<boost::chrono::seconds>(
982 it->last_view()
983 ).count();
984
985 int const size = snprintf(
986 &buffer.front(),
987 line_size,
988 "%-9d %-17s %-8s %-6u %7.2f, %7.2f, %7.2f kHz %4d sec ago %s %ld ms",
989 it->domid(),
990 it->mac_address().c_str(),
991 it->name().c_str(),
992 it->run_number(),
993 it->min() / 100.,
994 it->max() / 100.,
995 it->mean() / 100.,
996 last_view,
997 it->syncd() ? "*" : " ",
998 it->avg_delta_time());
999
1000 if (offset < std::min(line_size, size)) {
1001 if (highlight) {
1002 wattron(win, A_REVERSE);
1003 } else {
1004 wattroff(win, A_REVERSE);
1005 }
1006
1007 if (!it->syncd()) {
1008 wattron(win, NOSYNC);
1009 }
1010
1012 wattron(win, HIRATE);
1013 }
1014
1015 if (last_view > 2) {
1016 wattron(win, NODATA);
1017 }
1018
1019 wprintw(win, "%s", &buffer[offset]);
1020
1021 if (size > line_size) {
1022 wprintw(win, "$");
1023 }
1024 }
1025
1026 wattrset(win, GROUND);
1027}