Qt Creator e iTerm2

0

Qt Creator apre l'app UGLY Terminal per i programmi in esecuzione / debug. Usando questo script:

#! /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 <<EOF
    --Terminal opens a window by default when it is not running, so check
    on applicationIsRunning(applicationName)
            tell application "System Events" to count (every process whose name is applicationName)
            return result is greater than 0
    end applicationIsRunning
    set terminalWasRunning to applicationIsRunning("Terminal")

    set cdScript to "$mArgs"
    tell application "Terminal"
        --do script will open a new window if none given, but terminal already opens one if not running
        if terminalWasRunning then
            do script cdScript
        else
            do script cdScript in first window
        end if
        set currentTab to the result
        set currentWindow to first window whose tabs contains currentTab
        activate
    end tell
EOF

Come posso forzare l'uso di iTerm2 al posto di Terminal ..?

    
posta mohammadreza 14.12.2016 - 05:08
fonte

1 risposta

1

Lo script che hai pubblicato è una buona base per alcune modifiche. La seconda parte è AppleScript e iTerm2 offre una bella interfaccia con esso.

Per prima cosa, crea uno script (diciamo ~/newiTerm.sh ) e inserisci il seguente contenuto

#! /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 <<EOF
set cdScript to "$mArgs"
tell application "iTerm2"
    set newWindow to (create window with default profile)
    tell newWindow
        select
        set _session to current session
        tell _session
            write text cdScript
        end tell
    end tell
end tell

Quindi vai a Preferenze Qt ( ⌘, ) > Ambiente > Sistema > Terminale e imposta il valore su ~/newiTerm.sh

Funziona bene per me.

Saluti

    
risposta data 23.06.2017 - 01:40
fonte

Leggi altre domande sui tag