If isatty is available, no colors/pager for non-ttys
This commit is contained in:
parent
52433e56e5
commit
2b2ffb7787
3 changed files with 24 additions and 3 deletions
|
|
@ -352,7 +352,7 @@ AC_STRUCT_TM
|
|||
#AC_FUNC_MKTIME
|
||||
#AC_FUNC_STAT
|
||||
#AC_FUNC_STRFTIME
|
||||
AC_CHECK_FUNCS([access realpath getpwuid getpwnam])
|
||||
AC_CHECK_FUNCS([access realpath getpwuid getpwnam isatty])
|
||||
|
||||
# Pepare the Makefiles
|
||||
AC_CONFIG_FILES([Makefile po/Makefile.in intl/Makefile])
|
||||
|
|
|
|||
|
|
@ -418,8 +418,14 @@ void global_scope_t::normalize_report_options(const string& verb)
|
|||
|
||||
report_t& rep(report());
|
||||
|
||||
if (! rep.HANDLED(no_color))
|
||||
#ifdef HAVE_ISATTY
|
||||
if (! rep.HANDLED(no_color) && isatty(STDOUT_FILENO))
|
||||
rep.HANDLER(color).on_only(string("?normalize"));
|
||||
if (rep.HANDLED(color) && ! isatty(STDOUT_FILENO))
|
||||
rep.HANDLER(color).off();
|
||||
if (rep.HANDLED(pager_) && ! isatty(STDOUT_FILENO))
|
||||
rep.HANDLER(pager_).off();
|
||||
#endif
|
||||
|
||||
// jww (2009-02-09): These globals are a hack, but hard to avoid.
|
||||
item_t::use_effective_date = (rep.HANDLED(effective) &&
|
||||
|
|
|
|||
17
src/report.h
17
src/report.h
|
|
@ -630,10 +630,11 @@ public:
|
|||
|
||||
OPTION(report_t, output_); // -o
|
||||
|
||||
#ifdef HAVE_ISATTY
|
||||
OPTION__
|
||||
(report_t, pager_,
|
||||
CTOR(report_t, pager_) {
|
||||
if (! std::getenv("PAGER")) {
|
||||
if (! std::getenv("PAGER") && isatty(STDOUT_FILENO)) {
|
||||
bool have_less = false;
|
||||
if (exists(path("/opt/local/bin/less")) ||
|
||||
exists(path("/usr/local/bin/less")) ||
|
||||
|
|
@ -654,6 +655,20 @@ public:
|
|||
else
|
||||
option_t<report_t>::on_with(whence, text);
|
||||
});
|
||||
#else // HAVE_ISATTY
|
||||
OPTION__
|
||||
(report_t, pager_,
|
||||
CTOR(report_t, pager_) {
|
||||
}
|
||||
virtual void on_with(const optional<string>& whence, const value_t& text) {
|
||||
string cmd(text.to_string());
|
||||
if (cmd == "" || cmd == "false" || cmd == "off" ||
|
||||
cmd == "none" || cmd == "no" || cmd == "disable")
|
||||
option_t<report_t>::off();
|
||||
else
|
||||
option_t<report_t>::on_with(whence, text);
|
||||
});
|
||||
#endif // HAVE_ISATTY
|
||||
|
||||
OPTION(report_t, payee_as_account);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue