top: add visual clue when focus toggle ('F') is active

When in forest view mode, that focus toggle ('F') is a
useful tool occasionally. But, if a focused parent has
enough cloned siblings to exceed screen rows, it could
be hard to remember that such a toggle remains active.

So, this patch will provide a subtle visual clue added
to the leftmost position in the COMMAND column. Now if
the focus toggle was active, regardless of total tasks
affected, the users will always know when it's active.

Reference(s):
. -7/24/21, introduced new focus toggle
commit 3e922e671d
. 09/23/21, ensure focused tasks stay focused
commit 69978e3650

Signed-off-by: Jim Warner <james.warner@comcast.net>
This commit is contained in:
Jim Warner 2022-01-14 14:14:14 -06:00 committed by Craig Small
parent 99c1f0578f
commit 1387c7f84b
2 changed files with 10 additions and 1 deletions

View File

@ -4685,8 +4685,16 @@ static inline const char *forest_display (const WIN_t *q, int idx) {
#endif
return buf;
}
if (level > 100) snprintf(buf, sizeof(buf), "%400s%s", " + ", which);
if (level > 100) {
snprintf(buf, sizeof(buf), "%400s%s", " + ", which);
return buf;
}
#ifndef FOCUS_VIZOFF
if (q->focus_pid) snprintf(buf, sizeof(buf), "|%*s%s", ((4 * level) - 1), "`- ", which);
else snprintf(buf, sizeof(buf), "%*s%s", (4 * level), " `- ", which);
#else
snprintf(buf, sizeof(buf), "%*s%s", (4 * level), " `- ", which);
#endif
return buf;
#undef rSv
#undef rSv_Lvl

View File

@ -31,6 +31,7 @@
//#define EQUCOLHDRYES /* yes, equalize the column header lengths */
//#define FOCUS_HARD_Y /* 'F' will avoid topmost task distortions */
//#define FOCUS_TREE_X /* 'F' resets forest view indentation to 0 */
//#define FOCUS_VIZOFF /* 'F' doesn't provide the visual clue '|' */
//#define GETOPTFIX_NO /* do not address getopt_long deficiencies */
//#define INSP_JUSTNOT /* do not smooth unprintable right margins */
//#define INSP_OFFDEMO /* disable demo screens, issue msg instead */