clean TUI core

- Stripped forced-scrollbar hack from _menu and _checklist
- Eliminated TUI_ANCHO_REFORZADO overflow across 9 files
- Removed redundant _inst() function globally
- Added dynamic list height calculation for checklists
- Introduced Desktop & Display menu (Option 12)
- Fixed non-free-firmware false positive in repo detection
- Restored terminal transparency for apt/vainfo output"
This commit is contained in:
stornic56
2026-07-11 22:05:35 -05:00
committed by GitHub
parent 2ebb33460c
commit f043c130a8
27 changed files with 454 additions and 331 deletions
+9 -7
View File
@@ -13,17 +13,19 @@ _cat_cursors() {
local xcursor_state; xcursor_state=$(_state "xcursor-themes")
local oxygen_state; oxygen_state=$(_state "oxygencursors")
items+=(
"bibata-cursor-theme" "Bibata cursors$(_inst bibata-cursor-theme)" "$bibata_state"
"breeze-cursor-theme" "Breeze cursors (KDE)$(_inst breeze-cursor-theme)" "$breeze_state"
"chameleon-cursor-theme" "Chameleon cursors$(_inst chameleon-cursor-theme)" "$chameleon_state"
"dmz-cursor-theme" "DMZ cursors$(_inst dmz-cursor-theme)" "$dmz_state"
"xcursor-themes" "X11 base cursors$(_inst xcursor-themes)" "$xcursor_state"
"oxygencursors" "Oxygen cursors (KDE legacy)$(_inst oxygencursors)" "$oxygen_state"
"bibata-cursor-theme" "Bibata cursors" "$bibata_state"
"breeze-cursor-theme" "Breeze cursors (KDE)" "$breeze_state"
"chameleon-cursor-theme" "Chameleon cursors" "$chameleon_state"
"dmz-cursor-theme" "DMZ cursors" "$dmz_state"
"xcursor-themes" "X11 base cursors" "$xcursor_state"
"oxygencursors" "Oxygen cursors (KDE legacy)" "$oxygen_state"
)
fi
local item_count=${#items[@]}
local lista_alto=$((item_count > TUI_ALTO_LISTA ? TUI_ALTO_LISTA : item_count))
local choices
choices=$(_checklist "Cursor Themes" "Select cursor themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
choices=$(_checklist "Cursor Themes" "Select cursor themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $lista_alto \
"${items[@]}" \
)
clear
@@ -14,18 +14,20 @@ _cat_themes() {
local numix_gtk_state; numix_gtk_state=$(_state "numix-gtk-theme")
local orchis_state; orchis_state=$(_state "orchis-gtk-theme")
items+=(
"arc-theme" "Arc GTK theme$(_inst arc-theme)" "$arc_state"
"blackbird-gtk-theme" "Blackbird GTK theme$(_inst blackbird-gtk-theme)" "$blackbird_state"
"bluebird-gtk-theme" "Bluebird GTK theme$(_inst bluebird-gtk-theme)" "$bluebird_state"
"breeze-gtk-theme" "Breeze GTK theme (KDE port)$(_inst breeze-gtk-theme)" "$breeze_gtk_state"
"greybird-gtk-theme" "Greybird GTK theme$(_inst greybird-gtk-theme)" "$greybird_state"
"numix-gtk-theme" "Numix GTK theme$(_inst numix-gtk-theme)" "$numix_gtk_state"
"orchis-gtk-theme" "Orchis GTK theme$(_inst orchis-gtk-theme)" "$orchis_state"
"arc-theme" "Arc GTK theme" "$arc_state"
"blackbird-gtk-theme" "Blackbird GTK theme" "$blackbird_state"
"bluebird-gtk-theme" "Bluebird GTK theme" "$bluebird_state"
"breeze-gtk-theme" "Breeze GTK theme (KDE port)" "$breeze_gtk_state"
"greybird-gtk-theme" "Greybird GTK theme" "$greybird_state"
"numix-gtk-theme" "Numix GTK theme" "$numix_gtk_state"
"orchis-gtk-theme" "Orchis GTK theme" "$orchis_state"
)
fi
local item_count=${#items[@]}
local lista_alto=$((item_count > TUI_ALTO_LISTA ? TUI_ALTO_LISTA : item_count))
local choices
choices=$(_checklist "Desktop Themes (GTK/KDE)" "Select desktop themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
choices=$(_checklist "Desktop Themes (GTK/KDE)" "Select desktop themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $lista_alto \
"${items[@]}" \
)
clear
+11 -9
View File
@@ -15,19 +15,21 @@ _cat_fonts() {
local ubuntu_state; ubuntu_state=$(_state "fonts-ubuntu")
local recommended_state; recommended_state=$(_state "fonts-recommended")
items+=(
"fonts-bebas-neue" "Bebas Neue (display)$(_inst fonts-bebas-neue)" "$bebas_state"
"fonts-anonymous-pro" "Anonymous Pro (monospace)$(_inst fonts-anonymous-pro)" "$anon_state"
"fonts-adf-verana" "ADF Verana (sans-serif)$(_inst fonts-adf-verana)" "$verana_state"
"fonts-3270" "IBM 3270 terminal font$(_inst fonts-3270)" "$f3270_state"
"fonts-liberation" "Liberation (MS-compatible)$(_inst fonts-liberation)" "$liberation_state"
"ttf-mscorefonts-installer" "Microsoft fonts (EULA required)$(_inst ttf-mscorefonts-installer)" "$mscore_state"
"fonts-ubuntu" "Ubuntu font family$(_inst fonts-ubuntu)" "$ubuntu_state"
"fonts-recommended" "Debian recommended fonts$(_inst fonts-recommended)" "$recommended_state"
"fonts-bebas-neue" "Bebas Neue (display)" "$bebas_state"
"fonts-anonymous-pro" "Anonymous Pro (monospace)" "$anon_state"
"fonts-adf-verana" "ADF Verana (sans-serif)" "$verana_state"
"fonts-3270" "IBM 3270 terminal font" "$f3270_state"
"fonts-liberation" "Liberation (MS-compatible)" "$liberation_state"
"ttf-mscorefonts-installer" "Microsoft fonts (EULA required)" "$mscore_state"
"fonts-ubuntu" "Ubuntu font family" "$ubuntu_state"
"fonts-recommended" "Debian recommended fonts" "$recommended_state"
)
fi
local item_count=${#items[@]}
local lista_alto=$((item_count > TUI_ALTO_LISTA ? TUI_ALTO_LISTA : item_count))
local choices
choices=$(_checklist "Fonts" "Select fonts to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
choices=$(_checklist "Fonts" "Select fonts to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $lista_alto \
"${items[@]}" \
)
clear
+15 -13
View File
@@ -24,25 +24,27 @@ _cat_icons() {
fi
items=(
"breeze-icon-theme" "Breeze icon theme$(_inst breeze-icon-theme)" "$breeze_state"
"deepin-icon-theme" "Deepin icon theme$(_inst deepin-icon-theme)" "$deepin_state"
"elementary-icon-theme" "Elementary icon theme$(_inst elementary-icon-theme)" "$ele_state"
"elementary-xfce-icon-theme" "Elementary Xfce icons$(_inst elementary-xfce-icon-theme)" "$ele_xfce_state"
"moka-icon-theme" "Moka icon theme$(_inst moka-icon-theme)" "$moka_state"
"numix-icon-theme" "Numix icon theme$(_inst numix-icon-theme)" "$numix_state"
"numix-icon-theme-circle" "Numix Circle icon theme$(_inst numix-icon-theme-circle)" "$numix_c_state"
"obsidian-icon-theme" "Obsidian icon theme$(_inst obsidian-icon-theme)" "$obsidian_state"
"papirus-icon-theme" "Papirus icon theme$(_inst papirus-icon-theme)" "$papirus_state"
"paper-icon-theme" "Paper icon theme$(_inst paper-icon-theme)" "$paper_state"
"suru-icon-theme" "Suru icon theme$(_inst suru-icon-theme)" "$suru_state"
"breeze-icon-theme" "Breeze icon theme" "$breeze_state"
"deepin-icon-theme" "Deepin icon theme" "$deepin_state"
"elementary-icon-theme" "Elementary icon theme" "$ele_state"
"elementary-xfce-icon-theme" "Elementary Xfce icons" "$ele_xfce_state"
"moka-icon-theme" "Moka icon theme" "$moka_state"
"numix-icon-theme" "Numix icon theme" "$numix_state"
"numix-icon-theme-circle" "Numix Circle icon theme" "$numix_c_state"
"obsidian-icon-theme" "Obsidian icon theme" "$obsidian_state"
"papirus-icon-theme" "Papirus icon theme" "$papirus_state"
"paper-icon-theme" "Paper icon theme" "$paper_state"
"suru-icon-theme" "Suru icon theme" "$suru_state"
)
if [ "$DEBIAN_CODENAME" = "trixie" ]; then
items+=("kf6-breeze-icon-theme" "KF6 Breeze icon theme$(_inst kf6-breeze-icon-theme)" "$kf6_state")
items+=("kf6-breeze-icon-theme" "KF6 Breeze icon theme" "$kf6_state")
fi
fi
local item_count=${#items[@]}
local lista_alto=$((item_count > TUI_ALTO_LISTA ? TUI_ALTO_LISTA : item_count))
local choices
choices=$(_checklist "Icon Themes" "Select icon themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
choices=$(_checklist "Icon Themes" "Select icon themes to install${SCROLL_HINT}:" $TUI_ALTO $TUI_ANCHO $lista_alto \
"${items[@]}" \
)
clear
+1 -2
View File
@@ -2,9 +2,8 @@
# themes.sh — Customization submenu dispatcher
_cat_customization() {
local TUI_ANCHO_REFORZADO=$((TUI_ANCHO + 6))
local sub
sub=$(_menu "Customization System" "Select type:" $TUI_ALTO $TUI_ANCHO_REFORZADO $TUI_ALTO_LISTA \
sub=$(_menu "Customization System" "Select type:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
"1" "Desktop Themes (GTK/KDE)" \
"2" "Icon Themes" \
"3" "Cursor Themes" \