diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-10-04 11:12:23 +0000 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2012-10-04 11:12:23 +0000 |
commit | 57f7ae4f68cf9ac72213b9cfc87a362ef631b483 (patch) | |
tree | 7ef871c342e913561e84b94f688d4942c21303fd | |
parent | ad94ad63e31e4822d1cf5b0908be0f3111930ff9 (diff) |
systemctl: colorize number of units listed
-rw-r--r-- | src/systemctl/systemctl.c | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 6a42fea5ba..a4290c4754 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -186,6 +186,14 @@ static void polkit_agent_open_if_enabled(void) { } #endif +static const char *ansi_highlight(bool b) { + + if (!on_tty()) + return ""; + + return b ? ANSI_HIGHLIGHT_ON : ANSI_HIGHLIGHT_OFF; +} + static const char *ansi_highlight_red(bool b) { if (!on_tty()) @@ -420,18 +428,28 @@ static void output_units_list(const struct unit_info *unit_infos, unsigned c) { } if (!arg_no_legend) { - if (n_shown) + const char *on, *off; + + if (n_shown) { printf("\nLOAD = Reflects whether the unit definition was properly loaded.\n" "ACTIVE = The high-level unit activation state, i.e. generalization of SUB.\n" "SUB = The low-level unit activation state, values depend on unit type.\n" "JOB = Pending job for the unit.\n\n"); + on = ansi_highlight(true); + off = ansi_highlight(false); + } else { + on = ansi_highlight_red(true); + off = ansi_highlight_red(false); + } if (arg_all) - printf("%u loaded units listed.\n" - "To show all installed unit files use 'systemctl list-unit-files'.\n", n_shown); + printf("%s%u loaded units listed.%s\n" + "To show all installed unit files use 'systemctl list-unit-files'.\n", + on, n_shown, off); else - printf("%u loaded units listed. Pass --all to see loaded but inactive units, too.\n" - "To show all installed unit files use 'systemctl list-unit-files'.\n", n_shown); + printf("%s%u loaded units listed.%s Pass --all to see loaded but inactive units, too.\n" + "To show all installed unit files use 'systemctl list-unit-files'.\n", + on, n_shown, off); } } |