以前から,Gitのリポジトリの状態などをzshのプロンプトに表示していたのだけど,precmdのフックでgit logとかgit statusが何度も呼ばれていて,大変遅かった. プロンプトが出るまで何も操作できなくて,困っていたので,dRubyで,非同期にリポジトリの状態を調べて,Growlで通知するようにした. 何かコマンドを実行するたびに,リポジトリの情報がGrowlで出てくるので,常に,自分が何をしているのか気にすることができる. これを予めどこかで起動しておいて, #! /opt/local/bin/ruby require 'rubygems' require 'drb/drb' require 'git' require 'g' class Service def git_status(path) Thread.new { path = File.expand_path pa