スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2006.10.01

プロファイル毎の Firefox を記憶して起動する AppleScript

そろそろ Firefox 2.0 も出そうだし、Minefield も面白くなってきたしと異なるバージョンを使う機会が増えてきました。こういう場合、各バージョン毎にプロファイルを分けるのが普通なんですが、いちいちプロファイルマネージャからというのも面倒だし、Terminal から

% Firefox.app/Contents/MacOS/firefox-bin -P profilename

というのも面倒。なのでリストからプロファイルを選んで、そのプロファイルで起動する Firefox を選ぶスクリプトを作ってみた。一度 Firefox を選択した後は、プロファイルを選ぶとその Firefox で起動します。

→Script Editor で開く

property profileSet : {}
try
  set profileList to {}
  set path2fx to ""
  set app_support to path to application support from user domain
  
  -- profiles.ini ファイルのパスを所得、ファイルが無い場合は error
  tell application "Finder"
    if (exists file "profiles.ini" of folder "Firefox" of the app_support) then
      set profile_ini to file "profiles.ini" of folder "Firefox" of the app_support as alias
      set profile_ini to quoted form of POSIX path of profile_ini
    else
      error "There is not Profile.ini"
    end if
  end tell
  
  -- profiles.iniからプロファイル名を所得して、改行をリストに変換
  set tmp_profile to do shell script "sed -n '/^Name/{;s/Name=//;/^default$/d;p;}' " & profile_ini
  set tmp to AppleScript's text item delimiters
  set AppleScript's text item delimiters to return
  set max to count of every text item of tmp_profile
  repeat with i from 1 to max
    set end of profileList to text item i of tmp_profile
  end repeat
  set AppleScript's text item delimiters to tmp
  
  -- プロファイルを選択
  activate
  set profile to (choose from list of profileList) as string
  if profile = "false" then return
  
  -- プロファイルと起動する Firefox を関連づける
  repeat with i in profileSet
    if (item 1 of i) = profile then
      set path2fx to item 2 of i
      exit repeat
    end if
  end repeat
  if path2fx = "" then
    set path2fx to GetFxPath()
    set end of profileSet to {profile, path2fx}
  end if
  
  set cmdStr to "nohup " & path2fx & "Contents/MacOS/firefox -P '" & profile & "' > /dev/null 2>&1 &"
  do shell script cmdStr
on error error_message
  activate
  display dialog error_message
end try

on GetFxPath()
  set path2fx to choose file of type {"APPL"} with prompt "起動する Firefox を選択してください" as Unicode text without invisibles
  set path2fx to quoted form of POSIX path of path2fx
  return path2fx
end GetFxPath
関連記事

この記事へのトラックバックURL
http://wildlifesanctuary.blog38.fc2.com/tb.php/114-8982ef39
この記事へのトラックバック
この記事へのコメント
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。