Files
blomarchy/bin/blob-default-terminal

38 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# blob:summary=Set the default terminal used by xdg-terminal-exec
# blob:args=[alacritty|foot|ghostty|kitty]
# blob:examples=blob default terminal ghostty | blob default terminal kitty
if (($# == 0)); then
desktop_id=$(xdg-terminal-exec --print-id 2>/dev/null || true)
desktop_id=${desktop_id%%:*}
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: blob-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
blob-notify-send -g $glyph "$name is now the default terminal"