コマンドの完了時にDockのターミナルアイコンにバッジを表示する方法はありますか?


11

現在、ターミナルウィンドウを開いてコマンドを完了するAppleScriptアプリがあります。コマンドが完了すると、Dockのターミナルアイコンにアプリアイコンバッジを表示したいと思います。これが必要なのは、コマンドが停止したときにコマンドを頻繁に再起動する必要があるためです。これは可能ですか?基本的に、私のAppleScriptアプリケーションはユーザーが指定した変数を受け取り、それをターミナルコマンドにプラグインします。アプリケーションを使用するたびに、新しいターミナルウィンドウが開きます(目的)。ターミナルコマンドが完了したときにバッジを表示したいと思います。


バッジが必要ですか、それともsay口頭で警告するコマンド、ビープ音、うなり声の通知、ターミナルの色の変更、または何か他のものに満足しますか?

コマンドが終了したことを私に伝える方法。ターミナルウィンドウは常に他のすべてのウィンドウの背後にあるため、チェックを続ける必要があります。私は何かをするまで残る通知を好むでしょう。ですから、私が起きて周りにいなければ、おそらく口頭での通知はうまくいかないでしょう。正しい?
エリグリーンバーグ

以下のソリューション(おそらくGrowlベース)を使用し、AppleScript行を追加して、現在のウィンドウを前面に表示します。残念ながら、すべてのターミナルは最前面に移動しますが(イベントと思われます)、イベントをトリガーしたウィンドウはそれらすべての前面に表示されます。

iTerm2 triggersにより、これを非常に簡単かつエレガントにセットアップできることに注意してください。iterm2.com / triggers.html

回答:


14

Mac OS X 10.7 Lionの時点で、ターミナルにはまさにこの機能があります。

バックグラウンドのタブまたはウィンドウでベル(BEL、Control-G)を発すると、ターミナルアプリケーションのDockアイコンに「未読」ベルの数のバッジが表示されます

ターミナルアプリケーションドックアイコンのベルインジケータバッジ

端末のタブにベルのアイコンが表示されます

バックグラウンドターミナルタブのベルインジケータ

(ウィンドウにタブが1つしかない場合は、[表示]> [タブバーの表示]を選択してタブを表示します。このタブには他のステータス情報も表示されます。)

これは、最小化されたウィンドウにも適用されます。

ウィンドウを前面に表示するか、背景タブを選択すると、ベルインジケータがタブから削除され、バッジカウントが減少します。


もちろん、これはライオンのみです(笑)。
エリグリーンバーグ

3

「ターミナルウィンドウで何かが完了したときにアラートを受け取る方法はありますか」というより一般的な質問への回答を受け入れたい場合、答えは「はい」です。

Growlを実行している場合は、Growlに通知を送信するスクリプトからコマンドライン呼び出しを行うことができます。例えば:

do shell script "sleep 1h"
do shell script "growlnotify --sticky --message \"I'm all done sleeping for an hour! Did you forget about me?\" --wait"

画面から通知を消去するまで、スクリプトは終了しません。

この--nameオプションを使用してスクリプトに一意の名前を付け、Growl内から、その名前付きアプリケーションによって生成されたイベントの表示方法と処理方法をカスタマイズすることもできます。画面上にさまざまな種類のポップアップを作成したり、メールを送信したり、iChatを介してメッセージを送信したり、iDeviceでProwlを実行している場合はイベントを別のマシンのGrowlに転送したりできます。プッシュ通知によるiDeviceへの通知。

あなたが探していた答えではありませんが、うまくいけばあなたのニーズを満たします。

GrowlNotifyの動作


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.