Files
debianito-post-install/modules/desktops/desktop_lxde.sh
T
stornic56 2195db452a UI: convert LXDE/GNOME/KDE submenus to _menu style (XFCE parity)
Replace _radiolist with the _menu pattern used by xfce_menu:
while-true loop, fixed numbered items array, Back option that
breaks the loop, and direct case dispatch to the unchanged
installers. Navigation is now consistent across all four desktop
submenus (select an option, return to the parent menu, re-enter
without re-triggering a one-shot selection).

- bash -n OK, shellcheck 0 warnings, BATS 36/0
- _radiolist helper kept in utils.sh for compatibility (no callers)
2026-10-20 07:39:35 -05:00

46 lines
1.6 KiB
Bash

#!/usr/bin/env bash
# desktop_lxde.sh — LXDE desktop installer (extracted from
# desktop_display.sh for architectural symmetry with
# desktop_gnome.sh and desktop_kde.sh).
# License GPL v3
lxde_menu() {
while true; do
local -a lx_items=()
lx_items+=("1" "LXDE (Full Desktop)")
lx_items+=("2" "LXDE Core (Minimal Install)")
lx_items+=("3" "Back")
local choice
choice=$(_menu "LXDE" \
"Select an option:" $TUI_ALTO $TUI_ANCHO $TUI_ALTO_LISTA \
"${lx_items[@]}")
[ -z "$choice" ] && break
clear
case "$choice" in
1) _install_lxde_full ;;
2) _install_lxde_core ;;
3) break ;;
esac
done
}
_install_lxde_full() {
echo -e "${GREEN}Installing LXDE (Full) + LightDM...${NC}"
echo "lightdm shared/default-x-display-manager select lightdm" | sudo debconf-set-selections
_run_cmd "LXDE Full" "sudo apt install -y lxde lightdm" \
"Installing LXDE (Full Meta Package) + LightDM..."
sudo systemctl enable lightdm
echo -e "${GREEN}LXDE installed. LightDM enabled.${NC}"
_offer_pipewire_after_desktop
}
_install_lxde_core() {
echo -e "${GREEN}Installing LXDE Core + LightDM...${NC}"
echo "lightdm shared/default-x-display-manager select lightdm" | sudo debconf-set-selections
_run_cmd "LXDE Core" "sudo apt install -y lxde-core lightdm" \
"Installing LXDE Core (Minimal) + LightDM..."
sudo systemctl enable lightdm
echo -e "${GREEN}LXDE Core installed. LightDM enabled.${NC}"
_offer_pipewire_after_desktop
}