diff --git a/monitor/display.c b/monitor/display.c
index b11b71d..4e5693b 100644
--- a/monitor/display.c
+++ b/monitor/display.c
#include "display.h"
static pid_t pager_pid = 0;
+int default_pager_num_columns = FALLBACK_TERMINAL_WIDTH;
bool use_color(void)
{
return cached_use_color;
}
+void set_default_pager_num_columns(int num_columns)
+{
+ default_pager_num_columns = num_columns;
+}
+
int num_columns(void)
{
static int cached_num_columns = -1;
if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) < 0 ||
ws.ws_col == 0)
- cached_num_columns = FALLBACK_TERMINAL_WIDTH;
+ cached_num_columns = default_pager_num_columns;
else
cached_num_columns = ws.ws_col;
}
diff --git a/monitor/display.h b/monitor/display.h
index f3a614b..cba39ec 100644
--- a/monitor/display.h
+++ b/monitor/display.h
return mask;
}
+void set_default_pager_num_columns(int num_columns);
int num_columns(void);
void open_pager(void);
diff --git a/monitor/main.c b/monitor/main.c
index 0f5eb4a..969c881 100644
--- a/monitor/main.c
+++ b/monitor/main.c
#include "analyze.h"
#include "ellisys.h"
#include "control.h"
+#include "display.h"
static void signal_callback(int signum, void *user_data)
{
"\t Read data from RTT\n"
"\t-R --rtt [<address>],[<area>],[<name>]\n"
"\t RTT control block parameters\n"
+ "\t-C, --columns [width] Output width if not a terminal\n"
"\t-h, --help Show help options\n");
}
{ "no-pager", no_argument, NULL, 'P' },
{ "jlink", required_argument, NULL, 'J' },
{ "rtt", required_argument, NULL, 'R' },
+ { "columns", required_argument, NULL, 'C' },
{ "todo", no_argument, NULL, '#' },
{ "version", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
struct sockaddr_un addr;
opt = getopt_long(argc, argv,
- "r:w:a:s:p:i:d:B:V:MNtTSAE:PJ:R:vh",
+ "r:w:a:s:p:i:d:B:V:MNtTSAE:PJ:R:C:vh",
main_options, NULL);
if (opt < 0)
break;
case 'R':
rtt = optarg;
break;
+ case 'C':
+ set_default_pager_num_columns(atoi(optarg));
+ break;
case '#':
packet_todo();
lmp_todo();