mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Solves the issue from ae10133b5e the right
way using the actual xdg-terminal-exec package and provides resillient
fallbacks no matter what the user might do.
This also removes the need to restart after changing terminals at all.
fixes #2198
fixes #2329
fixes #2673
fixes #1754
48 lines
1.1 KiB
Bash
Executable File
48 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if (($# == 0)); then
|
|
echo "Usage: omarchy-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 omarchy-pkg-add $package; then
|
|
# Set as default terminal
|
|
echo "Setting $package as new default terminal..."
|
|
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
|
|
|
|
# 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
|