#!/bin/bash
# AXEM-SX Pro Session Launcher
# Usage: axem-sx-pro-session [default|classic]
#
# This script selects the correct Plasma layout and dock behaviour
# based on the chosen session, then launches Plasma Wayland.

SESSION_MODE="${1:-default}"
PLASMA_CONFIG_DIR="${HOME}/.config"

log() { echo "[AXEM-PRO-SESSION] $*"; }

# ── Layout selection ────────────────────────────────────────────
apply_layout() {
    local LAYOUT_SRC

    case "${SESSION_MODE}" in
        classic)
            LAYOUT_SRC="/usr/share/axem-sx-pro/classic-appletsrc"
            ;;
        *)
            LAYOUT_SRC="/usr/share/axem-sx-pro/default-appletsrc"
            ;;
    esac

    # Only seed if the user has no existing panel config yet
    # (first login or fresh user)
    if [ ! -f "${PLASMA_CONFIG_DIR}/plasma-org.kde.plasma.desktop-appletsrc" ]; then
        log "Seeding Plasma layout: ${SESSION_MODE}"
        cp "${LAYOUT_SRC}" "${PLASMA_CONFIG_DIR}/plasma-org.kde.plasma.desktop-appletsrc"
    fi
}

# ── Dock control ────────────────────────────────────────────────
configure_dock() {
    local AUTOSTART_DIR="${HOME}/.config/autostart"
    local DOCK_DESKTOP="axem-sx-dock.desktop"
    local SYSTEM_AUTOSTART="/etc/xdg/autostart/${DOCK_DESKTOP}"

    mkdir -p "${AUTOSTART_DIR}"

    case "${SESSION_MODE}" in
        classic)
            # Disable the dock in Classic session
            if [ -f "${SYSTEM_AUTOSTART}" ]; then
                cp "${SYSTEM_AUTOSTART}" "${AUTOSTART_DIR}/${DOCK_DESKTOP}"
                echo "Hidden=true" >> "${AUTOSTART_DIR}/${DOCK_DESKTOP}"
                log "Dock disabled for Classic session"
            fi
            ;;
        *)
            # Ensure dock runs in Default session (remove any override)
            rm -f "${AUTOSTART_DIR}/${DOCK_DESKTOP}" 2>/dev/null
            log "Dock enabled for Default session"
            ;;
    esac
}

# ── Main ────────────────────────────────────────────────────────
log "Starting AXEM-SX Pro — mode: ${SESSION_MODE}"
apply_layout
configure_dock
exec startplasma-wayland
