[Tutorial] Mod TabExtensions for Hills Themes for Firefox 1.0.1

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.

#267753

got it..thank u very much.. i have been looking for this for a long time....

#267988

Thank you very much indeed ! Hope it works with 1.0.2 too :D

#268007

very difficult...but thx fella

#268256

I've been playing with this also, Since I only want the close buttons In the tabs and not all other features.

Nice Idea to go in the xml and edit It by hand.

I'm trying now, thanks for your work and dedication :D

#268440

I have this problem

tabt8bf.jpg

Firefox 1.02 with the last tabextensions mod

#270945

very handy information!

Thank you.

#271721

I have this problem

Firefox 1.02 with the last tabextensions mod

You need to set up your toolbar in a very specific manner for that not to happen, I'm ever so sorry that you are having problems. Have a check on the various Safarifox threads for tips on setting up your toolbar to stop that error happening.

#271835

thanx for the info on the tabextensions. You haven't tried my modded tabextension yet. Now i just have to use one jar file for both default theme or susumu's macish themes. pretty cool. that would be my best job. dAmn i need a pat on the back more often.

@baldi maybe you could post your config ? for tabextensions. by the "last tabextensions mod" do you mean you modded it or acaeris's posted ?

#271911

thank you for this tut its very usefull

#272024