Browse Source

Merge remote-tracking branch 'origin/pr/207'

* origin/pr/207:
  qubes-run-terminal: use gnome-terminal --wait, if supported
Marek Marczykowski-Górecki 4 năm trước cách đây
mục cha
commit
3c1de3b4f4
1 tập tin đã thay đổi với 21 bổ sung2 xóa
  1. 21 2
      misc/qubes-run-terminal

+ 21 - 2
misc/qubes-run-terminal

@@ -1,10 +1,29 @@
 #!/bin/sh
 # Try to find a terminal emulator that's installed and run it.
 
-for terminal in x-terminal-emulator gnome-terminal xfce4-terminal konsole urxvt rxvt termit terminator Eterm aterm roxterm termite lxterminal mate-terminal terminology st xterm; do
+is_command() {
     # bogus warning from ShellCheck < 0.5.0
     # shellcheck disable=SC2039
-    if type "$terminal" >/dev/null 2>&1 ; then
+    type "$1" >/dev/null 2>&1
+}
+
+if is_command x-terminal-emulator; then
+    exec x-terminal-emulator
+fi
+
+if is_command gnome-terminal; then
+    # Check if our gnome-terminal version supports --wait
+    # (we can't just run it and check exit code, because if it works, it will
+    # return the exit code of the child process)
+    if gnome-terminal --help-terminal-options | grep --silent -- --wait; then
+        exec gnome-terminal --wait
+    else
+        exec gnome-terminal
+    fi
+fi
+
+for terminal in xfce4-terminal konsole urxvt rxvt termit terminator Eterm aterm roxterm termite lxterminal mate-terminal terminology st xterm; do
+    if is_command "$terminal" ; then
         exec "$terminal"
     fi
 done