FILE *out; /* output stream */
size_t ncols; /* number of columns */
size_t termwidth; /* terminal width */
+ size_t termreduce; /* reduce the original termwidth */
int is_term; /* is a tty? */
int flags;
int first_run;
extern struct tt *tt_new_table(int flags);
extern int tt_get_flags(struct tt *tb);
extern void tt_set_flags(struct tt *tb, int flags);
+extern void tt_set_termreduce(struct tt *tb, size_t re);
extern void tt_free_table(struct tt *tb);
extern void tt_remove_lines(struct tt *tb);
extern int tt_print_table(struct tt *tb);
tb->out = out;
}
+/*
+ * Reduce terminal size, the final table size will be
+ * termwidth - termreduce.
+ */
+void tt_set_termreduce(struct tt *tb, size_t re)
+{
+ if (!tb)
+ return;
+ tb->termreduce = re;
+}
+
size_t tb_get_nlines(struct tt *tb)
{
struct list_head *p;
tb->termwidth = get_terminal_width();
if (tb->termwidth <= 0)
tb->termwidth = 80;
+
+ tb->termwidth -= tb->termreduce;
}
line_sz = tb->termwidth;