[Ext] userChrome.js

Announce and Discuss the Latest Theme and Extension Releases.
Locked
User avatar
RaiseMachine
Posts: 1764
Joined: December 6th, 2004, 6:05 pm
Location: England

Post by RaiseMachine »

This line puts back the right-hand side close tab button if you ever need to.

Code: Select all

getBrowser().mTabContainer.setAttribute("closebutton", true);
"Doesn't the idea of making nature against the law seem to you a bit... unnatural ?" - Bill Hicks
"Money is the Schrodinger's Cat of economics." - Robert Anton Wilson
"It's not a bug, it's two features having a fight in the pub car-park." - Me
User avatar
pirlouy
Posts: 232
Joined: February 11th, 2005, 6:29 am
Location: France

Post by pirlouy »

zeniko wrote:I've added a "Tabs to the Right" snippet which is a little bit more sophisticated (if you open two tabs in a row, the second tab will be to the right of the first one).

NP. But personally, I prefer having tabs always at right. :-)
Zoolcar9
Posts: 2225
Joined: November 9th, 2004, 6:45 pm
Location: Jakarta, Indonesia (UTC+7)
Contact:

Post by Zoolcar9 »


Another scripts to replace extensions
  • <a href="data:application/x-javascript;charset=utf-8;base64,KGZ1bmN0aW9uKCkgeyAvL3NldCB0aGUgcHJlZmVyZW5jZXMNCiAgdmFyIHByZWZTdmMgPSBDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9wcmVmZXJlbmNlcy1zZXJ2aWNlOzEiXQ0KICAgICAgICAgICAgICAgICAgLmdldFNlcnZpY2UoQ29tcG9uZW50cy5pbnRlcmZhY2VzLm5zSVByZWZTZXJ2aWNlKTsNCiAgcHJlZlN2YyA9IHByZWZTdmMuZ2V0QnJhbmNoKG51bGwpOw0KICBwcmVmU3ZjLnNldEJvb2xQcmVmKCdicm93c2VyLmRvd25sb2FkLmZpbGVuYW1lX2Zyb21faHR0cGhlYWRlcicsIHRydWUpDQp9KSgpOw0KDQoNCi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICBDb250ZW50IERpc3Bvc2l0aW9uIDAuNQ0KICBodHRwOi8vd3d3LmV4dGVuc2lvbnNtaXJyb3IubmwvaW5kZXgucGhwP3Nob3d0b3BpYz00ODEyDQoNCiAgRml4ZXMgYnVnIDI5OTM3MiAoQ29udGVudC1EaXNwb3NpdGlvbiBoZWFkZXJzIG5vIGxvbmdlciBsb29rZWQgYXQgDQogIGZvciBTYXZlIExpbmsgQXMgZmlsZW5hbWUsIHNvIGl0IHVzZXMgZS5nLiAiYXR0YWNobWVudC5jZ2kiIGluDQogIGJ1Z3ppbGxhIGluc3RlYWQgb2YgdGhlIG5hbWUgb2YgdGhlIGF0dGFjaG1lbnQ7IFNhdmUgUGFnZSBBcyB3b3Jrcw0KICBmaW5lKQ0KDQogIFRoZSBvcmlnaW5hbCBjb2RlIHdhcyBwcm92aWRlZCBieSBCaWp1IEcuIEMNCiAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k%2FaWQ9Mjk5MzcyI2M1Mg0KICANCiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovDQoNCmdldENvbnRlbnREaXNwID0gZnVuY3Rpb24odXJsKXsNCiAgdmFyIGh0dHBSZXEgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsNCiAgaHR0cFJlcS5vcGVuKCJIRUFEIiwgdXJsLCBmYWxzZSk7DQogIGh0dHBSZXEuc2VuZCgiIik7DQogIHJldHVybiBodHRwUmVxLmdldFJlc3BvbnNlSGVhZGVyKCAiQ29udGVudC1kaXNwb3NpdGlvbiIpOw0KfQ0KDQppbnRlcm5hbFNhdmUgPSBmdW5jdGlvbihhVVJMLCBhRG9jdW1lbnQsIGFEZWZhdWx0RmlsZU5hbWUsIGFDb250ZW50RGlzcG9zaXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgYUNvbnRlbnRUeXBlLCBhU2hvdWxkQnlwYXNzQ2FjaGUsIGFGaWxlUGlja2VyVGl0bGVLZXksDQogICAgICAgICAgICAgICAgICAgICAgYUNob3NlbkRhdGEsIGFSZWZlcnJlciwgYVNraXBQcm9tcHQpDQp7DQoNCiAgdmFyIHByZWZTdmMgPSBDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9wcmVmZXJlbmNlcy1zZXJ2aWNlOzEiXQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJUHJlZlNlcnZpY2UpOw0KICBwcmVmU3ZjID0gcHJlZlN2Yy5nZXRCcmFuY2gobnVsbCk7DQoNCiAgaWYgKCFhQ29udGVudERpc3Bvc2l0aW9uKXsNCiAgICAgdHJ5IHsNCiAgICAgICBpZihwcmVmU3ZjLmdldEJvb2xQcmVmKCJicm93c2VyLmRvd25sb2FkLmZpbGVuYW1lX2Zyb21faHR0cGhlYWRlciIpKQ0KICAgICAgICAgICBhQ29udGVudERpc3Bvc2l0aW9uID0gZ2V0Q29udGVudERpc3AoYVVSTCk7DQogICAgIH0gY2F0Y2goZXgpIHsgfQ0KICB9DQoNCg0KICBpZiAoYVNraXBQcm9tcHQgPT0gdW5kZWZpbmVkKQ0KICAgIGFTa2lwUHJvbXB0ID0gZmFsc2U7DQoNCiAgLy8gTm90ZTogYURvY3VtZW50ID09IG51bGwgd2hlbiB0aGlzIGNvZGUgaXMgdXNlZCBieSBzYXZlLWxpbmstYXMuLi4NCiAgdmFyIHNhdmVNb2RlID0gR2V0U2F2ZU1vZGVGb3JDb250ZW50VHlwZShhQ29udGVudFR5cGUpOw0KICB2YXIgaXNEb2N1bWVudCA9IGFEb2N1bWVudCAhPSBudWxsICYmIHNhdmVNb2RlICE9IFNBVkVNT0RFX0ZJTEVPTkxZOw0KICB2YXIgc2F2ZUFzVHlwZSA9IGtTYXZlQXNUeXBlX0NvbXBsZXRlOw0KDQogIHZhciBmaWxlLCBmaWxlVVJMOw0KICAvLyBGaW5kIHRoZSBVUkkgb2JqZWN0IGZvciBhVVJMIGFuZCB0aGUgRmlsZU5hbWUvRXh0ZW5zaW9uIHRvIHVzZSB3aGVuIHNhdmluZy4NCiAgLy8gRmlsZU5hbWUvRXh0ZW5zaW9uIHdpbGwgYmUgaWdub3JlZCBpZiBhQ2hvc2VuRGF0YSBzdXBwbGllZC4NCiAgdmFyIGZpbGVJbmZvID0gbmV3IEZpbGVJbmZvKGFEZWZhdWx0RmlsZU5hbWUpOw0KICBpZiAoYUNob3NlbkRhdGEpDQogICAgZmlsZSA9IGFDaG9zZW5EYXRhLmZpbGU7DQogIGVsc2Ugew0KICAgIGluaXRGaWxlSW5mbyhmaWxlSW5mbywgYVVSTCwgYURvY3VtZW50LCBhQ29udGVudFR5cGUsIGFDb250ZW50RGlzcG9zaXRpb24pOw0KICAgIHZhciBmcFBhcmFtcyA9IHsNCiAgICAgIGZwVGl0bGVLZXk6IGFGaWxlUGlja2VyVGl0bGVLZXksDQogICAgICBpc0RvY3VtZW50OiBpc0RvY3VtZW50LA0KICAgICAgZmlsZUluZm86IGZpbGVJbmZvLA0KICAgICAgY29udGVudFR5cGU6IGFDb250ZW50VHlwZSwNCiAgICAgIHNhdmVNb2RlOiBzYXZlTW9kZSwNCiAgICAgIHNhdmVBc1R5cGU6IHNhdmVBc1R5cGUsDQogICAgICBmaWxlOiBmaWxlLA0KICAgICAgZmlsZVVSTDogZmlsZVVSTA0KICAgIH07DQoNCiAgICBpZiAoIWdldFRhcmdldEZpbGUoZnBQYXJhbXMsIGFTa2lwUHJvbXB0KSkNCiAgICAgIC8vIElmIHRoZSBtZXRob2QgcmV0dXJuZWQgZmFsc2UgdGhpcyBpcyBiZWNhdXNlIHRoZSB1c2VyIGNhbmNlbGxlZCBmcm9tDQogICAgICAvLyB0aGUgc2F2ZSBmaWxlIHBpY2tlciBkaWFsb2cuDQogICAgICByZXR1cm47DQoNCiAgICBzYXZlQXNUeXBlID0gZnBQYXJhbXMuc2F2ZUFzVHlwZTsNCiAgICBzYXZlTW9kZSA9IGZwUGFyYW1zLnNhdmVNb2RlOw0KICAgIGZpbGUgPSBmcFBhcmFtcy5maWxlOw0KICAgIGZpbGVVUkwgPSBmcFBhcmFtcy5maWxlVVJMOw0KICB9DQoNCiAgaWYgKCFmaWxlVVJMKQ0KICAgIGZpbGVVUkwgPSBtYWtlRmlsZVVSSShmaWxlKTsNCg0KICAvLyBYWFggV2UgZGVwZW5kIG9uIHRoZSBmb2xsb3dpbmcgaG9sZGluZyB0cnVlIGluIGFwcGVuZEZpbHRlcnNGb3JDb250ZW50VHlwZSgpOg0KICAvLyBJZiB3ZSBzaG91bGQgc2F2ZSBhcyBhIGNvbXBsZXRlIHBhZ2UsIHRoZSBzYXZlQXNUeXBlIGlzIGtTYXZlQXNUeXBlX0NvbXBsZXRlLg0KICAvLyBJZiB3ZSBzaG91bGQgc2F2ZSBhcyB0ZXh0LCB0aGUgc2F2ZUFzVHlwZSBpcyBrU2F2ZUFzVHlwZV9UZXh0Lg0KICB2YXIgdXNlU2F2ZURvY3VtZW50ID0gaXNEb2N1bWVudCAmJg0KICAgICAgICAgICAgICAgICAgICAgICAgKCgoc2F2ZU1vZGUgJiBTQVZFTU9ERV9DT01QTEVURV9ET00pICYmIChzYXZlQXNUeXBlID09IGtTYXZlQXNUeXBlX0NvbXBsZXRlKSkgfHwNCiAgICAgICAgICAgICAgICAgICAgICAgICAoKHNhdmVNb2RlICYgU0FWRU1PREVfQ09NUExFVEVfVEVYVCkgJiYgKHNhdmVBc1R5cGUgPT0ga1NhdmVBc1R5cGVfVGV4dCkpKTsNCiAgLy8gSWYgd2UncmUgc2F2aW5nIGEgZG9jdW1lbnQsIGFuZCBhcmUgc2F2aW5nIGVpdGhlciBpbiBjb21wbGV0ZSBtb2RlIG9yDQogIC8vIGFzIGNvbnZlcnRlZCB0ZXh0LCBwYXNzIHRoZSBkb2N1bWVudCB0byB0aGUgd2ViIGJyb3dzZXIgcGVyc2lzdCBjb21wb25lbnQuDQogIC8vIElmIHdlJ3JlIGp1c3Qgc2F2aW5nIHRoZSBIVE1MIChzZWNvbmQgb3B0aW9uIGluIHRoZSBsaXN0KSwgc2VuZCBvbmx5IHRoZSBVUkkuDQogIHZhciBzb3VyY2UgPSB1c2VTYXZlRG9jdW1lbnQgPyBhRG9jdW1lbnQgOiBmaWxlSW5mby51cmk7DQogIHZhciBwZXJzaXN0QXJncyA9IHsNCiAgICBzb3VyY2UgICAgICA6IHNvdXJjZSwNCiAgICBjb250ZW50VHlwZSA6ICghYUNob3NlbkRhdGEgJiYgdXNlU2F2ZURvY3VtZW50ICYmDQogICAgICAgICAgICAgICAgICAgc2F2ZUFzVHlwZSA9PSBrU2F2ZUFzVHlwZV9UZXh0KSA%2FDQogICAgICAgICAgICAgICAgICAgInRleHQvcGxhaW4iIDogYUNvbnRlbnRUeXBlLA0KICAgIHRhcmdldCAgICAgIDogZmlsZVVSTCwNCiAgICBwb3N0RGF0YSAgICA6IGlzRG9jdW1lbnQgPyBnZXRQb3N0RGF0YSgpIDogbnVsbCwNCiAgICBieXBhc3NDYWNoZSA6IGFTaG91bGRCeXBhc3NDYWNoZQ0KICB9Ow0KDQogIHZhciBwZXJzaXN0ID0gbWFrZVdlYkJyb3dzZXJQZXJzaXN0KCk7DQoNCiAgLy8gQ2FsY3VsYXRlIHBlcnNpc3QgZmxhZ3MuDQogIGNvbnN0IG5zSVdCUCA9IENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lXZWJCcm93c2VyUGVyc2lzdDsNCiAgY29uc3QgZmxhZ3MgPSBuc0lXQlAuUEVSU0lTVF9GTEFHU19SRVBMQUNFX0VYSVNUSU5HX0ZJTEVTOw0KICBpZiAoYVNob3VsZEJ5cGFzc0NhY2hlKQ0KICAgIHBlcnNpc3QucGVyc2lzdEZsYWdzID0gZmxhZ3MgfCBuc0lXQlAuUEVSU0lTVF9GTEFHU19CWVBBU1NfQ0FDSEU7DQogIGVsc2UNCiAgICBwZXJzaXN0LnBlcnNpc3RGbGFncyA9IGZsYWdzIHwgbnNJV0JQLlBFUlNJU1RfRkxBR1NfRlJPTV9DQUNIRTsNCg0KICAvLyBMZWF2ZSBpdCB0byBXZWJCcm93c2VyUGVyc2lzdCB0byBkaXNjb3ZlciB0aGUgZW5jb2RpbmcgdHlwZSAob3IgbGFjayB0aGVyZW9mKToNCiAgcGVyc2lzdC5wZXJzaXN0RmxhZ3MgfD0gbnNJV0JQLlBFUlNJU1RfRkxBR1NfQVVUT0RFVEVDVF9BUFBMWV9DT05WRVJTSU9OOw0KDQogIC8vIENyZWF0ZSBkb3dubG9hZCBhbmQgaW5pdGlhdGUgaXQgKGJlbG93KQ0KICB2YXIgdHIgPSBDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9yZy90cmFuc2ZlcjsxIl0uY3JlYXRlSW5zdGFuY2UoQ29tcG9uZW50cy5pbnRlcmZhY2VzLm5zSVRyYW5zZmVyKTsNCg0KICBpZiAodXNlU2F2ZURvY3VtZW50KSB7DQogICAgLy8gU2F2aW5nIGEgRG9jdW1lbnQsIG5vdCBhIFVSSToNCiAgICB2YXIgZmlsZXNGb2xkZXIgPSBudWxsOw0KICAgIGlmIChwZXJzaXN0QXJncy5jb250ZW50VHlwZSAhPSAidGV4dC9wbGFpbiIpIHsNCiAgICAgIC8vIENyZWF0ZSB0aGUgbG9jYWwgZGlyZWN0b3J5IGludG8gd2hpY2ggdG8gc2F2ZSBhc3NvY2lhdGVkIGZpbGVzLg0KICAgICAgZmlsZXNGb2xkZXIgPSBmaWxlLmNsb25lKCk7DQoNCiAgICAgIHZhciBuYW1lV2l0aG91dEV4dGVuc2lvbiA9IGZpbGVzRm9sZGVyLmxlYWZOYW1lLnJlcGxhY2UoL1wuW14uXSokLywgIiIpOw0KICAgICAgdmFyIGZpbGVzRm9sZGVyTGVhZk5hbWUgPSBnZXRTdHJpbmdCdW5kbGUoKS5mb3JtYXRTdHJpbmdGcm9tTmFtZSgiZmlsZXNGb2xkZXIiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZVdpdGhvdXRFeHRlbnNpb25dLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxKTsNCg0KICAgICAgZmlsZXNGb2xkZXIubGVhZk5hbWUgPSBmaWxlc0ZvbGRlckxlYWZOYW1lOw0KICAgIH0NCg0KICAgIHZhciBlbmNvZGluZ0ZsYWdzID0gMDsNCiAgICBpZiAocGVyc2lzdEFyZ3MuY29udGVudFR5cGUgPT0gInRleHQvcGxhaW4iKSB7DQogICAgICBlbmNvZGluZ0ZsYWdzIHw9IG5zSVdCUC5FTkNPREVfRkxBR1NfRk9STUFUVEVEOw0KICAgICAgZW5jb2RpbmdGbGFncyB8PSBuc0lXQlAuRU5DT0RFX0ZMQUdTX0FCU09MVVRFX0xJTktTOw0KICAgICAgZW5jb2RpbmdGbGFncyB8PSBuc0lXQlAuRU5DT0RFX0ZMQUdTX05PRlJBTUVTX0NPTlRFTlQ7DQogICAgfQ0KICAgIGVsc2Ugew0KICAgICAgZW5jb2RpbmdGbGFncyB8PSBuc0lXQlAuRU5DT0RFX0ZMQUdTX0VOQ09ERV9CQVNJQ19FTlRJVElFUzsNCiAgICB9DQoNCiAgICBjb25zdCBrV3JhcENvbHVtbiA9IDgwOw0KICAgIHRyLmluaXQoKGFDaG9zZW5EYXRhID8gYUNob3NlbkRhdGEudXJpIDogZmlsZUluZm8udXJpKSwNCiAgICAgICAgICAgIHBlcnNpc3RBcmdzLnRhcmdldCwgIiIsIG51bGwsIG51bGwsIG51bGwsIHBlcnNpc3QpOw0KICAgIHBlcnNpc3QucHJvZ3Jlc3NMaXN0ZW5lciA9IHRyOw0KICAgIHBlcnNpc3Quc2F2ZURvY3VtZW50KHBlcnNpc3RBcmdzLnNvdXJjZSwgcGVyc2lzdEFyZ3MudGFyZ2V0LCBmaWxlc0ZvbGRlciwNCiAgICAgICAgICAgICAgICAgICAgICAgICBwZXJzaXN0QXJncy5jb250ZW50VHlwZSwgZW5jb2RpbmdGbGFncywga1dyYXBDb2x1bW4pOw0KICB9IGVsc2Ugew0KICAgIHRyLmluaXQoKGFDaG9zZW5EYXRhID8gYUNob3NlbkRhdGEudXJpIDogc291cmNlKSwNCiAgICAgICAgICAgIHBlcnNpc3RBcmdzLnRhcmdldCwgIiIsIG51bGwsIG51bGwsIG51bGwsIHBlcnNpc3QpOw0KICAgIHBlcnNpc3QucHJvZ3Jlc3NMaXN0ZW5lciA9IHRyOw0KICAgIHBlcnNpc3Quc2F2ZVVSSSgoYUNob3NlbkRhdGEgPyBhQ2hvc2VuRGF0YS51cmkgOiBzb3VyY2UpLA0KICAgICAgICAgICAgICAgICAgICBudWxsLCBhUmVmZXJyZXIsIHBlcnNpc3RBcmdzLnBvc3REYXRhLCBudWxsLA0KICAgICAgICAgICAgICAgICAgICBwZXJzaXN0QXJncy50YXJnZXQpOw0KICB9DQp9DQo%3D">Content Disposition</a> (extension)
  • <a href="data:application/x-javascript;charset=utf-8;base64,DQovLyBQYXRjaCBmb3IgYnVnIDMyNzYwNCBieSB6ZW5pa28NCg0KKGZ1bmN0aW9uKCkgew0KICB2YXIgYnJvd3NlciA9IGdldEJyb3dzZXIoKTsNCiAgYnJvd3Nlci5fX3ByZTMyNzYwNF9tVGFiUHJvZ3Jlc3NMaXN0ZW5lciA9IGJyb3dzZXIubVRhYlByb2dyZXNzTGlzdGVuZXI7DQogIGJyb3dzZXIubVRhYlByb2dyZXNzTGlzdGVuZXIgPSBmdW5jdGlvbihhVGFiLCBhQnJvd3NlciwgYVN0YXJ0c0JsYW5rKSB7DQogICAgdmFyIGxpc3RlbmVyID0gdGhpcy5fX3ByZTMyNzYwNF9tVGFiUHJvZ3Jlc3NMaXN0ZW5lcihhVGFiLCBhQnJvd3NlciwgYVN0YXJ0c0JsYW5rKTsNCg0KICAgIGxpc3RlbmVyLnBTdGF0ZUZsYWdzID0gMDsNCiAgICBsaXN0ZW5lci5wU3RhdHVzID0gMDsNCiAgICBsaXN0ZW5lci5wTWVzc2FnZSA9ICIiOw0KICAgIGxpc3RlbmVyLnBUb3RhbFByb2dyZXNzID0gMDsNCg0KICAgIGxpc3RlbmVyLl9fcHJlMzI3NjA0X29uU3RhdGVDaGFuZ2UgPSBsaXN0ZW5lci5vblN0YXRlQ2hhbmdlOw0KICAgIGxpc3RlbmVyLm9uU3RhdGVDaGFuZ2UgPSBmdW5jdGlvbihhV2ViUHJvZ3Jlc3MsIGFSZXF1ZXN0LCBhU3RhdGVGbGFncywgYVN0YXR1cykgew0KICAgICAgdGhpcy5fX3ByZTMyNzYwNF9vblN0YXRlQ2hhbmdlKGFXZWJQcm9ncmVzcywgYVJlcXVlc3QsIGFTdGF0ZUZsYWdzLCBhU3RhdHVzKTsNCg0KICAgICAgdmFyIG5zSVdlYlByb2dyZXNzTGlzdGVuZXIgPSBDb21wb25lbnRzLmludGVyZmFjZXMubnNJV2ViUHJvZ3Jlc3NMaXN0ZW5lcjsNCiAgICAgIGlmIChhU3RhdGVGbGFncyAmIChuc0lXZWJQcm9ncmVzc0xpc3RlbmVyLlNUQVRFX1NUQVJUIHwgbnNJV2ViUHJvZ3Jlc3NMaXN0ZW5lci5TVEFURV9TVE9QKSkNCiAgICAgIHsNCiAgICAgICAgdGhpcy5wTWVzc2FnZSA9ICIiOw0KICAgICAgICB0aGlzLm1Ub3RhbFByb2dyZXNzID0gMDsNCiAgICAgIH0NCiAgICAgIHRoaXMucFN0YXRlRmxhZ3MgPSBhU3RhdGVGbGFnczsNCiAgICAgIHRoaXMucFN0YXR1cyA9IGFTdGF0dXM7DQogICAgfTsNCg0KICAgIGxpc3RlbmVyLl9fcHJlMzI3NjA0X29uU3RhdHVzQ2hhbmdlID0gbGlzdGVuZXIub25TdGF0dXNDaGFuZ2U7DQogICAgbGlzdGVuZXIub25TdGF0dXNDaGFuZ2UgPSBmdW5jdGlvbihhV2ViUHJvZ3Jlc3MsIGFSZXF1ZXN0LCBhU3RhdHVzLCBhTWVzc2FnZSkgew0KICAgICAgdGhpcy5fX3ByZTMyNzYwNF9vblN0YXR1c0NoYW5nZShhV2ViUHJvZ3Jlc3MsIGFSZXF1ZXN0LCBhU3RhdHVzLCBhTWVzc2FnZSk7DQogICAgICB0aGlzLnBNZXNzYWdlID0gYU1lc3NhZ2U7DQogICAgfTsNCg0KICAgIGxpc3RlbmVyLl9fcHJlMzI3NjA0X29uUHJvZ3Jlc3NDaGFuZ2UgPSBsaXN0ZW5lci5vblByb2dyZXNzQ2hhbmdlOw0KICAgIGxpc3RlbmVyLm9uUHJvZ3Jlc3NDaGFuZ2UgPSBmdW5jdGlvbihhV2ViUHJvZ3Jlc3MsIGFSZXF1ZXN0LCBhQ3VyU2VsZlByb2dyZXNzLCBhTWF4U2VsZlByb2dyZXNzLCBhQ3VyVG90YWxQcm9ncmVzcywgYU1heFRvdGFsUHJvZ3Jlc3MpIHsNCiAgICAgIHRoaXMuX19wcmUzMjc2MDRfb25Qcm9ncmVzc0NoYW5nZShhV2ViUHJvZ3Jlc3MsIGFSZXF1ZXN0LCBhQ3VyU2VsZlByb2dyZXNzLCBhTWF4U2VsZlByb2dyZXNzLCBhQ3VyVG90YWxQcm9ncmVzcywgYU1heFRvdGFsUHJvZ3Jlc3MpOw0KICAgICAgdGhpcy5wVG90YWxQcm9ncmVzcyA9IChhTWF4VG90YWxQcm9ncmVzcyk%2FYUN1clRvdGFsUHJvZ3Jlc3MgLyBhTWF4VG90YWxQcm9ncmVzczowOw0KICAgIH07DQoNCiAgICByZXR1cm4gbGlzdGVuZXI7DQogIH07DQoNCiAgYnJvd3Nlci5tVGFiQm94LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdCIsIGZ1bmN0aW9uKCkgew0KICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICB2YXIgbGlzdGVuZXIgPSBicm93c2VyLm1UYWJMaXN0ZW5lcnNbYnJvd3Nlci5zZWxlY3RlZFRhYi5fdFBvc10gfHwgbnVsbDsNCiAgICAgIGlmICghbGlzdGVuZXIgfHwgIWxpc3RlbmVyLnBTdGF0ZUZsYWdzKQ0KICAgICAgew0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB2YXIgbnNJV2ViUHJvZ3Jlc3NMaXN0ZW5lciA9IENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lXZWJQcm9ncmVzc0xpc3RlbmVyOw0KICAgICAgdmFyIGxvYWRpbmdEb25lID0gbGlzdGVuZXIucFN0YXRlRmxhZ3MgJiBuc0lXZWJQcm9ncmVzc0xpc3RlbmVyLlNUQVRFX1NUT1A7DQogICAgICB2YXIgcHNldWRvQ2hhbm5lbCA9IHsNCiAgICAgICAgVVJJOiBicm93c2VyLmN1cnJlbnRVUkksDQogICAgICAgIFF1ZXJ5SW50ZXJmYWNlOiBmdW5jdGlvbihhSUlEKQ0KICAgICAgICB7DQogICAgICAgICAgaWYgKCFhSUlELmVxdWFscyhDb21wb25lbnRzLmludGVyZmFjZXMubnNJU3VwcG9ydHMpICYmICFhSUlELmVxdWFscyhDb21wb25lbnRzLmludGVyZmFjZXMubnNJQ2hhbm5lbCkpDQogICAgICAgICAgew0KICAgICAgICAgICAgdGhyb3cgQ29tcG9uZW50cy5yZXN1bHRzLk5TX0VSUk9SX05PX0lOVEVSRkFDRTsNCiAgICAgICAgICB9DQoNCiAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgfQ0KICAgICAgfTsNCiAgICAgIHdpbmRvdy5YVUxCcm93c2VyV2luZG93Lm9uU3RhdGVDaGFuZ2UoYnJvd3Nlci53ZWJQcm9ncmVzcywgcHNldWRvQ2hhbm5lbCwgKGxvYWRpbmdEb25lKT9uc0lXZWJQcm9ncmVzc0xpc3RlbmVyLlNUQVRFX1NUT1A6bnNJV2ViUHJvZ3Jlc3NMaXN0ZW5lci5TVEFURV9TVEFSVCwgbGlzdGVuZXIucFN0YXR1cyk7DQogICAgICBpZiAoIWxvYWRpbmdEb25lKQ0KICAgICAgew0KICAgICAgICB3aW5kb3cuWFVMQnJvd3NlcldpbmRvdy5vblN0YXR1c0NoYW5nZShicm93c2VyLndlYlByb2dyZXNzLCBudWxsLCAwLCBsaXN0ZW5lci5wTWVzc2FnZSk7DQogICAgICAgIHdpbmRvdy5YVUxCcm93c2VyV2luZG93Lm9uUHJvZ3Jlc3NDaGFuZ2UoYnJvd3Nlci53ZWJQcm9ncmVzcywgMCwgMCwgbGlzdGVuZXIucFRvdGFsUHJvZ3Jlc3MsIDEpOw0KICAgICAgfQ0KICAgIH0sIDApOw0KICB9LCBmYWxzZSk7DQp9KSgpOw0KDQo%3D">Patch for bug 327604</a> (extension)
Last edited by Zoolcar9 on May 7th, 2006, 7:23 am, edited 1 time in total.
My Firefox information | Add-ons | GitHub

"With great power, comes great desire to show it off."
User avatar
dougeeebear
Posts: 548
Joined: September 15th, 2005, 4:17 pm

Post by dougeeebear »

I can see where I might possibly have several different userChrome.js sub-scripts, and I would like to create a new menu in the menubar to add the separate items to so the tools menu doesn't get too filled up.
Or create a popup sub-menu in the Tools menu to add items to.
Is it possible to do either?

I think I could replace the Edit Config Files extension in this manner.
Last edited by dougeeebear on March 31st, 2006, 5:20 am, edited 5 times in total.
User avatar
Recall
Posts: 1686
Joined: November 7th, 2004, 11:07 am
Location: United Kingdom

Post by Recall »

could someone make a script for torrents not obeying automatic d/load?

go here http://newvoyages.mine.nu:1701/ and try to d/load one it will pop up the dialogue box no matter whether you save preferences to always open with "torrent program" or not. This happens on most torrent sites

thanks in advance.
Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.9) Gecko/2008051206 Firefox/3.0
Peng
Posts: 778
Joined: November 9th, 2004, 2:31 pm
Location: Central Florida
Contact:

Post by Peng »

dougeeebear wrote:I found out if there is a coding mistake anywhere within userChrome.js, none of the scripts work (meaning the script with the mistake plus all other scripts).
You have to physically go and find the file and edit it and correct your mistake before anything will work again.
I guess that means don't make any mistakes.


You might be able to surround each script with a try-catch block, like how the sub-script loader does, except put your script in the try { }.
Hug Peng
(aka Matt Nordhoff)
Check out: Adblock Plus | FoxClocks | OpenBook
User avatar
dougeeebear
Posts: 548
Joined: September 15th, 2005, 4:17 pm

Post by dougeeebear »

Peng wrote:You might be able to surround each script with a try-catch block, like how the sub-script loader does, except put your script in the try { }.


Right now I have these entries in the Tools Menu:

> Edit userChrome.js ... the main script file with multiple tested scripts
> Edit userChrome.jss ... sub-script with multiple tested scripts (I'm using .jss instead of .uc.js)
> Edit SessionManager.jss ... sub-script for Session Manager scripts
> Edit userChrome-TEST.jss ... sub-script used only for testing scripts (one at a time)
> Edit userChrome-EXAMPLES.txt ... for storage of unused scripts
> Open the Chrome Folder

After I test a script in the TEST file and make sure it works properly, I transfer it to userChrome.js or to a sub-script.
This method saves me a lot of problems.

Using this extension is a great way to get some hands-on experience with javascript.
User avatar
pirlouy
Posts: 232
Joined: February 11th, 2005, 6:29 am
Location: France

Post by pirlouy »

Sorry for the off topic but... I'd like to know how you do to have these links:
data:application... ??
User avatar
XerBlade
Posts: 865
Joined: October 4th, 2005, 10:45 pm
Location: Nashville, TN, US

Post by XerBlade »

Try this page.
To get what's in the "Content Disposition" link up there, for example:
1) Go to that page.
2) Enter "application/x-javascript;charset=utf-8" next to "Type:".
3) Check "base64".
4) Copy and paste all of the text the "Content Disposition" link brings up into the main text input area.
5) Click Generate.
User Agent
Extensions
AMD64/2.41GHz RAM/1.0GB ATI/256MB-GDDR3/128-bit/8xAGP Cable6.0M/384kbps
User avatar
pirlouy
Posts: 232
Joined: February 11th, 2005, 6:29 am
Location: France

Post by pirlouy »

Thanks XerBlade.
User avatar
mrtech
Posts: 2007
Joined: May 15th, 2003, 7:46 am
Location: New York
Contact:

Post by mrtech »

couldn't resist:
<li> <a href="data:application/x-javascript;charset=utf-8;base64,DQp2YXIgdHJ1bmNGaXggPSB7DQoJb2JzZXJ2ZTogZnVuY3Rpb24oc3ViamVjdCwgdG9waWMsIGRhdGEpIHsNCgkJdHJ5IHsNCgkJCXZhciBoYyA9IHN1YmplY3QuUXVlcnlJbnRlcmZhY2UoQ29tcG9uZW50cy5pbnRlcmZhY2VzLm5zSUh0dHBDaGFubmVsKTsNCgkJCWhjLnNldFJlc3BvbnNlSGVhZGVyKCJjb250ZW50LWRpc3Bvc2l0aW9uIiwgDQoJCQkgICAgaGMuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtZGlzcG9zaXRpb24iKQ0KCQkJICAgICAgLnJlcGxhY2UoLyg7XHMqZmlsZW5hbWVccyo9XHMqKShbXlwiO10rKS8sICIkMVwiJDJcIiIpLCBmYWxzZSk7DQoJCX0gY2F0Y2ggKGV4KSB7DQoJCX0NCgl9LA0KDQogIGluaXQ6IGZ1bmN0aW9uKCkgew0KICAJQ29tcG9uZW50cy5jbGFzc2VzWyJAbW96aWxsYS5vcmcvb2JzZXJ2ZXItc2VydmljZTsxIl0NCiAgCQkuZ2V0U2VydmljZShDb21wb25lbnRzLmludGVyZmFjZXMubnNJT2JzZXJ2ZXJTZXJ2aWNlKQ0KICAJCS5hZGRPYnNlcnZlcih0cnVuY0ZpeCwgImh0dHAtb24tZXhhbWluZS1yZXNwb25zZSIsIGZhbHNlKTsNCiAgfSwNCgkNCiAgY2xlYW51cDogZnVuY3Rpb24oKSB7DQogIAlDb21wb25lbnRzLmNsYXNzZXNbIkBtb3ppbGxhLm9yZy9vYnNlcnZlci1zZXJ2aWNlOzEiXQ0KICAJCS5nZXRTZXJ2aWNlKENvbXBvbmVudHMuaW50ZXJmYWNlcy5uc0lPYnNlcnZlclNlcnZpY2UpDQogIAkJLnJlbW92ZU9ic2VydmVyKHRydW5jRml4LCAiaHR0cC1vbi1leGFtaW5lLXJlc3BvbnNlIik7DQogIH0NCn07DQoNCg0KKGZ1bmN0aW9uKCkgew0KICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHRydW5jRml4LmluaXQsIGZhbHNlKTsNCiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInVubG9hZCIsIHRydW5jRml4LmNsZWFudXAsIGZhbHNlKTsNCn0pKCk7DQoNCg%3D%3D">truncfix</a> (extension by Jonathan Zarate)

<li> Updated version of <a href="data:application/x-javascript;charset=utf-8;base64,LyogIFRoaXMgc2NyaXB0IHdpbGwgYWRkICJFZGl0IHVzZXJDaHJvbWUuanMiIG1lbnVpdGVtIGluDQogICAgTVIgVGVjaCBMb2NhbCBJbnN0YWxsJ3MgRWRpdCBDb25maWcgQnV0dG9uIE1lbnUgICAgICAgICAqLw0KDQooZnVuY3Rpb24oKSB7DQoNCiAgZnVuY3Rpb24gaW5zZXJ0TWVudUl0ZW0odGhpc01lbnVJdGVtSUQsIHRoaXNDbWQpDQogIHsNCiAgICB2YXIgZWRpdENvbmZpZ01lbnUgPSBkb2N1bWVudA0KICAgICAgICAuZ2V0RWxlbWVudEJ5SWQodGhpc01lbnVJdGVtSUQpLmZpcnN0Q2hpbGQ7DQogIA0KICAgIGlmKCFlZGl0Q29uZmlnTWVudSkgcmV0dXJuOw0KDQogICAgdmFyIHVzZXJDaHJvbWVKUyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm1lbnVpdGVtIik7DQogICAgdXNlckNocm9tZUpTLnNldEF0dHJpYnV0ZSgiaWQiLCAidXNlckNocm9tZV9qcyIpOw0KICAgIHVzZXJDaHJvbWVKUy5zZXRBdHRyaWJ1dGUoImxhYmVsIiwgIkVkaXQgdXNlckNocm9tZS5qcyIpOw0KICAgIHVzZXJDaHJvbWVKUy5zZXRBdHRyaWJ1dGUoIm9uY29tbWFuZCIsIHRoaXNDbWQpOw0KICAgIHVzZXJDaHJvbWVKUy5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgIm1lbnVpdGVtLWljb25pYyIpOw0KICAgIHVzZXJDaHJvbWVKUy5zZXRBdHRyaWJ1dGUoImxvY2FsX2luc3RhbGwiLCB0cnVlKTsNCiAgDQogICAgZWRpdENvbmZpZ01lbnUuaW5zZXJ0QmVmb3JlKHVzZXJDaHJvbWVKUywNCiAgICAgIGVkaXRDb25maWdNZW51LmZpcnN0Q2hpbGQpOw0KICB9DQoNCiAgdmFyIGNtZDsNCg0KICBpZih0eXBlb2Ygb3Blbl9wcm9maWxlLmdldFNwZWNpYWxGb2xkZXIgPT0gImZ1bmN0aW9uIikNCiAgICBjbWQgPSAib3Blbl9wcm9maWxlLmZpbGVSdW5Pck9wZW4ob3Blbl9wcm9maWxlLmdldFNwZWNpYWxGb2xkZXIoJ1VDaHJtJyksICd1c2VyQ2hyb21lLmpzJywgJ2xvY2FsX2luc3RhbGwuZGVmYXVsdF9KU19lZGl0b3InLCB0cnVlKTsiDQogIGVsc2UNCiAgICAvL01MVEkgNC41LjEgYW5kIGFib3ZlDQogICAgY21kID0gIm9wZW5fcHJvZmlsZS5maWxlUnVuT3JPcGVuKGxvY2FsX2NvbW1vbi5nZXRTcGVjaWFsRm9sZGVyUGF0aCgnVUNocm0nKSwgJ3VzZXJDaHJvbWUuanMnLCAnbG9jYWxfaW5zdGFsbC5kZWZhdWx0X0pTX2VkaXRvcicsIHRydWUpOyI7DQoNCiAgaW5zZXJ0TWVudUl0ZW0oImVkaXRjb25maWdmaWxlcy10b29sYmFyLWJ1dHRvbiIsIGNtZCk7DQogIGluc2VydE1lbnVJdGVtKCJ0b29sc19lZGl0X215X2NvbmZpZyIsIGNtZCk7DQoNCn0pKCk7DQoNCg%3D%3D">"Adds 'Edit userChrome.js' on MR Tech Local Install's Edit Config button menu"</a>
mel reyes • mrtech.com • BlogPlaxoLinkedInTwitter
Support mrtech.com get our toolbar
User avatar
logan
Posts: 3453
Joined: May 22nd, 2003, 3:51 pm
Location: NGC 2403
Contact:

Post by logan »

Thought I'd add some of my misc. extensions...

<a href="data:application/x-javascript,var%20toolbar%20%3D%20document.getElementById('FindToolbar')%3B%0D%0A%0D%0Aif(toolbar)%20%7B%0D%0A%20%20var%20close%20%3D%20document.getElementById('find-closebutton')%3B%0D%0A%0D%0A%20%20if(close)%20%7B%0D%0A%20%20%20%20toolbar.removeChild(close)%3B%0D%0A%0D%0A%20%20%20%20var%20spacer%20%3D%20document.createElement('spacer')%3B%0D%0A%20%20%20%20spacer.setAttribute('flex'%2C%201)%3B%0D%0A%0D%0A%20%20%20%20toolbar.appendChild(spacer)%3B%0D%0A%20%20%20%20toolbar.appendChild(close)%3B%0D%0A%20%20%7D%0D%0A%7D">Find Close On Right</a>
<a href="data:application/x-javascript,eval('gBrowser.addTab%20%3D'%20%2B%0D%0A%20%20%20%20%20gBrowser.addTab.toString().replace('this.mTabContainer.appendChild(t)%3B'%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.lastChild.removeAttribute(%22last-tab%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.appendChild(t)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.firstChild.setAttribute(%22first-tab%22%2C%20%22true%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.lastChild.setAttribute(%22last-tab%22%2C%20%22true%22)%3B'))%3B%0D%0A%0D%0Aeval('gBrowser.removeTab%20%3D'%20%2B%0D%0A%20%20%20%20%20gBrowser.removeTab.toString().replace('this.mTabContainer.removeChild(oldTab)%3B'%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.removeChild(oldTab)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.firstChild.setAttribute(%22first-tab%22%2C%20%22true%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.lastChild.setAttribute(%22last-tab%22%2C%20%22true%22)%3B'))%3B%0D%0A%0D%0Aeval('gBrowser.moveTabTo%20%3D'%20%2B%0D%0A%20%20%20%20%20gBrowser.moveTabTo.toString().replace('this.mCurrentTab.selected%20%3D%20false%3B'%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.firstChild.removeAttribute(%22first-tab%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.lastChild.removeAttribute(%22last-tab%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mCurrentTab.selected%20%3D%20false%3B'))%3B%0D%0A%0D%0Aeval('gBrowser.moveTabTo%20%3D'%20%2B%0D%0A%20%20%20%20%20gBrowser.moveTabTo.toString().replace('this.mCurrentTab.selected%20%3D%20true%3B'%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.firstChild.setAttribute(%22first-tab%22%2C%20%22true%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mTabContainer.lastChild.setAttribute(%22last-tab%22%2C%20%22true%22)%3B'%20%2B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20'this.mCurrentTab.selected%20%3D%20true%3B'))%3B">Update Edge Tab Attributes</a>

They're so small and insignificant, an extension is almost a waste and barely worth the effort. This would be a great builtin, hopefully they take the bug.

edit: removed open tab right, just noticed there were a few others here
alta88
Posts: 1029
Joined: January 28th, 2006, 3:08 pm

Post by alta88 »

well i'm pleasantly surprised userchrome.js works in Thunderbird! so far just installed the MTLI Edit Config Menu snippet..
AnonEmoose
Posts: 2031
Joined: February 6th, 2004, 11:59 am

Re: userChrome.js

Post by AnonEmoose »

zeniko wrote: <a href="data:text/javascript,%2F*%20%3A%3A%3A%3A%3A%3A%3A%3A%20userChrome.xul%20%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%3A%20*%2F%0A%0A(function()%20%7B%0A%09var%20userChrome_xul%20%3D%20Components.classes%5B%22%40mozilla.org%2Ffile%2Fdirectory_service%3B1%22%5D.getService(Components.interfaces.nsIProperties).get(%22UChrm%22%2C%20Components.interfaces.nsILocalFile)%3B%0A%09userChrome_xul.append(%22userChrome.xul%22)%3B%0A%09%0A%09if%20(userChrome_xul.exists())%0A%09%7B%0A%09%09var%20fileURL%20%3D%20Components.classes%5B%22%40mozilla.org%2Fnetwork%2Fio-service%3B1%22%5D.getService(Components.interfaces.nsIIOService).getProtocolHandler(%22file%22).QueryInterface(Components.interfaces.nsIFileProtocolHandler).getURLSpecFromFile(userChrome_xul)%3B%0A%09%09document.loadOverlay(fileURL%2C%20null)%3B%0A%09%7D%0A%7D)()%3B%0A">userChrome.xul</a> (overlays the file userChrome.xul from the profile's chrome folder over the main window)


Expanding on more extended usage of the script above.
1. Copy/create/add the above mentioned file to your chrome folder as userChrome.js (or userChrome.uc.js if you use subscript or import scripts)
2. Create (multiple) customized xul/overlayfile(s) files
3. Create a file (one time) called userChrome.xul like this....

Code: Select all

<!-- Insert a line in this format for EACH custom overlay -->
<?xul-overlay href="optional-path-to-custom-overlay/name-of-Overlay1.xul"?>
<?xul-overlay href="optional-path-to-custom-overlay/name-of-Overlay2.xul"?>



<overlay id="pick-a-name-you-like"
   xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
</overlay>

4. add a line <?xul-overlay href="optional-path-to-custom-overlay/name-of-Overlay1.xul"?> as noted in step 3 for each overlay you wish to add
alta88
Posts: 1029
Joined: January 28th, 2006, 3:08 pm

Re: userChrome.js

Post by alta88 »

zeniko wrote:This release works for Firefox and Thunderbird 1.0 and newer, Mozilla Suite, SeaMonkey, Netscape and Netscape Browser, Nvu, Sunbird and Flock - about just as long as extensions can be installed.


if netscape (7.2) mail only is selected as default, the script will not run. apparently onLoad doesn't exist in the mail portion. if the browser is then run, the script will also, but will only apply to browser not mail. tried with the MTLI Tools edit userchrome.js menu script; same element names for both Tools menus but only added to browser.
Locked