トップ «前の日記(2009-04-09) 最新 次の日記(2009-04-13)» 編集

Ussy Diary


2009-04-11

Ubiquity で改行文字を OS で振り分ける

簡単に書き換えられてはしまいますけど navigator.userAgent みたいにさっくり取れる方法があればいいのですが、 Ubiquity で OS の情報を簡単に取る方法が分からなかったので xpcom 経由で取得する方法にしました。

teramako : XPCOM OS のシステム情報を得る

function getLineSeprator() {
  var sysInfo = Components.classes["@mozilla.org/system-info;1"].getService(Components.interfaces.nsIPropertyBag2);
  var platform = sysInfo.getProperty("name");
  if (platform.indexOf("Windows") >= 0) {
    return "\r\n";
  } else {
    return "\n";
  }
}

Mac OS X より前はスルーしています。それからよく使うのであればキャッシュさせたほうがいいと思います。

タイトルと URL をコピーする Ubiquity コマンドは改行文字を \n としていて、 Windows のアプリケーションによっては直接貼り付けると改行できないことがあったので調べてみました。スクリプトも修正済みです。