User:Dickvl/TabVisited: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
In Firefox 3.6 it is no longer possible to use the ''selected'' attribute to style unvisited and visited tabs with code in [[userChrome.css]]. In Firefox 3.6 and above only the selected tab gets a ''selected="true"'' attribute. In previous Firefox 3 and 3.5 versions the visited tabs get a ''selected="false"'' attribute, but that attribute was removed to fix  buggy behavior [https://bugzilla.mozilla.org/show_bug.cgi?id=480813], [https://bugzilla.mozilla.org/show_bug.cgi?id=487242].<br>
In Firefox 3.6 and above it is no longer possible to use the ''selected'' attribute to style unvisited and visited tabs with code in [[userChrome.css]] and only the selected tab gets a ''selected="true"'' attribute. In previous Firefox 3 and 3.5 versions visited tabs get a ''selected="false"'' attribute, but that attribute was removed to fix  buggy behavior [https://bugzilla.mozilla.org/show_bug.cgi?id=480813], [https://bugzilla.mozilla.org/show_bug.cgi?id=487242].<br>


==TabVisited==
==TabVisited==
I have attached an extension TabVisited to bug 487242 to add a ''visited'' attribute to tabs that have been visited that can be used until bug 487242 gets fixed.<br>
I have attached an extension TabVisited to [https://bugzilla.mozilla.org/show_bug.cgi?id=487242 bug 487242] to add a ''visited'' attribute to tabs that have been visited that can be used until bug 487242 gets fixed.<br>
Tabs that haven't been visited do not have that attribute. The currently selected tab has a ''selected'' and a ''visited'' attribute.<br>
Tabs that haven't been visited do not have that attribute. The currently selected tab has a ''selected'' and a ''visited'' attribute.<br>
See comment #c0 [https://bugzilla.mozilla.org/show_bug.cgi?id=487242#c0] (Description) for some coding examples.<br>
See comment #c0 [https://bugzilla.mozilla.org/show_bug.cgi?id=487242#c0] (Description) for some coding examples.<br>
You can drop the extensions XPI file in the ''%AppData%\Mozilla\extensions\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}'' (Linux: ~/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}) folder to install the extension for all profiles, including nightly Minefield and Namoroka builds. The extension will be installed on the next start of Firefox [https://developer.mozilla.org/en/Installing_extensions]<br>
You can drop the extensions XPI file in the ''%AppData%\Mozilla\extensions\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}'' folder (Linux: ~/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}) to install the extension for all profiles, including nightly Minefield and Namoroka builds. The extension will be installed on the next start of Firefox [https://developer.mozilla.org/en/Installing_extensions]<br>
 
Here are some versions of TabVisited that you can try out. Version 1.1 only adds the ''visited'' attribute, so you need to add code to [[userChrome.css]] to see visited tabs different. Versions 2.0 and 2.5 have CSS code embedded and work without adding code to [[userChrome.css]]. Version 2.5 only sets the text color and not the background color. All three versions work in Firefox 3 and SeaMonkey 2, only tested with the default theme and without other extensions that modify the tab bar.


==TabVisited 1.1==
==TabVisited 1.1==

Revision as of 05:15, 7 February 2010

In Firefox 3.6 and above it is no longer possible to use the selected attribute to style unvisited and visited tabs with code in userChrome.css and only the selected tab gets a selected="true" attribute. In previous Firefox 3 and 3.5 versions visited tabs get a selected="false" attribute, but that attribute was removed to fix buggy behavior [1], [2].

TabVisited

I have attached an extension TabVisited to bug 487242 to add a visited attribute to tabs that have been visited that can be used until bug 487242 gets fixed.
Tabs that haven't been visited do not have that attribute. The currently selected tab has a selected and a visited attribute.
See comment #c0 [3] (Description) for some coding examples.
You can drop the extensions XPI file in the %AppData%\Mozilla\extensions\{ec8030f7-c20a-464f-9b0e-13a3a9e97384} folder (Linux: ~/.mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}) to install the extension for all profiles, including nightly Minefield and Namoroka builds. The extension will be installed on the next start of Firefox [4]

Here are some versions of TabVisited that you can try out. Version 1.1 only adds the visited attribute, so you need to add code to userChrome.css to see visited tabs different. Versions 2.0 and 2.5 have CSS code embedded and work without adding code to userChrome.css. Version 2.5 only sets the text color and not the background color. All three versions work in Firefox 3 and SeaMonkey 2, only tested with the default theme and without other extensions that modify the tab bar.

TabVisited 1.1

Copy and paste the full DATA code in the location bar and save the file as tabvisited-1.1-fx-sm.xpi (Feb 7 2010)
You can install the extension via File > Open File or by dragging the file in a Firefox window.
The maxVersion for Firefox is set to 4.*. This version works in SeaMonkey 2 as well.

data:application/octet-stream;base64,
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

TabVisited 2.0 with CSS code

This version has the CSS code from [5] embedded (chrome://tabvisited/content/tabvisited.css).
Works with Firefox 3 (maxVersion 4.*) and SeaMonkey 2 (maxVersion 2.0+).
Copy and paste the full DATA code in the location bar and press the Enter key. Save as tabvisited-2.0-fx-sm.xpi (Feb 7 2010)

data:application/octet-stream;base64,
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

TabVisited 2.5 with CSS code

This version also has CSS code embedded (chrome://tabvisited/content/tabvisited.css).
Works with Firefox 3 (maxVersion 4.*) and SeaMonkey 2 (maxVersion 2.0+).

/* Change text color of not visited tabs  - RED */
 .tabbrowser-tab:not([visited]) {color:#c00!important;font-style:italic!important;}

/* Change text color of normal tabs  - BLACK */
.tabbrowser-tab[visited="true"] {color:#000!important;}

/* Change text color of active tab  - BLACK */
.tabbrowser-tab[selected="true"] {color:#000!important;font-weight:bold;}

/* Change text color of loading tab - BLUE */
.tabbrowser-tab[busy] {color:#00c!important;font-weight:bold;}

Copy and paste the full DATA code in the location bar and press the Enter key. Save as tabvisited-2.5-fx-sm.xpi (Feb 7 2010)

data:application/octet-stream;base64,
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