Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Input/output error (5)
</programlisting>
- <para>The dot ("●") uses color on supported terminals to summarize the unit state at a glance. White
- indicates an <literal>inactive</literal> or <literal>deactivating</literal> state. Red indicates a
- <literal>failed</literal> or <literal>error</literal> state and green indicates an
- <literal>active</literal>, <literal>reloading</literal> or <literal>activating</literal> state.
+ <para>The dot ("●") uses color on supported terminals to summarize the unit state at a glance. Along with
+ its color, its shape varies according to its state: <literal>inactive</literal> or
+ <literal>maintenance</literal> is a white circle ("○"), <literal>active</literal> is a green dot ("●"),
+ <literal>deactivating</literal> is a white dot, <literal>failed</literal> or <literal>error</literal> is
+ a red cross ("×"), and <literal>reloading</literal> is a green clockwise circle arrow ("↻").
</para>
<para>The "Loaded:" line in the output will show <literal>loaded</literal> if the unit has been loaded into
[SPECIAL_GLYPH_TREE_SPACE] = " ",
[SPECIAL_GLYPH_TRIANGULAR_BULLET] = ">",
[SPECIAL_GLYPH_BLACK_CIRCLE] = "*",
+ [SPECIAL_GLYPH_WHITE_CIRCLE] = "*",
+ [SPECIAL_GLYPH_MULTIPLICATION_SIGN] = "x",
+ [SPECIAL_GLYPH_CIRCLE_ARROW] = "*",
[SPECIAL_GLYPH_BULLET] = "*",
[SPECIAL_GLYPH_MU] = "u",
[SPECIAL_GLYPH_CHECK_MARK] = "+",
/* Single glyphs in both cases */
[SPECIAL_GLYPH_TRIANGULAR_BULLET] = "\342\200\243", /* ‣ */
[SPECIAL_GLYPH_BLACK_CIRCLE] = "\342\227\217", /* ● */
+ [SPECIAL_GLYPH_WHITE_CIRCLE] = "\u25CB", /* ○ */
+ [SPECIAL_GLYPH_MULTIPLICATION_SIGN] = "\u00D7", /* × */
+ [SPECIAL_GLYPH_CIRCLE_ARROW] = "\u21BB", /* ↻ */
[SPECIAL_GLYPH_BULLET] = "\342\200\242", /* • */
[SPECIAL_GLYPH_MU] = "\316\274", /* μ (actually called: GREEK SMALL LETTER MU) */
[SPECIAL_GLYPH_CHECK_MARK] = "\342\234\223", /* ✓ */
SPECIAL_GLYPH_TREE_SPACE,
SPECIAL_GLYPH_TRIANGULAR_BULLET,
SPECIAL_GLYPH_BLACK_CIRCLE,
+ SPECIAL_GLYPH_WHITE_CIRCLE,
+ SPECIAL_GLYPH_MULTIPLICATION_SIGN,
+ SPECIAL_GLYPH_CIRCLE_ARROW,
SPECIAL_GLYPH_BULLET,
SPECIAL_GLYPH_MU,
SPECIAL_GLYPH_CHECK_MARK,
};
DEFINE_STRING_TABLE_LOOKUP(notify_access, NotifyAccess);
+
+SpecialGlyph unit_active_state_to_glyph(UnitActiveState state) {
+ switch (state) {
+ case UNIT_ACTIVE:
+ return SPECIAL_GLYPH_BLACK_CIRCLE;
+ case UNIT_RELOADING:
+ return SPECIAL_GLYPH_CIRCLE_ARROW;
+ case UNIT_INACTIVE:
+ return SPECIAL_GLYPH_WHITE_CIRCLE;
+ case UNIT_FAILED:
+ return SPECIAL_GLYPH_MULTIPLICATION_SIGN;
+ case UNIT_ACTIVATING:
+ case UNIT_DEACTIVATING:
+ return SPECIAL_GLYPH_BLACK_CIRCLE;
+ case UNIT_MAINTENANCE:
+ return SPECIAL_GLYPH_WHITE_CIRCLE;
+
+ default:
+ return SPECIAL_GLYPH_BLACK_CIRCLE;
+ }
+}
#include <stdbool.h>
+#include "locale-util.h"
#include "macro.h"
/* The enum order is used to order unit jobs in the job queue
const char* notify_access_to_string(NotifyAccess i) _const_;
NotifyAccess notify_access_from_string(const char *s) _pure_;
+
+SpecialGlyph unit_active_state_to_glyph(UnitActiveState state);
break;
}
- printf("%s%s%s ", on, special_glyph(SPECIAL_GLYPH_BLACK_CIRCLE), ansi_normal());
+ printf("%s%s%s ", on, special_glyph(unit_active_state_to_glyph(active_state)), ansi_normal());
}
r = list_dependencies_print(*c, level, branches, c[1] == NULL);
format_active_state(i->active_state, &active_on, &active_off);
- printf("%s%s%s %s", active_on, special_glyph(SPECIAL_GLYPH_BLACK_CIRCLE), active_off, strna(i->id));
+ const SpecialGlyph glyph = unit_active_state_to_glyph(unit_active_state_from_string(i->active_state));
+
+ printf("%s%s%s %s", active_on, special_glyph(glyph), active_off, strna(i->id));
if (i->description && !streq_ptr(i->id, i->description))
printf(" - %s", i->description);
printf("%s %s%s%s %s\n",
t == i->triggered_by ? "TriggeredBy:" : " ",
- on, special_glyph(SPECIAL_GLYPH_BLACK_CIRCLE), off,
+ on, special_glyph(unit_active_state_to_glyph(state)), off,
*t);
}
dump_glyph(SPECIAL_GLYPH_TREE_SPACE);
dump_glyph(SPECIAL_GLYPH_TRIANGULAR_BULLET);
dump_glyph(SPECIAL_GLYPH_BLACK_CIRCLE);
+ dump_glyph(SPECIAL_GLYPH_WHITE_CIRCLE);
+ dump_glyph(SPECIAL_GLYPH_MULTIPLICATION_SIGN);
+ dump_glyph(SPECIAL_GLYPH_CIRCLE_ARROW);
dump_glyph(SPECIAL_GLYPH_BULLET);
dump_glyph(SPECIAL_GLYPH_ARROW);
dump_glyph(SPECIAL_GLYPH_ELLIPSIS);