#!/bin/bash
# Activa o NumLock por defecto (pantalla de inicio SDDM + sesión KDE/X11)
# Equivalente local do playbook de Ansible da aula.
# Uso: sudo bash activar-numlock.sh

set -e

if [ "$(id -u)" -ne 0 ]; then
    echo "Este script debe executarse como root: sudo bash $0" >&2
    exit 1
fi

echo "[1/4] Instalando numlockx..."
apt-get update -qq
apt-get install -y numlockx

echo "[2/4] Configurando SDDM (pantalla de inicio)..."
install -d -m 0755 /etc/sddm.conf.d
cat > /etc/sddm.conf.d/numlock.conf <<'EOF'
[General]
Numlock=on
EOF
chmod 0644 /etc/sddm.conf.d/numlock.conf

echo "[3/4] Creando autostart global (numlockx on ao iniciar sesión)..."
cat > /etc/xdg/autostart/numlockx.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=Activar NumLock Aula
Exec=numlockx on
Icon=keyboard
NoDisplay=true
X-GNOME-Autostart-enabled=true
X-KDE-autostart-after=panel
EOF
chmod 0644 /etc/xdg/autostart/numlockx.desktop

echo "[4/4] Valor por defecto de KDE Plasma (tamén funciona en Wayland)..."
# NumLock=0 -> activado ao iniciar Plasma (1 = desactivado, 2 = sen cambios)
if [ -f /etc/xdg/kcminputrc ] && grep -q '^\[Keyboard\]' /etc/xdg/kcminputrc; then
    sed -i '/^\[Keyboard\]/,/^\[/{/^NumLock=/d}' /etc/xdg/kcminputrc
    sed -i '/^\[Keyboard\]/a NumLock=0' /etc/xdg/kcminputrc
else
    printf '\n[Keyboard]\nNumLock=0\n' >> /etc/xdg/kcminputrc
fi

# Activalo xa na sesión actual, se hai unha sesión X aberta
if [ -n "$SUDO_USER" ] && [ -n "$DISPLAY" ]; then
    sudo -u "$SUDO_USER" DISPLAY="$DISPLAY" numlockx on 2>/dev/null || true
fi

echo "Feito: NumLock configurado en $(hostname). Pecha sesión ou reinicia para comprobalo."
