mirror of
https://github.com/Snigdha-OS/snigdhaos-system-config.git
synced 2025-09-19 11:04:57 +02:00
43 lines
1.3 KiB
Bash
43 lines
1.3 KiB
Bash
#!/usr/bin/bash
|
|
set -e
|
|
|
|
EXEC_TERMINAL=bash
|
|
|
|
usage() {
|
|
echo "Usage: ${0##*/} [cmd]"
|
|
echo ' -s [shell] Change shell to [shell]'
|
|
echo ' -h This help'
|
|
exit 1
|
|
}
|
|
|
|
opts='s:h'
|
|
|
|
while getopts "${opts}" arg; do
|
|
case "${arg}" in
|
|
s) EXEC_TERMINAL="$OPTARG" ;;
|
|
h | ?) usage 0 ;;
|
|
*)
|
|
echo "Invalid Argument '${arg}'!"
|
|
usage 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
shift $(($OPTIND - 1))
|
|
|
|
initfile="$(mktemp)"
|
|
codefile="$initfile"
|
|
echo "#!/usr/bin/env bash" >"$initfile"
|
|
if [ "$EXEC_TERMINAL" != "bash" ]; then
|
|
codefile="$(mktemp)"
|
|
echo "$EXEC_TERMINAL $codefile" >>"$initfile"
|
|
fi
|
|
echo "$1" >>"$codefile"
|
|
chmod +x "$initfile"
|
|
cmd="\"$initfile\""
|
|
|
|
terminal=""
|
|
declare -A terminals=(["alacritty"]="alacritty -e $cmd || LIBGL_ALWAYS_SOFTWARE=1 alacritty -e $cmd" ["konsole"]="konsole -e $cmd" ["kgx"]="kgx -- $cmd" ["gnome-terminal"]="gnome-terminal --wait -- $cmd" ["xfce4-terminal"]="xfce4-terminal --disable-server --command '$cmd'" ["qterminal"]="qterminal -e $cmd" ["lxterminal"]="lxterminal -e $cmd" ["mate-terminal"]="mate-terminal --disable-factory -e $cmd" ["xterm"]="xterm -e $cmd" ["foot"]="foot -T launch-terminal -e $cmd")
|
|
declare -a term_order=("alacritty" "konsole" "kgx" "gnome-terminal" "mate-terminal" "xfce4-terminal" "qterminal" "lxterminal" "xterm" "foot")
|
|
|