Subscribed unsubscribe Subscribe Subscribe

枕を欹てて聴く

香炉峰の雪は簾を撥げて看る

Profile

FirefoxのProfile関係はXulPlanetにあるのが少し古いみたいでCc['@mozilla.org/profile/manager;1']は今はない.

// Cc = Components.classes, Ci = Components.interfaces
var ProfileService = Cc['@mozilla.org/toolkit/profile-service;1'].getService(Ci.nsIToolkitProfileService);
var profile = ProfileService.selectedProfile;// nsIToolkitProfile
alert(profile.name);

みたいな感じで取得, 操作できる.
nsIToolkitProfileServiceは概ねnsIProfileと同じメソッドを持ってる.

これでYahoo!ジオシティーズ - エラーのやつが環境依存でなく実行できる.(自分のUbuntuではエラーが出てたから)

// ==UserScript==
// @name           setCurrentProfileNameToTitlebar
// @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
// @description    現在のプロファイル名をタイトルバーに表示
// @include        main
// @compatibility  Firefox 2.0 3.0
// @author         Alice0775
//   modified version
// ==/UserScript==
(function(){
  var Cc = Components.classes, Ci = Components.interfaces;
  var ProfileService = Cc['@mozilla.org/toolkit/profile-service;1'].getService(Ci.nsIToolkitProfileService);
  var profile = ProfileService.selectedProfile;
  if (!profile) return;
  var docElement = gBrowser.ownerDocument.documentElement;
  var orig_titlemodifier = docElement.getAttribute("titlemodifier");
  docElement.setAttribute("titlemodifier", "[" + profile.name+ "] "  + orig_titlemodifier);
  gBrowser.updateTitlebar();
})();
Remove all ads