From 9bc2e6c510fb809fed4036c58172e5f3cc59fe5f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 10 Aug 2026 16:33:32 +0000 Subject: [PATCH] Move the column header out of the checklist into the non-selectable instruction text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Requested: no checkbox on the header row at all, not just a harmless one. The previous fake-row header still drew a real [ ] like every other row — whiptail has no way to suppress that per-row, there's no such thing as a non-selectable list item in a --checklist. The instructional text above the list has no checkbox rendering at all though, since it isn't a list item — moved the header there instead: "installed" / "# of installs" / "service", spelled out per this session's request instead of the terse "x"/"#". Spelled-out words can't line up character-for-character under the 1-2-char data columns below and stay readable, so the leading spaces are a best-effort approximation, not exact alignment. Adjusted the box-height overhead constant (+8 -> +9) since the instruction text is now two lines instead of one, and dropped the now-unnecessary sentinel-row filtering from the selection-handling code. --- setup.sh | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/setup.sh b/setup.sh index 7fc1a69..339d9a5 100755 --- a/setup.sh +++ b/setup.sh @@ -415,13 +415,14 @@ while true; do # taller than the screen. _term_lines="$(tput lines 2>/dev/null silently - # correct even if someone does check it out of habit. - svc_items+=("$(printf "%s %s %s" "x" "$(printf '%-2s' '#')" "NAME")" "── service ──" "OFF") for name in "${SVCS[@]}"; do _inst_mark=" " _count_str=" " @@ -462,15 +458,13 @@ while true; do svc_items+=("$svc_tag" "${SERVICE_DESC[$name]}" "OFF") done CHOICE=$(whiptail --title "${CHOSEN_CAT^^}" --checklist \ - "Space=select to install, Enter=go. Top row shows the x/# column meaning:" "$_box_h" "$_box_w" "$_list_h" \ + " installed # of installs service +Space=select to install, Enter=go:" "$_box_h" "$_box_w" "$_list_h" \ "${svc_items[@]}" 3>&1 1>&2 2>&3