Mac OS:AutomatorまたはAppleScriptから、特定のプロファイルでiTermターミナルを起動する方法を教えてください。


4

私はiTermの新しいウィンドウを起動するグローバルなキーボードショートカットを特定のプロファイルで割り当てようとしています。 (AutomatorとAppleScriptを使って新しいChromeウィンドウを起動することに成功したが、これはもっと難しいことがわかっている)

これはiTermを起動するのと同じことになります。そしてトップメニューでProfiles - >を選択します。 "my profile"、 "alt"または "option"が押されているので、現在のウィンドウの新しいタブではなく、新しいウィンドウで開きます。

AutomatorまたはAppleScriptのどちらを使ってこれを行う方法がありますか?

関連性がある場合は、Mac OS Mountain Lionがあります。

(これが絶対的な問題である場合は申し訳ありません。WindowsからMacに移行しました。常に最適化を図っています)

ありがとうございました!


OS Xを使い慣れていない場合は、まずTerminalを試してみませんかそれはかなり良いことです。
Daniel Beck

回答:


1

前回の回答は、iTerm2(3)の最新バージョンでは機能しなくなりました。 terminal 中止されました。新しいアプローチは create window with profile

しかし、これは期待通りには機能しません。iTermが実行されている場合は、適切なプロファイルを使用して新しいウィンドウを開きます。しかしiTermが実行されていない場合は、デフォルトのプロファイルを使用してウィンドウを開き、次に提供された他のプロファイルを使用して2番目のウィンドウを開きます。私はこれに対処するために次のスクリプトを思い付きました:

-- this script will start/activate iTerm (close the default window if the app had been newly started), then open a new session with a desired profile

on is_running(appName)
    tell application "System Events" to (name of processes) contains appName
end is_running

set iTermRunning to is_running("iTerm2")

tell application "iTerm"
    activate
    if not (iTermRunning) then
        delay 0.5
        close the current window
    end if
    create window with profile "xxxxxx"
end tell

もちろん、iTermがコマンドラインパラメータをサポートしていれば、本当に簡単でした。うまくいけば、それは ある時点で


4

の11行目と58行目を組み合わせる iTerm WebサイトのAppleScriptサンプルコード...

tell application "iTerm"
activate
tell (make new terminal)
    launch session "Your Profile Name"
end tell
end tell

驚くばかり!それは私が必要としていたとおりです。ありがとうございました!!
Daniel Magliola

既存のアプリのウィンドウではなく、新しいiTermプロセスを起動する別の答えを見たいです。
Sparr

@ Sparr:あなたは通常、OS X上でユーザアプリケーションを何度も実行していません。中には非常に奇妙に振る舞う(あるいは壊れる)ものもあれば、積極的にそれを妨げるものもあります。あなたがこれを探している本当の理由はありますか?
Daniel Beck

@DanielBeckは、OSがFluid Webアプリケーションと同じように別のアプリケーションのように動作するようにしたいからです。
Sparr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.