DTermからGUIアプリを立ち上げるには$ open -a /Applications/Safari.app
とかする必要があって面倒なので~/.macapp
にそれぞれのアプリをopenするスクリプトを作るスクリプトを書いてみた。
#!/usr/bin/env ruby
require 'fileutils'
def e(path) path.gsub(/[ ()]/) {|s| "\\#{s}"} end
FileUtils.rm_rf("#{ENV['HOME']}/.macapp")
FileUtils.mkdir("#{ENV['HOME']}/.macapp")
Dir.glob('/Applications/{,Utilities/}*.app') do |path|
script = "#{ENV['HOME']}/.macapp/#{path.split('/').last}"
open(script, 'w') {|f| f.write(<<-EOS) }
#!/bin/sh
open -a #{e(path)}
EOS
FileUtils.chmod(0755, script)
end
Make symlink from Mac GUI Apps. — Gist
~/.macapp
にPATHを通せば$ Safari.app
みたいな感じで立ち上がるようになる。(DTerm等のGUIの場合は/etc/launchd.confに書く必要がある)
理想のランチャー道は遠いな・・・。