AppleScriptと巧妙なアイコン画像の貼り付けを組み合わせて、何かを混ぜ合わせることができます。iTerm / iTerm2の場合は次のようになります。
AppleScriptエディターを開き、次のAppleScriptを貼り付けます。
set myapp to "iTerm"
on appIsRunning(appName)
tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
# What you do here will depend on the program. This works for
# iTerm but you'll need to look up the actions for other programs
# since this bit is iTerm-specific.
tell application "iTerm"
set myterm to (make new terminal)
tell myterm
launch session "Default"
end tell
end tell
else
tell application myapp
activate
end tell
end if
エディターの「実行」ボタンを使用して、機能することをテストできます。別のプロファイルを開く場合は、12行目の「デフォルト」を開きたいプロファイルの名前に変更します。
次に、このAppleScriptを保存します。下部の[ファイル形式]の下の[保存]ダイアログで、リストから[アプリケーション]を選択します。
私は「New iTerm.app」としてデスクトップに保存しました。
これで、デスクトップで「New iTerm.app」をクリックするたびに、新しいiTermウィンドウが表示されます。「New iTerm.app」をDockにドラッグすると、Dockアイコンになり、新しいiTermウィンドウを開くときにいつでもクリックできます。しかし、アイコンは一般的なAppleScriptアイコンです。
iTermアイコンに変更しましょう。デスクトップで「New iTerm.app」を選択し、Cmd-Iをクリックして、アプリケーションのプロパティ画面を表示します。
/Applications
Finderウィンドウに移動し、インストールされているアプリケーションのリストでiTermを見つけて選択し、Cmd-IをクリックしてiTermアプリケーションのプロパティ画面を開きます。
iTerm情報ウィンドウのアイコンをクリックして、周囲にソフトブルーの影を付けます。Cmd-Cを押して、アイコンをクリップボードにコピーします。
「New iTerm.app」情報ウィンドウのアイコンをクリックし、Cmd-Vを押して「New iTerm.app」アプリケーションにiTermアイコンを貼り付けます。
これでiTermアイコンが表示されます。
必要に応じて、「New iTerm.app」を/Applications
フォルダに移動できます。保持することにしたフォルダからドックにドラッグします。Dockでクリックすると、クリックするたびに新しいiTermウィンドウが開きます。
実行中のiTerm.app Dockアイコンと区別できるようにしたい場合は、Pixelmatorなどの画像エディターにアイコンを貼り付け、大きな赤+
を追加して、新しいiTermを押すアイコンとして明確に識別されるようにすることを検討できます。アイコンの代わりにウィンドウを押して終了を確認し、iTermアプリケーションを開きます。
以下は、カスタマイズを開始するためのその他のアプリケーション用のスクリプトです。
Google Chrome(新しいウィンドウ)
set myapp to "Google Chrome"
on appIsRunning(appName)
tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
tell application "Google Chrome"
make new window
end tell
else
tell application myapp
activate
end tell
end if
Google Chrome(新しいタブ)
set myapp to "Google Chrome"
on appIsRunning(appName)
tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
tell application "Google Chrome"
make new tab at end of tabs of window 1
end tell
else
tell application myapp
activate
end tell
end if
崇高なテキスト2
残念ながら、ST2にはAppleScriptでアクセス可能な拡張機能がないようです。ST2に同梱されているOS Xコマンドラインツールをいつでも見ることができます。Dockの簡単なスクリプトからそれを呼び出して、ST2で新しいウィンドウを開くことができます。そう:
set myapp to "Sublime Text 2"
on appIsRunning(appName)
tell application "System Events" to (name of processes) contains appName
end appIsRunning
if appIsRunning(myapp) then
# Assumes you've installed the subl command line tool for ST2
# in to /usr/local/bin. Adjust accordingly.
do shell script "/usr/local/bin/subl --new-window"
else
tell application myapp
activate
end tell
end if