XFCE on SDDM; menu defaults to none for DE and TWM

- XFCE module installs/enables sddm instead of lightdm; one greeter across
  every session choice, no lightdm left anywhere.
- Interactive menus now default to 'none' for both DE and TWM (press Enter
  for no DE / no TWM). none+none is still refused by the existing guard.
- README and session.sh comments updated to match.
This commit is contained in:
Pathfinder
2026-10-27 11:06:50 +01:00
committed by yuri
parent c443e4edf3
commit 1cd8d26d01
4 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -61,7 +61,7 @@ Each module pulls in `lib/` by relative path, so it works both ways.
|---|---|---|
| `gnome` | `gnome-desktop`, `gnome-desktop-environment`, `workstation-product-environment` | gdm |
| `plasma` | `kde-desktop`, `kde-desktop-environment` | sddm |
| `xfce` | `xfce-desktop`, `xfce-desktop-environment` | lightdm |
| `xfce` | `xfce-desktop`, `xfce-desktop-environment` | sddm |
### Tiling window managers
@@ -78,7 +78,7 @@ compositors — do not expect the same config story from it.
## Display manager policy
* A **DE module** leaves the DE's own greeter alone (GNOME→gdm, Plasma→sddm,
XFCE→lightdm). It never fights a desktop over its own login screen.
XFCE→sddm). It never fights a desktop over its own login screen.
* A **TWM module** enforces **SDDM**, because it is the only greeter that lists
Wayland compositors *and* X11 sessions in one menu.
* Either way `graphical.target` becomes the default.
+1 -1
View File
@@ -3,7 +3,7 @@
# lib/session.sh — display manager and graphical session wiring
#
# DM policy:
# * A DE module leaves its native DM alone (GNOME→gdm, Plasma→sddm, XFCE→lightdm).
# * A DE module leaves its native DM alone (GNOME→gdm, Plasma→sddm, XFCE→sddm).
# * A TWM module enforces SDDM, because SDDM is the only DM that presents both
# Wayland compositors and X11 sessions in one menu. One greeter, no surprises.
#------------------------------------------
+4 -4
View File
@@ -24,11 +24,11 @@ fi
# provider for chadwm.
install_packages xorg-x11-server-Xorg xorg-x11-xinit
# XFCE's native greeter is lightdm
if ! pkg_installed lightdm; then
install_packages lightdm
# XFCE runs fine under SDDM too — unify on SDDM so every session has one greeter
if ! pkg_installed sddm; then
install_packages sddm
fi
switch_display_manager lightdm
switch_display_manager sddm
install_nerd_font JetBrainsMono
install_packages alacritty dconf
+3 -3
View File
@@ -210,10 +210,10 @@ if [[ -z "$DE" ]]; then
printf "\n"
echo " 1) GNOME (gdm)"
echo " 2) Plasma (sddm)"
echo " 3) XFCE (lightdm)"
echo " 3) XFCE (sddm)"
echo " 4) None (TWM only — SDDM will be installed by the TWM module)"
printf "\n"
choice=$(ask_choice "Select desktop environment [1/2/3/4]" "1" 1 2 3 4)
choice=$(ask_choice "Select desktop environment [1/2/3/4]" "4" 1 2 3 4)
case "$choice" in
1) DE="gnome" ;;
2) DE="plasma" ;;
@@ -241,7 +241,7 @@ if [[ -z "$TWM" ]]; then
echo " 4) chadwm (X11, dwm fork, built from source)"
echo " 5) None"
printf "\n"
choice=$(ask_choice "Select tiling window manager [1/2/3/4/5]" "1" 1 2 3 4 5)
choice=$(ask_choice "Select tiling window manager [1/2/3/4/5]" "5" 1 2 3 4 5)
case "$choice" in
1) TWM="niri" ;;
2) TWM="hyprland" ;;