From 53f0e6c0eee68b4c971a01e15cf1277d252edd64 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 5 Sep 2018 17:43:22 +0200 Subject: [PATCH] macOS: Replace openTerminal.command by python script This script will become even less trivial in the future, so use an actually usable programming language for it. Change-Id: I4fa1c8d327f97585bf8dde0ffaefc5fac7c1ca18 Reviewed-by: Tobias Hunger --- share/qtcreator/scripts/openTerminal.command | 36 ---------- share/qtcreator/scripts/openTerminal.py | 75 ++++++++++++++++++++ src/libs/utils/consoleprocess_unix.cpp | 2 +- 3 files changed, 76 insertions(+), 37 deletions(-) delete mode 100755 share/qtcreator/scripts/openTerminal.command create mode 100755 share/qtcreator/scripts/openTerminal.py diff --git a/share/qtcreator/scripts/openTerminal.command b/share/qtcreator/scripts/openTerminal.command deleted file mode 100755 index 1f81a59050b..00000000000 --- a/share/qtcreator/scripts/openTerminal.command +++ /dev/null @@ -1,36 +0,0 @@ -#! /bin/bash - -# ugly escaping: for apple script \ and " need to be escaped, whereas %q takes care of all bash escaping -declare -a args -mydir=`pwd` -mydir=$(printf '%q' "$mydir") -mydir="${mydir//\\/\\\\}" -args[0]="cd ${mydir//\"/\\\"};" -for a in "$@" ; do - x=$(printf '%q ' "$a") - x="${x//\\/\\\\}" - args[${#args[@]}]="${x//\"/\\\"}" -done -mArgs=${args[@]:0} - -osascript < TerminalCommand { if (HostOsInfo::isMacHost()) { const QString termCmd = QCoreApplication::applicationDirPath() - + "/../Resources/scripts/openTerminal.command"; + + "/../Resources/scripts/openTerminal.py"; if (QFileInfo::exists(termCmd)) return {termCmd, "", ""}; return {"/usr/X11/bin/xterm", "", "-e"};