#!/bin/bash

# Install one of the approved terminals and set it as the default for Nomarchy (Super + Return etc).

if (($# == 0)); then
  echo "Usage: nomarchy-install-terminal [alacritty|ghostty|kitty]"
  exit 1
fi

package="$1"

# Map package name to desktop entry ID
case "$package" in
alacritty) desktop_id="Alacritty.desktop" ;;
ghostty) desktop_id="com.mitchellh.ghostty.desktop" ;;
kitty) desktop_id="kitty.desktop" ;;
*)
  echo "Unknown terminal: $package"
  exit 1
  ;;
esac

# Install package
if nomarchy-pkg-add $package; then
  # Copy custom desktop entry for alacritty with X-TerminalArg* keys
  if [[ $package == "alacritty" ]]; then
    mkdir -p ~/.local/share/applications
    cp $OMARCHY_PATH/applications/Alacritty.desktop ~/.local/share/applications/
  fi

  # Update xdg-terminals.list to prioritize the proper terminal
  cat >~/.config/xdg-terminals.list <<EOF
# Terminal emulator preference order for xdg-terminal-exec
# The first found and valid terminal will be used
$desktop_id
EOF
else
  echo "Failed to install $package"
fi
