diff --git a/dump1090.h b/dump1090.h index c00c513..bfdc848 100644 --- a/dump1090.h +++ b/dump1090.h @@ -343,6 +343,7 @@ struct _Modes { // Internal state uint32_t show_only; // Only show messages from this ICAO int interactive; // Interactive mode uint64_t interactive_display_ttl;// Interactive mode: TTL display + int interactive_display_size; // Size of TTL display int interactive_show_distance; // Show aircraft distance and bearing instead of lat/lon interactive_distance_unit_t interactive_distance_units; // Units for interactive distance display char *interactive_callsign_filter; // Filter for interactive display callsigns diff --git a/interactive.c b/interactive.c index 9b55ff3..fae77ac 100644 --- a/interactive.c +++ b/interactive.c @@ -264,12 +264,12 @@ void interactiveShowData(void) { signalMean += signalDisplay; if (row < rows) { - mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %2.0f", + mvprintw(row, 0, "%s%06X %-4s %-4s %-8s %6s %3s %3s %7s %8s %5.1f %5d %*.0f", (a->addr & MODES_NON_ICAO_ADDRESS) ? "~" : " ", (a->addr & 0xffffff), strMode, strSquawk, a->callsign, strFl, strGs, strTt, Modes.interactive_show_distance ? strDistance : strLat, Modes.interactive_show_distance ? strBearing : strLon, - signalDisplay, msgs, (now - a->seen)/1000.0); + signalDisplay, msgs, Modes.interactive_display_size, (now - a->seen)/1000.0); if (signalDisplay >= signalMax) { rowMaxRSSI = row; diff --git a/view1090.c b/view1090.c index 1912590..0c9a097 100644 --- a/view1090.c +++ b/view1090.c @@ -172,6 +172,7 @@ int main(int argc, char **argv) { Modes.interactive = 0; } else if (!strcmp(argv[j],"--interactive-ttl") && more) { Modes.interactive_display_ttl = (uint64_t)(1000 * atof(argv[++j])); + Modes.interactive_display_size = strlen(argv[j]); } else if (!strcmp(argv[j], "--interactive-show-distance")) { Modes.interactive_show_distance = 1; } else if (!strcmp(argv[j], "--interactive-distance-units") && more) {