#!/bin/bash

# omarchy:summary=Set the default terminal used by xdg-terminal-exec
# omarchy:args=[alacritty|foot|ghostty|kitty]
# omarchy:examples=omarchy default terminal ghostty | omarchy default terminal kitty

if (($# == 0)); then
  desktop_id=$(grep -vE '^($|#)' ~/.config/xdg-terminals.list 2>/dev/null | head -n 1)
  case "$desktop_id" in
  Alacritty.desktop) echo "alacritty" ;;
  foot.desktop) echo "foot" ;;
  com.mitchellh.ghostty.desktop) echo "ghostty" ;;
  kitty.desktop) echo "kitty" ;;
  *) echo "$desktop_id" ;;
  esac
  exit 0
fi

case "$1" in
alacritty) desktop_id="Alacritty.desktop"; name="Alacritty"; glyph= ;;
foot) desktop_id="foot.desktop"; name="Foot"; glyph= ;;
ghostty) desktop_id="com.mitchellh.ghostty.desktop"; name="Ghostty"; glyph= ;;
kitty) desktop_id="kitty.desktop"; name="Kitty"; glyph= ;;
*)
  echo "Usage: omarchy-default-terminal <alacritty|foot|ghostty|kitty>"
  exit 1
  ;;
esac

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

omarchy-notification-send -g $glyph "$name is now the default terminal"
