I recently started modding TabExtensions so that I could use Hills' wonderful themes with Firefox 1.0.1. After a few early successes, TabExtensions took a major turn and the old method of updating it no longer worked and just caused bugs, so... I got my hands dirty.
Here is a guide for everyone as to what I do to fix TabExtensions, just incase I'm not around to do it myself.
Download the Latest Release Here
TabExtensions Mod Guide
Instructions based on TabExtensions v1.14.2005031701
Step 1: Getting to know .jar files
A .jar file (or a .xpi for that matter) is just a renamed .zip file so open it up in your favourite Zip application. Extract the contents to a spare folder and look at what you get. In this case you want to extract the TabExtensions.jar file found in:
x:Documents and SettingsUsernameApplication DataMozillaFirefoxProfilesdefault.wycextensions{0B0B0DA8-08BA-4bc6-987C-6BC9F4D8A81E}chrome
Where x: is your system drive, Username is your Windows username and default.wyc is your Firefox profile name (or default.wyc if you haven't made one.
If you can't find the directory search the extensions folder for TabExtensions.jar (making sure you've installed TabExtensions beforehand.
Step 2: Grab my modded version, even if it's older.
You need this because it has the skin folder that contains the code for the close button hover states. Extract it like the other one and copythe Skin folder over to the newer version.
Step 3: The Hard part, XUL modding
This is the important step I have found, the file TabExtensions.xml controls the layout of the tabs and there are a couple of small changes you need to make to rearrange the tab and one extra line to make the text appear in the skin's colour.
In the section, look for this code:
<binding id="tab" extends="chrome://global/content/bindings/tabbox.xml#tab">
<content>
<xul:image class="tab-icon"
tabclass="tab-icon-hidden"
xbl:inherits="src=image"/>
<xul:hbox class="tab-middle tab-image-middle box-inherit"
xbl:inherits="align,dir,pack,orient,selected"
flex="1">
[/size][/color][/color][/size][/size][/color][color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1] <xul:hbox class="tab-dropmarker-before"/>[/size][/color][/color][/size][/size][/color]
[color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1] [/size][/color][/color][/size][/size][/color][color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1]<xul:stack class="tab-icon">
<xul:image xbl:inherits="validate,src=image"
class="tab-icon-image"
tabclass="tab-icon-active"/>
<xul:image class="tab-extra-status"/>
<xul:spacer/>
</xul:stack>[/size][/color][/color][/size][/size][/color]
[color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1] <xul:stack class="tab-text-container" flex="1">
<xul:hbox class="tab-text-background" flex="1"/>
<xul:progressmeter class="tab-progress"
flex="1"
mode="normal" value="0"
xbl:inherits="value=tab-progress"/>
<xul:label class="tab-text"
flex="1"
xbl:inherits="value=label,accesskey,crop,disabled"/>
</xul:stack>
[/size][/color][/color][/size][/size][/color][color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1]<xul:toolbarbutton tabclass="tab-closebutton" class="tabs-closebutton close-button"/>[/size][/color][/color][/size][/size][/color]
[color=DarkOrange][size=3][size=1][color=DarkOrange][color=Black][size=1] <xul:hbox class="tab-dropmarker-after"/>
</xul:hbox>
</content>
It may not be exactly the same, but it's right at the top after the dummy binding.
However it is laid out you need to know these things:
1) This:~ controls the tab LOADING icon NOT the website icon, that's hidden.
class="tab-icon-image"
tabclass="tab-icon-active"/>
2) is the Close button
Logically, you just swap these over to get the reverse tabs.
3) There is a line missing in the code, after the first "tab-text" definition:
flex="1"
xbl:inherits="value=label,accesskey,crop,disabled"/>
There needs to be a duplicate with class "tab-text2", this makes the tab-text colour selected by the skin.
NOTE: There is only one problem currently with this mod, the left-most tab sometimes gets stuck with it's hover state active. i.e. You put your mouse over it when it's selected and it goes dark grey. If someone knows how to fix this, pass the info on to me.
Aqua-Soft Forums