Adapt help to terminal size
If the error stream is a terminal, and we can retrieve the terminal size, wrap the help content according to the terminal width.
This commit is contained in:
parent
38332f683c
commit
7a733328bc
1 changed files with 18 additions and 1 deletions
|
@ -11,6 +11,7 @@
|
|||
#include "util/log.h"
|
||||
#include "util/strbuf.h"
|
||||
#include "util/str_util.h"
|
||||
#include "util/term.h"
|
||||
|
||||
#define STR_IMPL_(x) #x
|
||||
#define STR(x) STR_IMPL_(x)
|
||||
|
@ -740,7 +741,23 @@ print_shortcut(const struct sc_shortcut *shortcut, unsigned cols) {
|
|||
|
||||
void
|
||||
scrcpy_print_usage(const char *arg0) {
|
||||
const unsigned cols = 80; // For now, use a hardcoded value
|
||||
#define SC_TERM_COLS_DEFAULT 80
|
||||
unsigned cols;
|
||||
|
||||
if (!isatty(STDERR_FILENO)) {
|
||||
// Not a tty
|
||||
cols = SC_TERM_COLS_DEFAULT;
|
||||
} else {
|
||||
bool ok = sc_term_get_size(NULL, &cols);
|
||||
if (!ok) {
|
||||
// Could not get the terminal size
|
||||
cols = SC_TERM_COLS_DEFAULT;
|
||||
}
|
||||
if (cols < 20) {
|
||||
// Do not accept a too small value
|
||||
cols = 20;
|
||||
}
|
||||
}
|
||||
|
||||
fprintf(stderr, "Usage: %s [options]\n\n"
|
||||
"Options:\n", arg0);
|
||||
|
|
Loading…
Reference in a new issue