[Pkg-mozext-commits] [tabmixplus] 16/28: Follow up bug 1066531, move all style rules with selected/visuallyselected attribute to separate files under app_version/before39.0 and app_version/39.0 folder. Move our style attributes to gBrowser.tabContainer and update style rules accordingly.
David Prévot
taffit at moszumanska.debian.org
Sun Jul 5 15:02:34 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository tabmixplus.
commit 1fb9d646f673a6fce5d176e8b7cc2e887804d311
Author: onemen <tabmix.onemen at gmail.com>
Date: Thu Jun 25 21:09:36 2015 +0300
Follow up bug 1066531, move all style rules with selected/visuallyselected attribute to separate files under app_version/before39.0 and app_version/39.0 folder.
Move our style attributes to gBrowser.tabContainer and update style rules accordingly.
---
chrome.manifest | 3 +-
chrome/content/links/userInterface.js | 24 +-
chrome/content/minit/tablib.js | 8 +
chrome/content/tab/tab.js | 46 ++--
chrome/content/tabmix.js | 40 +--
chrome/skin/app_version/39.0/linux/browser.css | 17 ++
chrome/skin/app_version/39.0/mac/browser.css | 35 +++
chrome/skin/app_version/39.0/tabStyles.css | 267 +++++++++++++++++++++
chrome/skin/app_version/39.0/win/browser.css | 19 ++
chrome/skin/app_version/all/linux/browser.css | 7 -
chrome/skin/app_version/all/mac/browser.css | 16 --
chrome/skin/app_version/all/win/browser.css | 8 -
.../skin/app_version/before39.0/linux/browser.css | 17 ++
chrome/skin/app_version/before39.0/mac/browser.css | 35 +++
chrome/skin/app_version/before39.0/tabStyles.css | 265 ++++++++++++++++++++
chrome/skin/app_version/before39.0/win/browser.css | 19 ++
chrome/skin/general.css | 120 ---------
chrome/skin/tab.css | 21 --
modules/DynamicRules.jsm | 54 +++--
modules/Services.jsm | 6 +
20 files changed, 778 insertions(+), 249 deletions(-)
diff --git a/chrome.manifest b/chrome.manifest
index 345acc1..fb60af1 100644
--- a/chrome.manifest
+++ b/chrome.manifest
@@ -80,7 +80,8 @@ overlay chrome://wizzrss/content/feedster.xul chrome://tab
skin tabmixplus classic/1.0 chrome/skin/
-skin tabmix-version tabmixplus chrome/skin/app_version/all/
+skin tabmix-version tabmixplus chrome/skin/app_version/before39.0/ appversion<39.0a1
+skin tabmix-version tabmixplus chrome/skin/app_version/39.0/ appversion>=39.0a1
skin tabmix-os classic/1.0 chrome://tabmix-version/skin/win/ os=WINNT
skin tabmix-os classic/1.0 chrome://tabmix-version/skin/mac/ os=Darwin
skin tabmix-os classic/1.0 chrome://tabmix-version/skin/linux/ os=Linux
diff --git a/chrome/content/links/userInterface.js b/chrome/content/links/userInterface.js
index 56d8c1f..26853f4 100644
--- a/chrome/content/links/userInterface.js
+++ b/chrome/content/links/userInterface.js
@@ -380,31 +380,27 @@ Tabmix.restoreTabState = function TMP_restoreTabState(aTab) {
aTab.removeAttribute("maxwidth");
};
-Tabmix.tabStyles = {};
Tabmix.setTabStyle = function(aTab, boldChanged) {
if (!aTab)
return;
- let style = "other";
- if (aTab.selected)
- style = "current";
+ let style = "null";
+ let isSelected = aTab.getAttribute(TabmixSvc.selectedAtt) == "true";
// if pending tab is blank we don't style it as unload or unread
- else if (Tabmix.prefs.getBoolPref("unloadedTab") &&
+ if (!isSelected && Tabmix.prefs.getBoolPref("unloadedTab") &&
(aTab.hasAttribute("pending") || aTab.hasAttribute("tabmix_pending")))
style = TMP_SessionStore.isBlankPendingTab(aTab) ? "other" : "unloaded";
- else if (Tabmix.prefs.getBoolPref("unreadTab") &&
+ else if (!isSelected && Tabmix.prefs.getBoolPref("unreadTab") &&
!aTab.hasAttribute("visited") && !isTabEmpty(aTab))
style = "unread";
- let currentAttrib = aTab.getAttribute("tabmix_tabStyle");
- let newAttrib = Tabmix.tabStyles[style] || style;
- this.setItem(aTab, "tabmix_tabStyle", newAttrib);
+ let currentStyle = aTab.getAttribute("tabmix_tabState") || null;
+ if (style != "unread" && style != "unloaded")
+ style = null;
+ this.setItem(aTab, "tabmix_tabState", style);
if (!boldChanged)
return;
- let isBold = function(attrib) {
- attrib = attrib.split(" ");
- return attrib.length > 1 && attrib.indexOf("not-bold") == -1;
- };
- boldChanged.value = isBold(newAttrib) != isBold(currentAttrib);
+ // return true if state changed
+ boldChanged.value = currentStyle != style;
};
diff --git a/chrome/content/minit/tablib.js b/chrome/content/minit/tablib.js
index 5cb6070..02a8790 100644
--- a/chrome/content/minit/tablib.js
+++ b/chrome/content/minit/tablib.js
@@ -477,6 +477,14 @@ var tablib = {
' }'
).defineProperty();
+ if (Tabmix.isVersion(220)) {
+ Tabmix.changeCode(tabBar, "gBrowser.tabContainer._setPositionalAttributes")._replace(
+ /(\})(\)?)$/,
+ ' Tabmix.setTabStyle(this.selectedItem);\n' +
+ ' TabmixTabbar.updateBeforeAndAfter();\n' +
+ '$1$2'
+ ).toCode();
+ }
},
change_utility: function change_utility() {
diff --git a/chrome/content/tab/tab.js b/chrome/content/tab/tab.js
index e0f2326..e4ce98d 100644
--- a/chrome/content/tab/tab.js
+++ b/chrome/content/tab/tab.js
@@ -1222,7 +1222,7 @@ var gTMPprefObserver = {
case "extensions.tabmix.unloadedTab":
case "extensions.tabmix.unreadTab":
case "extensions.tabmix.otherTab":
- this.updateTabsStyle(prefName.split(".").pop(), true);
+ this.updateTabsStyle(prefName.split(".").pop());
break;
case "extensions.tabmix.progressMeter":
this.setProgressMeter();
@@ -1757,7 +1757,7 @@ var gTMPprefObserver = {
}
},
- updateTabsStyle: function(ruleName, toggle) {
+ updateTabsStyle: function(ruleName) {
let attribValue = null;
let styleName = ruleName.replace("Tab", "");
let enabled = Tabmix.prefs.getBoolPref(ruleName);
@@ -1770,45 +1770,35 @@ var gTMPprefObserver = {
prefValues.underline ? "underline" : "not-underline"
];
if (prefValues.text)
- attribValue.push(styleName + "-text");
+ attribValue.push("text");
if (prefValues.bg)
- attribValue.push(styleName + "-bg");
+ attribValue.push("bg");
attribValue = attribValue.join(" ");
}
- let getTabs = function(attrib, val) {
- return Array.slice(document.getElementsByAttribute(attrib, val));
- };
+ let tabBar = gBrowser.tabContainer;
+ let currentAttrib = tabBar.getAttribute("tabmix_" + styleName + "Style") || "";
+ Tabmix.setItem(tabBar, "tabmix_" + styleName + "Style", attribValue);
- let tabs, attrib = Tabmix.tabStyles[styleName] || styleName;
- Tabmix.tabStyles[styleName] = attribValue;
/** style on non-selected tab are unloaded, unread or other, unloaded and
* unread are only set on tab if the corresponded preference it on. if user
* changed unloaded or unread preference we need to set the proper tab
* style for each tab
*/
- if (toggle && styleName == "unloaded") {
- tabs = getTabs("pending", "true");
- tabs.forEach(function(tab) Tabmix.setTabStyle(tab));
- }
- else if (toggle && styleName == "unread") {
- if (enabled)
- attrib = Tabmix.tabStyles["other"] || "other";
- tabs = getTabs("tabmix_tabStyle", attrib);
- tabs.forEach(function(tab) Tabmix.setTabStyle(tab));
- }
- else {
- tabs = getTabs("tabmix_tabStyle", attrib);
- tabs.forEach(function(tab) {
- Tabmix.setItem(tab, "tabmix_tabStyle", attribValue || styleName);
- });
- }
+ if (styleName == "unloaded" || styleName == "unread")
+ Array.forEach(gBrowser.tabs, function(tab) Tabmix.setTabStyle(tab));
+ let isBold = function(attrib) {
+ attrib = attrib.split(" ");
+ return attrib.length > 1 && attrib.indexOf("not-bold") == -1;
+ };
// changing bold attribute can change tab width and effect tabBar scroll status
// also when we turn off unloaded, unread and other style diffrent style can take
// control with a diffrent bold attribute
- TabmixTabbar.updateScrollStatus();
- TabmixTabbar.updateBeforeAndAfter();
+ if (isBold(attribValue || "") != isBold(currentAttrib)) {
+ TabmixTabbar.updateScrollStatus();
+ TabmixTabbar.updateBeforeAndAfter();
+ }
},
setProgressMeter: function () {
@@ -2583,7 +2573,7 @@ var TabmixProgressListener = {
if (!isBlankPageURL(uri) && uri.indexOf("newTab.xul") == -1) {
aBrowser.tabmix_allowLoad = !tab.hasAttribute("locked");
if (Tabmix.prefs.getBoolPref("unreadTabreload") && tab.hasAttribute("visited") &&
- !tab.hasAttribute("dontremovevisited") && tab.getAttribute("selected") != "true")
+ !tab.hasAttribute("dontremovevisited") && tab.getAttribute(TabmixSvc.selectedAtt) != "true")
tab.removeAttribute("visited");
Tabmix.setTabStyle(tab);
}
diff --git a/chrome/content/tabmix.js b/chrome/content/tabmix.js
index 0472e6f..49764be 100644
--- a/chrome/content/tabmix.js
+++ b/chrome/content/tabmix.js
@@ -286,6 +286,9 @@ var TMP_eventListener = {
case "TabSelect":
this.onTabSelect(aEvent);
break;
+ case "TabSwitchDone":
+ this.onTabSwitchDone(gBrowser.selectedTab);
+ break;
case "TabMove":
this.onTabMove(aEvent);
break;
@@ -460,6 +463,10 @@ var TMP_eventListener = {
Tabmix.Utils.initMessageManager(window);
}
+ if (Tabmix.isVersion(390)) {
+ gBrowser.addEventListener("TabSwitchDone", this, false);
+ }
+
var tabBar = gBrowser.tabContainer;
tabBar.addEventListener("DOMMouseScroll", this, true);
@@ -613,7 +620,7 @@ var TMP_eventListener = {
// apply style on tabs
let styles = ["currentTab", "unloadedTab", "unreadTab", "otherTab"];
styles.forEach(function(ruleName) {
- gTMPprefObserver.updateTabsStyle(ruleName, true);
+ gTMPprefObserver.updateTabsStyle(ruleName);
});
// progressMeter on tabs
gTMPprefObserver.setProgressMeter();
@@ -914,7 +921,6 @@ var TMP_eventListener = {
onTabSelect: function TMP_EL_TabSelect(aEvent) {
var tab = aEvent.target;
- var tabBar = gBrowser.tabContainer;
// for ColorfulTabs 6.0+
// ColorfulTabs trapp TabSelect event after we do
@@ -936,29 +942,31 @@ var TMP_eventListener = {
// update this functions after new tab select
tab.setAttribute("tabmix_selectedID", Tabmix._nextSelectedID++);
+
+ if (!Tabmix.isVersion(390)) {
+ this.onTabSwitchDone(tab);
+ }
+
+ TMP_LastTab.OnSelect();
+ TabmixSessionManager.tabSelected(true);
+ },
+
+ onTabSwitchDone: function(tab) {
if (!tab.hasAttribute("visited"))
tab.setAttribute("visited", true);
if (tab.hasAttribute("tabmix_pending"))
tab.removeAttribute("tabmix_pending");
- let lastSelected = document.getElementsByAttribute("tabmix_tabStyle",
- Tabmix.tabStyles["current"] || "current")[0];
- Tabmix.setTabStyle(lastSelected);
Tabmix.setTabStyle(tab);
- TMP_LastTab.OnSelect();
- TabmixSessionManager.tabSelected(true);
-
if (tab.hasAttribute("showbutton") &&
- tabBar.getAttribute("closebuttons") == "activetab")
+ gBrowser.tabContainer.getAttribute("closebuttons") == "activetab")
tab.style.removeProperty("width");
// tabBar.updateCurrentBrowser call tabBar._setPositionalAttributes after
- // TabSelect event. we call updateBeforeAndAfter after a timeout so
- // _setPositionalAttributes not override our attribute
- if (Tabmix.isVersion(220))
- setTimeout(function(){TabmixTabbar.updateBeforeAndAfter();}, 0);
- else
+ // TabSelect event.
+ // Since Firefox 220 we call updateBeforeAndAfter from _setPositionalAttributes
+ if (!Tabmix.isVersion(220))
TabmixTabbar.updateBeforeAndAfter();
},
@@ -1084,6 +1092,10 @@ var TMP_eventListener = {
if (alltabsPopup && alltabsPopup._tabmix_inited)
alltabsPopup.removeEventListener("popupshown", alltabsPopup.__ensureElementIsVisible, false);
+ if (Tabmix.isVersion(390)) {
+ gBrowser.removeEventListener("TabSwitchDone", this, false);
+ }
+
gBrowser.tabContainer.removeEventListener("DOMMouseScroll", this, true);
if (TMP_TabView.installed)
diff --git a/chrome/skin/app_version/39.0/linux/browser.css b/chrome/skin/app_version/39.0/linux/browser.css
new file mode 100644
index 0000000..e40d969
--- /dev/null
+++ b/chrome/skin/app_version/39.0/linux/browser.css
@@ -0,0 +1,17 @@
+/**
+ Firefox version 39+
+
+ Linux platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/linux/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/39.0/tabStyles.css");
+
+/*** Tab close button when user set background color ***/
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) .tab-close-button,
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) .tab-close-button,
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-close-button {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
+}
diff --git a/chrome/skin/app_version/39.0/mac/browser.css b/chrome/skin/app_version/39.0/mac/browser.css
new file mode 100644
index 0000000..881557d
--- /dev/null
+++ b/chrome/skin/app_version/39.0/mac/browser.css
@@ -0,0 +1,35 @@
+/**
+ Firefox version 39+
+
+ Mac platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/mac/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/mac/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/39.0/tabStyles.css");
+
+#tabbrowser-tabs[tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-content {
+ border-image: none !important;
+}
+
+/* tabmix color on tab - for inactive window */
+#tabbrowser-tabs[tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive {
+ opacity: 0.5 !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ clip-path: none !important;
+}
diff --git a/chrome/skin/app_version/39.0/tabStyles.css b/chrome/skin/app_version/39.0/tabStyles.css
new file mode 100644
index 0000000..256692f
--- /dev/null
+++ b/chrome/skin/app_version/39.0/tabStyles.css
@@ -0,0 +1,267 @@
+/**
+ Firefox version 39+
+ Bug 1066531 replaced selected attribute with visuallyselected
+
+ :::: use visuallyselected instead of selected ::::
+
+ ALL platform
+
+**/
+
+/* :::: For current, unloaded, unread and other tab styles :::: */
+.tabbrowser-tabs[tabmix_currentStyle~="bold"] >
+ .tabbrowser-tab[visuallyselected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="bold"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([visuallyselected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="bold"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="bold"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-weight: bold !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="not-bold"] >
+ .tabbrowser-tab[visuallyselected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="not-bold"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([visuallyselected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="not-bold"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="not-bold"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-weight: normal !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="italic"] >
+ .tabbrowser-tab[visuallyselected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="italic"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([visuallyselected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="italic"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="italic"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-style: italic !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="not-italic"] >
+ .tabbrowser-tab[visuallyselected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="not-italic"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([visuallyselected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="not-italic"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="not-italic"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-style: normal !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="underline"] >
+ .tabbrowser-tab[visuallyselected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="underline"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([visuallyselected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="underline"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="underline"] >
+ .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] .tab-text {
+ text-decoration: underline !important;
+}
+
+/* :::: tabs background color for australis [Firefox 28+] :::: */
+.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab:hover:not([tabmix-beforeselected-visible]):not([visuallyselected="true"]):not([dragged]) {
+ position: relative;
+ z-index: 1;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ background-color: transparent !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before {
+ clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-start) !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before {
+ clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-end) !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[visuallyselected="true"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end::before {
+ content: "" !important; /* this alrady exist for windows check in Mac and Linux*/
+ display: -moz-box !important; /* this alrady exist for windows check in Mac and Linux*/
+ background-color: transparent !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-end::before {
+ min-height: 31px;
+ width: 30px;
+}
+
+/* see the same rule for selected tab in chrome://browser/skin/browser.css */
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-middle {
+ background-clip: padding-box !important;
+ background-repeat: repeat-x !important;
+ background-size: auto 100%, auto 100%, auto 100% !important;
+ padding-top: 2px !important;
+ background-position: left bottom, left bottom, right bottom !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-end {
+ width: 0px !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background {
+ -moz-margin-start: 0px;
+ -moz-margin-end: 0px;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
+ border: 2px solid transparent;
+ border-bottom: none;
+ -moz-margin-start: -1px;
+ -moz-margin-end: -1px;
+ border-radius: 13.25px 13.25px 0 0;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
+ -moz-margin-start: -0.5px;
+ -moz-margin-end: -0.5px;
+}
+
+/* fix radios for tabs before and after the selected or hovered tab */
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 15px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]):not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-bottom-right-radius: 15px;
+}
+
+/* fix for hoverd tab that is before or after selected tab */
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before {
+ width: 0px !important;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
+ background-position: left bottom, left bottom, right bottom;
+ background-size: 0% 0%, calc(100% - (1 * 30px)) 100%, 30px 100%;
+ border-radius: 16px 0 0 20px;
+ margin-left: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-left: 2px solid rgba(26 ,26, 26, 0.25);
+ border-radius: 16px 0 0 20px;
+ margin-left: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
+ background-position: left bottom, 30px bottom, right bottom;
+ background-size: 30px 100%, calc(100% - (1 * 30px)) 100%, 0% 0%;
+ border-radius: 0 16px 20px 0;
+ margin-right: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-right: 2px solid rgba(26, 26, 26, 0.25);
+ border-radius: 0 16px 20px 0;
+ margin-right: 0px;
+}
diff --git a/chrome/skin/app_version/39.0/win/browser.css b/chrome/skin/app_version/39.0/win/browser.css
new file mode 100644
index 0000000..0468e2c
--- /dev/null
+++ b/chrome/skin/app_version/39.0/win/browser.css
@@ -0,0 +1,19 @@
+/**
+ Firefox version 39+
+
+ Windows platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/win/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/39.0/tabStyles.css");
+
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([visuallyselected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ clip-path: none !important;
+}
diff --git a/chrome/skin/app_version/all/linux/browser.css b/chrome/skin/app_version/all/linux/browser.css
index 00a0886..2d22d1b 100644
--- a/chrome/skin/app_version/all/linux/browser.css
+++ b/chrome/skin/app_version/all/linux/browser.css
@@ -5,8 +5,6 @@
**/
- at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
-
/* :::: tabbar on bottom :::: */
#TabsToolbar[tabbaronbottom] {
background-image: none !important;
@@ -29,11 +27,6 @@
background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 96, 16, 80);
}
-/*** Tab close button when user set background color ***/
-#TabsToolbar[brighttext] .tabbrowser-tab:not([selected="true"]):not(:hover)[tabmix_tabStyle*="bg"] .tab-close-button {
- background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
-}
-
#TabsToolbar[tabmix_skin][multibar] > #appmenu-toolbar-button {
height: 25px;
}
diff --git a/chrome/skin/app_version/all/mac/browser.css b/chrome/skin/app_version/all/mac/browser.css
index fee117e..a75402d 100644
--- a/chrome/skin/app_version/all/mac/browser.css
+++ b/chrome/skin/app_version/all/mac/browser.css
@@ -5,8 +5,6 @@
**/
- at import url("chrome://tabmixplus/skin/app_version/all/mac/progress.css");
-
/* :::: tabbar on bottom ::::
we leave the default background-image on mac
#TabsToolbar[tabbaronbottom] {
@@ -51,16 +49,6 @@
vertical-align: bottom;
}
-.tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-content {
- border-image: none !important;
-}
-
-/* tabmix color on tab - for inactive window */
-.tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background >
- :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive {
- opacity: 0.5 !important;
-}
-
/* for mac - look in pinstripe/browser/browser.css */
.tabbrowser-tabs > .tabbrowser-tab > * > .tab-progress-container > .tab-progress:not([selected="true"]),
.tabbrowser-tabs > .tabbrowser-tab:not(:hover) > * > * > .tab-icon > .tab-icon-image:not([selected="true"]),
@@ -94,7 +82,3 @@
#tabmixScrollBox[flowing=scrollbutton] > .scrollbutton-up:-moz-locale-dir(rtl) {
-moz-border-image: url("chrome://browser/skin/tabbrowser/tab-overflow-border.png") 0 2 0 2 / 0 2px 0 0;
}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]) > .tab-stack > .tab-background > .tab-background-middle {
- clip-path: none !important;
-}
diff --git a/chrome/skin/app_version/all/win/browser.css b/chrome/skin/app_version/all/win/browser.css
index a95b489..74cfa33 100644
--- a/chrome/skin/app_version/all/win/browser.css
+++ b/chrome/skin/app_version/all/win/browser.css
@@ -7,8 +7,6 @@
to apply rule only to default them add #tabbrowser-tabs[classic40]
**/
- at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
-
/* :::: tabbar on bottom :::: */
#TabsToolbar[tabbaronbottom] {
background-image: none !important;
@@ -75,9 +73,3 @@
background-size: calc(100% - 2px) calc(100% - 2px), 1px calc(100% - 1px), 1px calc(100% - 1px), 100% 1px, 100% 1px;
background-repeat: no-repeat;
}
-
-
-#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]) > .tab-stack > .tab-background > .tab-background-middle {
- clip-path: none !important;
-}
diff --git a/chrome/skin/app_version/before39.0/linux/browser.css b/chrome/skin/app_version/before39.0/linux/browser.css
new file mode 100644
index 0000000..0b379f5
--- /dev/null
+++ b/chrome/skin/app_version/before39.0/linux/browser.css
@@ -0,0 +1,17 @@
+/**
+ Firefox before version 39
+
+ Linux platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/linux/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/before39.0/tabStyles.css");
+
+/*** Tab close button when user set background color ***/
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) .tab-close-button,
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) .tab-close-button,
+#TabsToolbar[brighttext] > #tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-close-button {
+ background-image: -moz-image-rect(url("chrome://global/skin/icons/close.svg"), 0, 16, 16, 0);
+}
diff --git a/chrome/skin/app_version/before39.0/mac/browser.css b/chrome/skin/app_version/before39.0/mac/browser.css
new file mode 100644
index 0000000..0affcaa
--- /dev/null
+++ b/chrome/skin/app_version/before39.0/mac/browser.css
@@ -0,0 +1,35 @@
+/**
+ Firefox before version 39
+
+ Mac platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/mac/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/mac/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/before39.0/tabStyles.css");
+
+#tabbrowser-tabs[tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-content,
+#tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-content {
+ border-image: none !important;
+}
+
+/* tabmix color on tab - for inactive window */
+#tabbrowser-tabs[tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive,
+#tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background >
+ :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end):-moz-window-inactive {
+ opacity: 0.5 !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ clip-path: none !important;
+}
diff --git a/chrome/skin/app_version/before39.0/tabStyles.css b/chrome/skin/app_version/before39.0/tabStyles.css
new file mode 100644
index 0000000..e488fb8
--- /dev/null
+++ b/chrome/skin/app_version/before39.0/tabStyles.css
@@ -0,0 +1,265 @@
+/**
+ Firefox before version 39
+ Bug 1066531 replaced selected attribute with visuallyselected
+
+ ALL platform
+
+**/
+
+/* :::: For current, unloaded, unread and other tab styles :::: */
+.tabbrowser-tabs[tabmix_currentStyle~="bold"] >
+ .tabbrowser-tab[selected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="bold"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([selected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="bold"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="bold"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-weight: bold !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="not-bold"] >
+ .tabbrowser-tab[selected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="not-bold"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([selected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="not-bold"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="not-bold"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-weight: normal !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="italic"] >
+ .tabbrowser-tab[selected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="italic"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([selected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="italic"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="italic"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-style: italic !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="not-italic"] >
+ .tabbrowser-tab[selected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="not-italic"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([selected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="not-italic"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="not-italic"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] .tab-text {
+ font-style: normal !important;
+}
+
+.tabbrowser-tabs[tabmix_currentStyle~="underline"] >
+ .tabbrowser-tab[selected="true"] .tab-text,
+.tabbrowser-tabs[tabmix_otherStyle~="underline"] >
+ .tabbrowser-tab:not([tabmix_tabState]):not([selected="true"]) .tab-text,
+.tabbrowser-tabs[tabmix_unloadedStyle~="underline"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] .tab-text,
+.tabbrowser-tabs[tabmix_unreadStyle~="underline"] >
+ .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] .tab-text {
+ text-decoration: underline !important;
+}
+
+/* :::: tabs background color for australis [Firefox 28+] :::: */
+.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab:hover:not([tabmix-beforeselected-visible]):not([selected="true"]):not([dragged]) {
+ position: relative;
+ z-index: 1;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ background-color: transparent !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before {
+ clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-start) !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before {
+ clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-end) !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_currentStyle~="bg"] > .tabbrowser-tab[selected="true"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-end::before {
+ content: "" !important; /* this alrady exist for windows check in Mac and Linux*/
+ display: -moz-box !important; /* this alrady exist for windows check in Mac and Linux*/
+ background-color: transparent !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-end::before {
+ min-height: 31px;
+ width: 30px;
+}
+
+/* see the same rule for selected tab in chrome://browser/skin/browser.css */
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:hover > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:hover > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):hover > .tab-stack > .tab-background > .tab-background-middle {
+ background-clip: padding-box !important;
+ background-repeat: repeat-x !important;
+ background-size: auto 100%, auto 100%, auto 100% !important;
+ padding-top: 2px !important;
+ background-position: left bottom, left bottom, right bottom !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-end {
+ width: 0px !important;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background {
+ -moz-margin-start: 0px;
+ -moz-margin-end: 0px;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
+ border: 2px solid transparent;
+ border-bottom: none;
+ -moz-margin-start: -1px;
+ -moz-margin-end: -1px;
+ border-radius: 13.25px 13.25px 0 0;
+}
+
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab[first-visible-tab]:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([selected="true"])[tabmix_tabState="unread"]:not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
+#tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab[last-visible-tab]:not([selected="true"]):not([tabmix_tabState]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
+ -moz-margin-start: -0.5px;
+ -moz-margin-end: -0.5px;
+}
+
+/* fix radios for tabs before and after the selected or hovered tab */
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-bottom-left-radius: 15px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover)[tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"]:not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]):not(:hover)[afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-bottom-right-radius: 15px;
+}
+
+/* fix for hoverd tab that is before or after selected tab */
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before,
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before {
+ width: 0px !important;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
+ background-position: left bottom, left bottom, right bottom;
+ background-size: 0% 0%, calc(100% - (1 * 30px)) 100%, 30px 100%;
+ border-radius: 16px 0 0 20px;
+ margin-left: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-left: 2px solid rgba(26 ,26, 26, 0.25);
+ border-radius: 16px 0 0 20px;
+ margin-left: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
+ background-position: left bottom, 30px bottom, right bottom;
+ background-size: 30px 100%, calc(100% - (1 * 30px)) 100%, 0% 0%;
+ border-radius: 0 16px 20px 0;
+ margin-right: 0px;
+}
+
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
+#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState])[afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
+ border-right: 2px solid rgba(26, 26, 26, 0.25);
+ border-radius: 0 16px 20px 0;
+ margin-right: 0px;
+}
diff --git a/chrome/skin/app_version/before39.0/win/browser.css b/chrome/skin/app_version/before39.0/win/browser.css
new file mode 100644
index 0000000..d24b354
--- /dev/null
+++ b/chrome/skin/app_version/before39.0/win/browser.css
@@ -0,0 +1,19 @@
+/**
+ Firefox before version 39
+
+ Windows platform
+
+**/
+
+ at import url("chrome://tabmixplus/skin/app_version/all/win/browser.css");
+ at import url("chrome://tabmixplus/skin/app_version/all/win/progress.css");
+ at import url("chrome://tabmixplus/skin/app_version/before39.0/tabStyles.css");
+
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_unloadedStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unloaded"] > .tab-stack > .tab-background > .tab-background-middle,
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_unreadStyle~="bg"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabState="unread"] > .tab-stack > .tab-background > .tab-background-middle,
+#main-window[tabsintitlebar][sizemode=normal] #toolbar-menubar[autohide="true"][inactive] + #TabsToolbar
+ #tabbrowser-tabs[tabmix_australis="true"][tabmix_otherStyle~="bg"] > .tabbrowser-tab:not([selected="true"]):not([tabmix_tabState]) > .tab-stack > .tab-background > .tab-background-middle {
+ clip-path: none !important;
+}
diff --git a/chrome/skin/general.css b/chrome/skin/general.css
index 0f7005d..44165cb 100644
--- a/chrome/skin/general.css
+++ b/chrome/skin/general.css
@@ -65,123 +65,3 @@
-moz-padding-start: 15px;
-moz-padding-end: 15px;
}
-
-/* :::: tabs background color for australis [Firefox 28+] :::: */
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab:hover:not([tabmix-beforeselected-visible]):not([selected=true]):not([dragged]) {
- position: relative;
- z-index: 1;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background ,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-middle {
- background-color: transparent !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(ltr)::before,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(rtl)::before {
- clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-start) !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-end:-moz-locale-dir(ltr)::before,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-start:-moz-locale-dir(rtl)::before {
- clip-path: url(chrome://browser/content/browser.xul#tab-curve-clip-path-end) !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-start::before,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"] > .tab-stack > .tab-background > .tab-background-end::before {
- content: "" !important; /* this alrady exist for windows check in Mac and Linux*/
- display: -moz-box !important; /* this alrady exist for windows check in Mac and Linux*/
- background-color: transparent !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:hover > .tab-stack > .tab-background > .tab-background-start:not([selected=true])::before,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:hover > .tab-stack > .tab-background > .tab-background-end:not([selected=true])::before {
- min-height: 31px;
- width: 30px;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:hover > .tab-stack > .tab-background > .tab-background-middle:not([selected=true]) {
- /* see the same rule for selected tab in chrome://browser/skin/browser.css */
- background-clip: padding-box !important;
- background-repeat: repeat-x !important;
- background-size: auto 100%, auto 100%, auto 100% !important;
- padding-top: 2px !important;
- background-position: left bottom, left bottom, right bottom !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]):not(:hover) > .tab-stack > .tab-background > .tab-background-start,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]):not(:hover) > .tab-stack > .tab-background > .tab-background-end {
- width: 0px !important;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]):not(:hover) > .tab-stack > .tab-background {
- -moz-margin-start: 0px;
- -moz-margin-end: 0px;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[tabmix_tabStyle*="bg"]:not([selected=true]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
- border: 2px solid transparent;
- border-bottom: none;
- -moz-margin-start: -1px;
- -moz-margin-end: -1px;
- border-radius: 13.25px 13.25px 0 0;
-}
-
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[first-visible-tab][tabmix_tabStyle*="bg"]:not([selected="true"]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle,
-.tabbrowser-tabs[tabmix_australis="true"] > .tabbrowser-tab[last-visible-tab][tabmix_tabStyle*="bg"]:not([selected="true"]):not(:hover) > .tab-stack > .tab-background > .tab-background-middle {
- -moz-margin-start: -0.5px;
- -moz-margin-end: -0.5px;
-}
-
-/* fix radios for tabs before and after the selected or hovered tab */
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"]):not(:hover)[tabmix_tabStyle*="bg"][afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"]):not(:hover)[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
- border-bottom-left-radius: 15px;
-}
-
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"]):not(:hover)[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][beforehovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"]):not(:hover)[tabmix_tabStyle*="bg"][afterselected-visible="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterhovered="true"] > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
- border-bottom-right-radius: 15px;
-}
-
-/* fix for hoverd tab that is before or after selected tab */
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start,
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-start::before,
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end,
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-end::before {
- width: 0px !important;
-}
-
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
- background-position: left bottom, left bottom, right bottom;
- background-size: 0% 0%, calc(100% - (1 * 30px)) 100%, 30px 100%;
- border-radius: 16px 0 0 20px;
- margin-left: 0px;
-}
-
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
- border-left: 2px solid rgba(26 ,26, 26, 0.25);
- border-radius: 16px 0 0 20px;
- margin-left: 0px;
-}
-
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background:-moz-locale-dir(rtl) {
- background-position: left bottom, 30px bottom, right bottom;
- background-size: 30px 100%, calc(100% - (1 * 30px)) 100%, 0% 0%;
- border-radius: 0 16px 20px 0;
- margin-right: 0px;
-}
-
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][tabmix-beforeselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(ltr),
-#tabbrowser-tabs:not([movingtab])[tabmix_australis="true"] > .tabbrowser-tab:not([selected="true"])[tabmix_tabStyle*="bg"][afterselected-visible="true"]:hover > .tab-stack > .tab-background > .tab-background-middle:-moz-locale-dir(rtl) {
- border-right: 2px solid rgba(26, 26, 26, 0.25);
- border-radius: 0 16px 20px 0;
- margin-right: 0px;
-}
diff --git a/chrome/skin/tab.css b/chrome/skin/tab.css
index a938b33..20529a5 100644
--- a/chrome/skin/tab.css
+++ b/chrome/skin/tab.css
@@ -55,27 +55,6 @@
vertical-align: bottom;
}
-/* :::: For current, unloaded, unread and other tab styles :::: */
-.tabbrowser-tab[tabmix_tabStyle~="bold"] .tab-text {
- font-weight: bold !important;
-}
-
-.tabbrowser-tab[tabmix_tabStyle~="not-bold"] .tab-text {
- font-weight: normal !important;
-}
-
-.tabbrowser-tab[tabmix_tabStyle~="italic"] .tab-text {
- font-style: italic !important;
-}
-
-.tabbrowser-tab[tabmix_tabStyle~="not-italic"] .tab-text {
- font-style: normal !important;
-}
-
-.tabbrowser-tab[tabmix_tabStyle~="underline"] .tab-text {
- text-decoration: underline !important;
-}
-
/* for extra icons */
.tab-protect-icon {
list-style-image: url("protected.png");
diff --git a/modules/DynamicRules.jsm b/modules/DynamicRules.jsm
index a999243..bac8e91 100644
--- a/modules/DynamicRules.jsm
+++ b/modules/DynamicRules.jsm
@@ -112,28 +112,39 @@ this.DynamicRules = {
bgImage.bg = TabmixSvc.isMac ? bgImage.body : (bottomBorder + space20 + bgImage.body);
///XXX move -moz-appearance: to general rule when style have bg
let backgroundRule = " {\n -moz-appearance: none;\n background-image: " + bgImage.bg + " !important;\n}\n";
+ if (TabmixSvc.isMac) {
+ backgroundRule = ' > .tab-stack > .tab-background >\n' +
+ ' :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end)' + backgroundRule;
+ }
let tabTextRule = " .tab-text {\n color: #textColor !important;\n}\n";
- let styleRules = {
- currentTab: { text: '.tabbrowser-tab[tabmix_tabStyle~="current-text"]' + tabTextRule,
- bg : '.tabbrowser-tab[tabmix_tabStyle~="current-bg"]' + backgroundRule},
- unloadedTab: { text: '.tabbrowser-tab[tabmix_tabStyle~="unloaded-text"]' + tabTextRule,
- bg: '.tabbrowser-tab[tabmix_tabStyle~="unloaded-bg"]' + backgroundRule},
- unreadTab: { text: '.tabbrowser-tab[tabmix_tabStyle~="unread-text"]' + tabTextRule,
- bg: '.tabbrowser-tab[tabmix_tabStyle~="unread-bg"]' + backgroundRule},
- otherTab: { text: '.tabbrowser-tab[tabmix_tabStyle~="other-text"]' + tabTextRule,
- bg: '.tabbrowser-tab[tabmix_tabStyle~="other-bg"]' + backgroundRule},
+ let _selected = TabmixSvc.version(390) ? '[visuallyselected="true"]' : '[selected="true"]';
+ let _notSelected = TabmixSvc.version(390) ? ':not([visuallyselected="true"])' : ':not([selected="true"])';
+ let tabState = {
+ current: _selected,
+ unloaded: '[tabmix_tabState="unloaded"]' + _notSelected,
+ unread: '[tabmix_tabState="unread"]' + _notSelected,
+ other: ':not([tabmix_tabState])' + _notSelected,
};
- if (TabmixSvc.isMac) {
- backgroundRule = '.tabbrowser-tab[tabmix_tabStyle~="#RULE-bg"] > .tab-stack > .tab-background >\n' +
- ' :-moz-any(.tab-background-start, .tab-background-middle, .tab-background-end)' + backgroundRule;
-
- styleRules.currentTab.bg = backgroundRule.replace("#RULE", "current");
- styleRules.unloadedTab.bg = backgroundRule.replace("#RULE", "unloaded");
- styleRules.unreadTab.bg = backgroundRule.replace("#RULE", "unread");
- styleRules.otherTab.bg = backgroundRule.replace("#RULE", "other");
- }
+ let styleRules = {
+ currentTab: {
+ text: '#tabbrowser-tabs[tabmix_currentStyle~="text"] > .tabbrowser-tab' + tabState.current + tabTextRule,
+ bg: '#tabbrowser-tabs[tabmix_currentStyle~="bg"] > .tabbrowser-tab' + tabState.current + backgroundRule
+ },
+ unloadedTab: {
+ text: '#tabbrowser-tabs[tabmix_unloadedStyle~="text"] > .tabbrowser-tab' + tabState.unloaded + tabTextRule,
+ bg: '#tabbrowser-tabs[tabmix_unloadedStyle~="bg"] > .tabbrowser-tab' + tabState.unloaded + backgroundRule
+ },
+ unreadTab: {
+ text: '#tabbrowser-tabs[tabmix_unreadStyle~="text"] > .tabbrowser-tab' + tabState.unread + tabTextRule,
+ bg: '#tabbrowser-tabs[tabmix_unreadStyle~="bg"] > .tabbrowser-tab' + tabState.unread + backgroundRule
+ },
+ otherTab: {
+ text: '#tabbrowser-tabs[tabmix_otherStyle~="text"] > .tabbrowser-tab' + tabState.other + tabTextRule,
+ bg: '#tabbrowser-tabs[tabmix_otherStyle~="bg"] > .tabbrowser-tab' + tabState.other + backgroundRule
+ },
+ };
if (TabmixSvc.australis && !this.treeStyleTab) {
bgImage.bg = 'url("chrome://browser/skin/customizableui/background-noise-toolbar.png"),\n' +
@@ -150,12 +161,15 @@ this.DynamicRules = {
space26 + 'rgba(250, 250, 250, 0.88) 3px, rgba(250, 250, 250, 0.88) 3px,\n' +
space26 + 'rgba(254, 254, 254, 0.72) 4px, rgba(254, 254, 254, 0.72) 4px, #bottomColor)';
bgImage.startEndhover = bgImage.bghover;
- let _selector = '.tabbrowser-tab#HOVER[tabmix_tabStyle~="#RULE-bg"] > .tab-stack > .tab-background >';
+ let _selector = '#tabbrowser-tabs[tabmix_#RULEStyle~="bg"] > ' +
+ '.tabbrowser-tab#HOVER#STATE > .tab-stack > .tab-background >';
for (let rule of Object.keys(styleRules)) {
let style = styleRules[rule];
delete style.bg;
+ let styleName = rule.replace("Tab", "");
+ let ruleSelector = _selector.replace("#RULE", styleName)
+ .replace("#STATE", tabState[styleName]);
let hover = rule == "currentTab" ? "" : ":hover";
- let ruleSelector = _selector.replace("#RULE", rule.replace("Tab", ""));
let selector = ruleSelector.replace("#HOVER", hover);
let type = hover.replace(":", "") || "selected";
style["bg" + type] = selector + ' .tab-background-middle {\n' +
diff --git a/modules/Services.jsm b/modules/Services.jsm
index 2dfed6e..80905f3 100644
--- a/modules/Services.jsm
+++ b/modules/Services.jsm
@@ -24,6 +24,12 @@ function isVersion(aVersionNo) {
}
this.TabmixSvc = {
+ get selectedAtt() {
+ delete this.selectedAtt;
+ return (this.selectedAtt = isVersion(390) ?
+ "visuallyselected" : "selected");
+ },
+
aboutBlank: "about:blank",
aboutNewtab: "about:newtab",
newtabUrl: "browser" + ".newtab.url",
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/tabmixplus.git
More information about the Pkg-mozext-commits
mailing list