2024-01-06 03:08:22 +00:00

74 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
## Copyright (C) 2012 - 2020 ENCRYPTED SUPPORT LP <adrelanos@riseup.net>
## See the file COPYING for copying conditions.
set -x
set -e
if [ -e "/etc/alternatives/x-terminal-emulator" ]; then
## Lets see where for example /etc/alternatives/aptitude links to.
if readlink_result="$(readlink "/etc/alternatives/x-terminal-emulator")" ; then
## Symlink could be read. Lets use it.
etc_alternatives_x_terminal_emulator_full_path="$readlink_result"
etc_alternatives_x_terminal_emulator_base_name="${etc_alternatives_x_terminal_emulator_full_path##*/}"
fi
fi
supported_terminal_emulator_apps="
xfce4-terminal
xterm
konsole
"
for terminal_emulator_app_supported in $supported_terminal_emulator_apps ; do
if [ "$etc_alternatives_x_terminal_emulator_base_name" = "$terminal_emulator_app_supported" ]; then
[ -n "$terminal_emulator_app" ] || terminal_emulator_app="$terminal_emulator_app_supported"
fi
done
if command -v xfce4-terminal >/dev/null 2>&1; then
[ -n "$terminal_emulator_app" ] || terminal_emulator_app="xfce4-terminal"
elif command -v xterm >/dev/null 2>&1; then
[ -n "$terminal_emulator_app" ] || terminal_emulator_app="xterm"
elif command -v konsole >/dev/null 2>&1; then
[ -n "$terminal_emulator_app" ] || terminal_emulator_app="konsole"
elif [ ! "$etc_alternatives_x_terminal_emulator_base_name" = "" ]; then
[ -n "$terminal_emulator_app" ] || terminal_emulator_app="$etc_alternatives_x_terminal_emulator_base_name"
[ -n "$terminal_emulator_extra_args" ] || terminal_emulator_extra_args="-e"
else
error_message="$0: No supported terminal_emulator_app installed! Please install either:
$supported_terminal_emulator_apps
PPID: $PPID
$0 was called by: $(ps --no-headers -o command $PPID)" || true
kdialog --sorry "$error_message" >/dev/null 2>&1 || true
zenity --error --text "$error_message" >/dev/null 2>&1 || true
echo "$error_message" >&2
fi
if [ "$terminal_emulator_app" = "xfce4-terminal" ]; then
[ -n "$terminal_emulator_extra_args" ] || terminal_emulator_extra_args="--execute"
fi
if [ "$terminal_emulator_app" = "xterm" ]; then
[ -n "$terminal_emulator_extra_args" ] || terminal_emulator_extra_args="-e"
fi
if command -v qubesdb-read >/dev/null 2>&1; then
## Qubes.
if [ "$terminal_emulator_app" = "konsole" ]; then
[ -n "$terminal_emulator_extra_args" ] || terminal_emulator_extra_args="--hold -e"
fi
else
## Non-Qubes.
if [ "$terminal_emulator_app" = "konsole" ]; then
## Do not use '--fullscreen' since this starts the window without window
## controls (no window close button) which is confusing.
## '-e' needs to be the last paramater.
[ -n "$terminal_emulator_extra_args" ] || terminal_emulator_extra_args="--hold -e"
fi
fi
$terminal_emulator_app $terminal_emulator_extra_args $@