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:
@@ -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 |
|
| `gnome` | `gnome-desktop`, `gnome-desktop-environment`, `workstation-product-environment` | gdm |
|
||||||
| `plasma` | `kde-desktop`, `kde-desktop-environment` | sddm |
|
| `plasma` | `kde-desktop`, `kde-desktop-environment` | sddm |
|
||||||
| `xfce` | `xfce-desktop`, `xfce-desktop-environment` | lightdm |
|
| `xfce` | `xfce-desktop`, `xfce-desktop-environment` | sddm |
|
||||||
|
|
||||||
### Tiling window managers
|
### Tiling window managers
|
||||||
|
|
||||||
@@ -78,7 +78,7 @@ compositors — do not expect the same config story from it.
|
|||||||
## Display manager policy
|
## Display manager policy
|
||||||
|
|
||||||
* A **DE module** leaves the DE's own greeter alone (GNOME→gdm, Plasma→sddm,
|
* 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
|
* A **TWM module** enforces **SDDM**, because it is the only greeter that lists
|
||||||
Wayland compositors *and* X11 sessions in one menu.
|
Wayland compositors *and* X11 sessions in one menu.
|
||||||
* Either way `graphical.target` becomes the default.
|
* Either way `graphical.target` becomes the default.
|
||||||
|
|||||||
+1
-1
@@ -3,7 +3,7 @@
|
|||||||
# lib/session.sh — display manager and graphical session wiring
|
# lib/session.sh — display manager and graphical session wiring
|
||||||
#
|
#
|
||||||
# DM policy:
|
# 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
|
# * 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.
|
# Wayland compositors and X11 sessions in one menu. One greeter, no surprises.
|
||||||
#------------------------------------------
|
#------------------------------------------
|
||||||
|
|||||||
+4
-4
@@ -24,11 +24,11 @@ fi
|
|||||||
# provider for chadwm.
|
# provider for chadwm.
|
||||||
install_packages xorg-x11-server-Xorg xorg-x11-xinit
|
install_packages xorg-x11-server-Xorg xorg-x11-xinit
|
||||||
|
|
||||||
# XFCE's native greeter is lightdm
|
# XFCE runs fine under SDDM too — unify on SDDM so every session has one greeter
|
||||||
if ! pkg_installed lightdm; then
|
if ! pkg_installed sddm; then
|
||||||
install_packages lightdm
|
install_packages sddm
|
||||||
fi
|
fi
|
||||||
switch_display_manager lightdm
|
switch_display_manager sddm
|
||||||
|
|
||||||
install_nerd_font JetBrainsMono
|
install_nerd_font JetBrainsMono
|
||||||
install_packages alacritty dconf
|
install_packages alacritty dconf
|
||||||
|
|||||||
@@ -210,10 +210,10 @@ if [[ -z "$DE" ]]; then
|
|||||||
printf "\n"
|
printf "\n"
|
||||||
echo " 1) GNOME (gdm)"
|
echo " 1) GNOME (gdm)"
|
||||||
echo " 2) Plasma (sddm)"
|
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)"
|
echo " 4) None (TWM only — SDDM will be installed by the TWM module)"
|
||||||
printf "\n"
|
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
|
case "$choice" in
|
||||||
1) DE="gnome" ;;
|
1) DE="gnome" ;;
|
||||||
2) DE="plasma" ;;
|
2) DE="plasma" ;;
|
||||||
@@ -241,7 +241,7 @@ if [[ -z "$TWM" ]]; then
|
|||||||
echo " 4) chadwm (X11, dwm fork, built from source)"
|
echo " 4) chadwm (X11, dwm fork, built from source)"
|
||||||
echo " 5) None"
|
echo " 5) None"
|
||||||
printf "\n"
|
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
|
case "$choice" in
|
||||||
1) TWM="niri" ;;
|
1) TWM="niri" ;;
|
||||||
2) TWM="hyprland" ;;
|
2) TWM="hyprland" ;;
|
||||||
|
|||||||
Reference in New Issue
Block a user