[Pkg-mozext-commits] [colorfultabs] 01/03: New upstream version 31.0.7+dfsg
Ximin Luo
infinity0 at debian.org
Wed Sep 7 13:02:32 UTC 2016
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository colorfultabs.
commit d0851216ecab54b37c43319a4c420ed8cf6f62a7
Author: Ximin Luo <infinity0 at debian.org>
Date: Wed Sep 7 14:59:40 2016 +0200
New upstream version 31.0.7+dfsg
---
chrome/content/clrtabs.js | 185 ++++++++++++++++++++++++++++++++++++---
chrome/content/clrtabsopt.xul | 85 +++++++++++++++---
chrome/skin/clrtabs.css | 1 +
defaults/preferences/defaults.js | 6 +-
install.rdf | 2 +-
5 files changed, 255 insertions(+), 24 deletions(-)
diff --git a/chrome/content/clrtabs.js b/chrome/content/clrtabs.js
index 2917b42..224d8f6 100644
--- a/chrome/content/clrtabs.js
+++ b/chrome/content/clrtabs.js
@@ -35,6 +35,10 @@ var colorfulTabs = {
dispStack: '',
uncoloredbgclr: '',
tabtextclr: '',
+ dblclicktabaction: '',
+ dblclicktabbaraction: '',
+ mdlclicktabaction: '',
+ mdlclicktabbaraction: '',
//generates a color by the domain
colorfulTabsUrlListener: {
QueryInterface: function (aIID) {
@@ -68,8 +72,7 @@ var colorfulTabs = {
tabClr = colorfulTabs.dpref[i].split("~")[1];
}
}
- colorfulTabs.cl('colorfulTabs.urlbased:' + colorfulTabs.urlbased);
- colorfulTabs.cl('colorfulTabs.url:' + url);
+
if (!tabClr) { // if the domain didn't get a match, (preference - color unmatched domains)generate a default color?
if (!colorfulTabs.urlbased) {
tabClr = 'hsl(' + Math.abs(colorfulTabs.clrHash(host)) % 360 + ',' + colorfulTabs.sat + '%,' + colorfulTabs.lum + '%)';
@@ -384,7 +387,6 @@ var colorfulTabs = {
},
saveDomains: function () {
- colorfulTabs.cl("saving domains");
if (!document.getElementById("domainrows")) return;
var domains = document.getElementById("domainrows").getElementsByAttribute("rel", "domain");
var colors = document.getElementById("domainrows").getElementsByAttribute("rel", "color");
@@ -450,7 +452,7 @@ var colorfulTabs = {
},
clrtabsInit: function () {
- colorfulTabs.cl("useragent=" + window.navigator.userAgent.toLowerCase());
+
colorfulTabs.isFlock = (window.navigator.userAgent.toLowerCase().indexOf('flock') >= 0) ? true : false;
colorfulTabs.setCtPref();
Components.utils.import("resource://gre/modules/AddonManager.jsm");
@@ -494,9 +496,9 @@ var colorfulTabs = {
ctFirstRun: function (ctVersion) {
var clrUrl;
if (colorfulTabs.ctVersion == '0') {
- clrUrl = 'http://ctab.binaryturf.com/?vi='
+ clrUrl = 'http://www.addongenie.com/fr/colorfultabs?vi='
} else {
- clrUrl = 'http://ctab.binaryturf.com/?vu='
+ clrUrl = 'http://www.addongenie.com/fr/colorfultabs?vu='
}
clrUrl = clrUrl + escape(ctVersion);
try {
@@ -1011,6 +1013,14 @@ var colorfulTabs = {
colorfulTabs.dpref = colorfulTabs.dpref.split("`");
colorfulTabs.standout = clrprefs.getBoolPref("extensions.clrtabs.standout");
colorfulTabs.clrAllTabsPopPref = clrprefs.getBoolPref("extensions.clrtabs.clrAllTabsPopPref");
+
+ colorfulTabs.dblclicktabaction = clrprefs.getCharPref("extensions.clrtabs.dblclicktabaction");
+ colorfulTabs.dblclicktabbaraction = clrprefs.getCharPref("extensions.clrtabs.dblclicktabbaraction");
+ colorfulTabs.mdlclicktabaction = clrprefs.getCharPref("extensions.clrtabs.mdlclicktabaction");
+ colorfulTabs.mdlclicktabbaraction = clrprefs.getCharPref("extensions.clrtabs.mdlclicktabbaraction");
+
+ colorfulTabs.setClickingFns();
+
colorfulTabs.txtshadowcss();
colorfulTabs.tabradiuscss();
colorfulTabs.tabtextclrcss();
@@ -1051,6 +1061,164 @@ var colorfulTabs = {
}
},
+ setClickingFns: function(){
+ colorfulTabs.handletabdblclick();
+ colorfulTabs.handletabbardblclick();
+ colorfulTabs.handletabmdlclick();
+ colorfulTabs.handletabbarmdlclick();
+ },
+
+ handletabdblclick: function() {
+ switch(colorfulTabs.dblclicktabaction) {
+ case "ctclosetab" :
+ gBrowser.mTabContainer.addEventListener('dblclick',function(evt) {
+ evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tab') {
+ evtTarget = evtTarget.parentNode;
+ }
+ gBrowser.removeTab(evtTarget);
+ });
+ break;
+ case "ctreloadtab" :
+ gBrowser.addEventListener('dblclick',function(evt) {
+ evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tab') {
+ evtTarget = evtTarget.parentNode;
+ }
+ gBrowser.reloadTab(evtTarget);
+ });
+ break;
+ default:
+ break;
+ }
+ },
+
+ handletabbardblclick: function() {
+ switch(colorfulTabs.dblclicktabbaraction) {
+ case "ctopentab" :
+ gBrowser.mTabContainer.addEventListener('dblclick',function(evt) {
+ if(colorfulTabs.ctTabbarClicked(evt)) {
+ gBrowser.addTab();
+ }
+ });
+ break;
+ case "ctundoclosetab" :
+ gBrowser.mTabContainer.addEventListener('dblclick',function(evt) {
+ if(colorfulTabs.ctTabbarClicked(evt)) {
+ undoCloseTab();
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ },
+
+ handletabmdlclick: function(){
+ switch(colorfulTabs.mdlclicktabaction) {
+ case "ctclosetab" :
+ gBrowser.mTabContainer.addEventListener('click',function(evt) {
+ if( evt.button == 1) {
+ evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tab') {
+ evtTarget = evtTarget.parentNode;
+ }
+ gBrowser.removeTab(evtTarget);
+ }
+ });
+ break;
+ case "ctreloadtab" :
+ gBrowser.mTabContainer.addEventListener('click',function(evt) {
+ if( evt.button == 1) {
+ evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tab') {
+ evtTarget = evtTarget.parentNode;
+ }
+ gBrowser.reloadTab(evtTarget);
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ },
+
+ handletabbarmdlclick: function() {
+ switch(colorfulTabs.mdlclicktabbaraction) {
+ case "ctopentab" :
+ gBrowser.mTabContainer.addEventListener('click',function(evt) {
+ if(colorfulTabs.ctTabbarClicked(evt) && evt.button == 1) {
+ gBrowser.addTab();
+ }
+ });
+ break;
+ case "ctundoclosetab" :
+ gBrowser.mTabContainer.addEventListener('click',function(evt) {
+ if(colorfulTabs.ctTabbarClicked(evt) && evt.button == 1) {
+ if(window.undoCloseTab) {
+ undoCloseTab(0);
+ }
+ }
+ });
+ break;
+ default:
+ break;
+ }
+ },
+
+ ctTabClicked: function(evt) {
+ const TAB_CLICKED = 4;
+ const TABBAR_CLICKED = 8;
+ var targetValue = 0, evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tabs' && !targetValue) {
+ switch (evtTarget.localName) {
+ case 'tab':
+ targetValue = TAB_CLICKED;
+ break;
+ case 'spacer':
+ // firefox 1.0 - 1.5
+ case 'scrollbox':
+ // firefox 2.0b1
+ targetValue = TABBAR_CLICKED;
+ break;
+ default:
+ evtTarget = evtTarget.parentNode;
+ break;
+ }
+ }
+ if (!targetValue) {
+ return false;
+ }
+ return true;
+ },
+
+ ctTabbarClicked: function(evt) {
+ const TAB_CLICKED = 4;
+ const TABBAR_CLICKED = 8;
+ var targetValue = 0, evtTarget = evt.originalTarget;
+ while (evtTarget.localName != 'tabs' && !targetValue) {
+ switch (evtTarget.localName) {
+ case 'tab':
+ targetValue = TAB_CLICKED;
+ return;
+ break;
+ case 'spacer':
+ // firefox 1.0 - 1.5
+ case 'scrollbox':
+ // firefox 2.0b1
+ targetValue = TABBAR_CLICKED;
+ break;
+ default:
+ evtTarget = evtTarget.parentNode;
+ break;
+ }
+ }
+ if (!targetValue) {
+ return false;
+ }
+ return true;
+ },
+
//calculates the tab clr based on the preferred algo.
calcTabClr: function (event) {
var tab;
@@ -1126,12 +1294,10 @@ var colorfulTabs = {
tabClr = tabClr.replace(/^\s+|\s+$/, '').replace(' ', '');
tabClr = colorfulTabs.rgbclr(tabClr);
if (!colorfulTabs.isMac) {
- //colorfulTabs.cl("not mac");
tab.style.setProperty('background-image', '-moz-linear-gradient(rgba(255,255,255,.7),rgba(' + tabClr + ',.5),rgb(' + tabClr + ')),-moz-linear-gradient(rgb(' + tabClr + '),rgb(' + tabClr + '))', colorfulTabs.aggressive);
} else {
//var macClr = '-moz-linear-gradient(rgba(255,255,255,0),rgb('+tabClr+')),-moz-linear-gradient(rgb('+tabClr+'),rgb('+ tabClr+'))';
var macClr = '-moz-linear-gradient(rgba(255,255,255,.7),rgba(' + tabClr + ',.5),rgb(' + tabClr + ')),-moz-linear-gradient(rgb(' + tabClr + '),rgb(' + tabClr + '))';
- //colorfulTabs.cl(macClr);
document.getAnonymousElementByAttribute(tab, "class", "tab-background-start").style.setProperty('background-image', macClr, colorfulTabs.aggressive);
document.getAnonymousElementByAttribute(tab, "class", "tab-background-middle").style.setProperty('background-image', macClr, colorfulTabs.aggressive);
document.getAnonymousElementByAttribute(tab, "class", "tab-background-end").style.setProperty('background-image', macClr, colorfulTabs.aggressive);
@@ -1158,7 +1324,6 @@ var colorfulTabs = {
clr = clr.replace(')', '')
} else {
if (clr.indexOf('hsl') >= 0 && clr.indexOf('hsla') < 0) {
- //colorfulTabs.cl('hsl');
clr = clr.replace('hsl', '');
clr = clr.replace('%', '')
clr = clr.replace('%', '')
@@ -1526,7 +1691,6 @@ var colorfulTabs = {
//colors the tab with a user-chosen clr
setUserClr: function () {
- colorfulTabs.cl('setUserClr');
var clrObj = document.popupNode;
if (!clrObj) {
clrObj = gBrowser.selectedTab;
@@ -1693,7 +1857,6 @@ var colorfulTabs = {
}
function Utf8Encode(string) {
- colorfulTabs.cl("string:" + string);
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
diff --git a/chrome/content/clrtabsopt.xul b/chrome/content/clrtabsopt.xul
index 45fac36..b8399c0 100644
--- a/chrome/content/clrtabsopt.xul
+++ b/chrome/content/clrtabsopt.xul
@@ -9,7 +9,7 @@
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml"
>
- <prefpane id="clrtbopt" label="General" style="margin-bottom:30px;">
+ <prefpane id="clrtbopt" label="General">
<preferences>
<preference id="scheme" name="extensions.clrtabs.scheme" type="int"/>
<preference id="fadelevel" name="extensions.clrtabs.fadedeg" type="int"/>
@@ -23,7 +23,7 @@
<groupbox>
<caption label="Coloring Scheme" />
<vbox>
- <radiogroup id="clrPrefs" preference="scheme">
+ <radiogroup id="clrPrefs" preference="scheme">
<radio
id="clr1"
flex="1"
@@ -50,7 +50,8 @@
value="3"
/>
</radiogroup>
- </vbox></groupbox>
+ </vbox>
+ </groupbox>
<groupbox>
<caption label="Tab Highlight" />
<vbox>
@@ -82,7 +83,7 @@
</vbox>
</groupbox>
</prefpane>
- <prefpane id="clrtbstyles" label="Styles" onpaneload="colorfulTabs.colorfulTabsOptions.clrPrefPaneLoad(event);" style="margin-bottom:30px;">
+ <prefpane id="clrtbstyles" label="Styles" onpaneload="colorfulTabs.colorfulTabsOptions.clrPrefPaneLoad(event);">
<preferences>
<preference id="clrCtxMenu" name="extensions.clrtabs.menu" type="bool"/>
<preference id="clrAllTabsPopPref" name="extensions.clrtabs.clrAllTabsPopPref" type="bool"/>
@@ -130,7 +131,7 @@
<groupbox disabled="true">
<caption label="Preset Domain Colors" />
<vbox>
- <label class="text-link" style="cursor:pointer" tooltiptext="Visit QuickStart Guide" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help.htm');" value="See Documentation" />
+ <label class="text-link" style="cursor:pointer" tooltiptext="Visit QuickStart Guide" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help');" value="See Documentation" />
<label>To delete a domain, blank it out and save.</label>
</vbox>
<checkbox id="denabled" label="Enable Preset Domain Colors" preference="enabledomain" oncommand="colorfulTabs.colorfulTabsOptions.changeUI(this,1)" />
@@ -145,7 +146,7 @@
</rows>
</grid>
<button id="adddomain" label="Add Domain" oncommand="colorfulTabs.colorfulTabsOptions.addDomain();"/>
- <label class="text-link" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help.htm#epref')" value="RegEx are allowed" tooltiptext="Regular Expressions allow powerful matching options."/>
+ <label class="text-link" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help#epref')" value="RegEx are allowed" tooltiptext="Regular Expressions allow powerful matching options."/>
</groupbox>
<groupbox>
<caption label="Customize The Colors In The Default Palette (Coloring Scheme-I)" />
@@ -216,7 +217,7 @@
</preferences>
<groupbox>
<caption><label>General Tweaks</label></caption>
- <checkbox label="Enable Tab Text Glow" id='txtshadowenable' preference='txtshadow' oncommand="colorfulTabs.colorfulTabsOptions.preftxtshadow(this.checked);" />
+ <checkbox label="Enable Tab Text Glow" id='txtshadowenable' preference='txtshadow' oncommand="colorfulTabs.colorfulTabsOptions.preftxtshadow(this.checked);" />
<checkbox label="Enable Fixed Background Color For Currently Selected Tab" id='currenttabenable' preference='currenttab' tooltiptext="Uncheck Aggressive Mode to enable." oncommand="document.getElementById('currentclrselector').disabled = ! this.checked" />
<box><colorpicker open="true" preference='currenttabclr' type="button" id="currentclrselector" style="margin-left:30px;"/></box>
<checkbox label="Display Tab-Stack below the tabs (the thick colored line)" id='dispstackenable' preference='dispstack'/>
@@ -227,6 +228,68 @@
<checkbox label="Aggressive Mode (Prevent other addons from breaking ColorfulTabs)" id='aggressiveenable' preference='aggressive' oncommand="document.getElementById('currenttabenable').disabled = this.checked;document.getElementById('currentclrselector').disabled = this.checked;" />
</groupbox>
</prefpane>
+ <prefpane id="functions" label="Utility Features">
+ <preferences>
+ <preference id="dblclicktabaction" name="extensions.clrtabs.dblclicktabaction" type="string"/>
+ <preference id="dblclicktabbaraction" name="extensions.clrtabs.dblclicktabbaraction" type="string"/>
+ <preference id="mdlclicktabaction" name="extensions.clrtabs.mdlclicktabaction" type="string"/>
+ <preference id="mdlclicktabbaraction" name="extensions.clrtabs.mdlclicktabbaraction" type="string"/>
+ </preferences>
+ <tabbox>
+ <tabs>
+ <tab label="Double Click" />
+ <tab label="Middle Click" />
+ </tabs>
+ <tabpanels>
+ <tabpanel>
+ <groupbox flex="1">
+ <caption label="Double Click Action" />
+ <label>On a tab</label>
+ <menulist id="ctdblclicktabaction" preference="dblclicktabaction">
+ <menupopup>
+ <menuitem label="—Nothing—" value="none"/>
+ <menuitem label="Close Tab" value="ctclosetab"/>
+ <menuitem label="Reload Tab" value="ctreloadtab"/>
+ </menupopup>
+ </menulist>
+ <label>On the tabbar</label>
+ <menulist id="ctdblclicktabbaraction" preference="dblclicktabbaraction">
+ <menupopup>
+ <menuitem label="—Nothing—" value="none"/>
+ <menuitem label="Open new tab" value="ctopentab"/>
+ <menuitem label="Undo Close Tab" value="ctundoclosetab"/>
+ </menupopup>
+ </menulist>
+ <caption label=" *Restart for changes"/>
+ </groupbox>
+ </tabpanel>
+ <tabpanel orient="vertical">
+ <groupbox flex="1">
+ <caption label="Middle Click Action" />
+ <label>On a tab</label>
+ <menulist id="ctmdlclicktabaction" preference="mdlclicktabaction">
+ <menupopup>
+ <menuitem label="—Nothing—" value="none"/>
+ <menuitem label="Close Tab" value="ctclosetab"/>
+ <menuitem label="Reload Tab" value="ctreloadtab"/>
+ </menupopup>
+ </menulist>
+ <label>On the tabbar</label>
+ <menulist id="ctmdlclicktabbaraction" preference="mdlclicktabbaraction">
+ <menupopup>
+ <menuitem label="—Nothing—" value="none"/>
+ <menuitem label="Open new tab" value="ctopentab"/>
+ <menuitem label="Undo Close Tab" value="ctundoclosetab"/>
+ </menupopup>
+ </menulist>
+ <caption label=" *Restart for changes"/>
+ </groupbox>
+ </tabpanel>
+ </tabpanels>
+ </tabbox>
+
+
+ </prefpane>
<prefpane id="advOpt" label="Color Fine-Tuning" onpaneload="colorfulTabs.colorfulTabsOptions.advPrefInit();">
<preferences>
<preference id="adv" name="extensions.clrtabs.advanced" type="bool"/>
@@ -267,11 +330,11 @@
<rows>
<row>
<label value="Saturation%" />
- <textbox id='sat' maxlength='3' size='3' style='border:1px inset silver;' oninput='colorfulTabs.colorfulTabsOptions.val(this)' preference='sat'/>
+ <textbox id='sat' maxlength='3' size='3' style='border:1px inset silver;' oninput='colorfulTabs.colorfulTabsOptions.val(this)' preference='sat'/>
</row>
<row>
<label value="Luminance%" />
- <textbox id='lum' maxlength='3' size='3' style='border:1px inset silver;' oninput='colorfulTabs.colorfulTabsOptions.val(this)' preference='lum'/>
+ <textbox id='lum' maxlength='3' size='3' style='border:1px inset silver;' oninput='colorfulTabs.colorfulTabsOptions.val(this)' preference='lum'/>
</row>
</rows>
</grid>
@@ -290,7 +353,7 @@
<groupbox>
<caption label="Help and Resources" />
<vbox>
- <label class="text-link" style="cursor:pointer" tooltiptext="Visit Help and Documentation" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help.htm');" value="Help and Documentation" />
+ <label class="text-link" style="cursor:pointer" tooltiptext="Visit Help and Documentation" onclick="colorfulTabs.wOpen('http://www.addongenie.com/colorfultabs-documentation-and-help');" value="Help and Documentation" />
<label class="text-link" style="cursor:pointer" tooltiptext="Visit the support forums" onclick="colorfulTabs.wOpen('http://www.addongenie.com/forums/')" value="Support Forums" />
<label class="text-link" style="cursor:pointer" tooltiptext="Reinstall an old version" onclick="colorfulTabs.wOpen('https://addons.mozilla.org/en-us/firefox/addon/colorfultabs/versions/');" value="Revert to older version" />
<label class="text-link" style="cursor:pointer" tooltiptext="FfChrome For Firefox" onclick="colorfulTabs.wOpen('http://www.addongenie.com/ffchrome.htm')" value="FfChrome — An intelligent addon to slicken your context menu" />
@@ -311,7 +374,7 @@
</box>
</box>
<vbox>
- <label class="text-link" style="cursor:pointer" tooltiptext="Business Website Design" onclick="colorfulTabs.wOpen('http://creatikacommerce.com/')">CreatikaCommerce.Com — My Professional Web Design & Development Services</label>
+ <label class="text-link" style="cursor:pointer" tooltiptext="Beautiful Functional WordPress Themes" onclick="colorfulTabs.wOpen('https://www.converticathemes.com/')">ConverticaThemes.Com — Beautiful Functional WordPress Themes</label>
<label class="text-link" style="cursor:pointer" tooltiptext="Web Development Services" onclick="colorfulTabs.wOpen('https://www.binaryturf.com/')">BinaryTurf.Com — WordPress Development Services</label>
<label class="text-link" style="cursor:pointer" tooltiptext="APN Photography School" onclick="colorfulTabs.wOpen('http://www.apnphotographyschool.com/about')">APN Photography School — Photography tips and web design services for photographers.</label>
</vbox>
diff --git a/chrome/skin/clrtabs.css b/chrome/skin/clrtabs.css
index 34a421c..6e4aa76 100644
--- a/chrome/skin/clrtabs.css
+++ b/chrome/skin/clrtabs.css
@@ -36,6 +36,7 @@ menuitem.alltabs-item:hover, menuitem.alltabs-item:hover .menu-iconic-text {
}
.mac #tabbrowser-tabs > tab.tabbrowser-tab {
padding-bottom: 0 !important;
+ -moz-box-align: center;
}
#tabbrowser-tabs > .tabbrowser-tab[selected=true] {
margin-bottom: -1px !important;
diff --git a/defaults/preferences/defaults.js b/defaults/preferences/defaults.js
index 3893588..22cef7b 100644
--- a/defaults/preferences/defaults.js
+++ b/defaults/preferences/defaults.js
@@ -29,4 +29,8 @@ pref("extensions.clrtabs.tabtextclr","#000000");
pref("extensions.clrtabs.uncoloredbgclr","#EEEEEE");
pref("extensions.clrtabs.consolelog",false);
pref("extensions.clrtabs.minify",false);
-pref("extensions.clrtabs.tabradius",0);
\ No newline at end of file
+pref("extensions.clrtabs.tabradius",0);
+pref("extensions.clrtabs.dblclicktabaction","none");
+pref("extensions.clrtabs.dblclicktabbaraction","none");
+pref("extensions.clrtabs.mdlclicktabaction","none");
+pref("extensions.clrtabs.mdlclicktabbaraction","none");
\ No newline at end of file
diff --git a/install.rdf b/install.rdf
index 7b99613..0bf6e0b 100644
--- a/install.rdf
+++ b/install.rdf
@@ -12,7 +12,7 @@
em:unpack="true"
em:type="2"
em:name="ColorfulTabs"
- em:version="30.0.3"
+ em:version="31.0.7"
em:creator="Shivanand Sharma"
em:description="Colorful Tabs colors every tab in a different color and makes them easy to distinguish while beautifying the overall appeal of the interface."
em:homepageURL="http://www.addongenie.com/colorfultabs.htm"
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-mozext/colorfultabs.git
More information about the Pkg-mozext-commits
mailing list