summaryrefslogtreecommitdiff
path: root/dotfiles/common/.zsh/lib/-ftb-generate-header
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-01-26 17:36:38 -0600
committerCraig Jennings <c@cjennings.net>2026-01-26 17:36:38 -0600
commitdada2f255daaa2fb493ec8c7d47e2a8123aea494 (patch)
tree0c0eeb84bb7b6e66a2d7f41cdfd061b25f80cc14 /dotfiles/common/.zsh/lib/-ftb-generate-header
parentd50e5955837788fc69b4d5bc74cb574b859ed31a (diff)
refactor(dotfiles): rename system/ to common/ and remove unused configs
Rename dotfiles/system to dotfiles/common for clarity - indicates shared dotfiles used across all desktop environments (DWM, Hyprland). Removed config directories for uninstalled applications: - ghostty (using different terminal) - lf (using ranger instead) - mopidy (using mpd instead) - nitrogen (X11-only, obsolete for Wayland) - pychess (not installed) - JetBrains (not installed via archsetup) - youtube-dl (using yt-dlp with different config location) Kept audacious config for potential future use. Updated all references in archsetup, CLAUDE.md, todo.org, and validation.sh. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'dotfiles/common/.zsh/lib/-ftb-generate-header')
-rw-r--r--dotfiles/common/.zsh/lib/-ftb-generate-header35
1 files changed, 35 insertions, 0 deletions
diff --git a/dotfiles/common/.zsh/lib/-ftb-generate-header b/dotfiles/common/.zsh/lib/-ftb-generate-header
new file mode 100644
index 0000000..a54fee1
--- /dev/null
+++ b/dotfiles/common/.zsh/lib/-ftb-generate-header
@@ -0,0 +1,35 @@
+#!/hint/zsh
+
+typeset -ga _ftb_headers=()
+local i tmp group_colors
+local -i mlen=0 len=0
+
+if (( $#_ftb_groups == 1 )) && { ! -ftb-zstyle -m single-group "header" }; then
+ return
+fi
+
+# calculate the max column width
+for i in $_ftb_groups; do
+ (( $#i > mlen )) && mlen=$#i
+done
+mlen+=1
+
+-ftb-zstyle -a group-colors group_colors || group_colors=($_ftb_group_colors)
+
+for (( i=1; i<=$#_ftb_groups; i++ )); do
+ [[ $_ftb_groups[i] == "__hide__"* ]] && continue
+
+ if (( len + $#_ftb_groups[i] > COLUMNS - 5 )); then
+ _ftb_headers+=$tmp
+ tmp='' && len=0
+ fi
+ if (( len + mlen > COLUMNS - 5 )); then
+ # the last column doesn't need padding
+ _ftb_headers+=$tmp$group_colors[i]$_ftb_groups[i]$'\033[00m'
+ tmp='' && len=0
+ else
+ tmp+=$group_colors[i]${(r:$mlen:)_ftb_groups[i]}$'\033[00m'
+ len+=$mlen
+ fi
+done
+(( $#tmp )) && _ftb_headers+=$tmp