Hallo,
benutze das Script 'MultiRowTab_LiteforFx48.uc.js' für mehrzeilige Tabreihen. Nach dem Update auf Fx63 kann nicht mehr mit dem Mausrad zeilenweise durch die Tabreihen(nicht einzelne Tabs) gescrollt werden.
Folgende Zeile sollte in der 'UserChrome.css" dafür verantwortlich sein:
CSS
/* ----------------------------*/
/* Mehrzeilige Tabreihen */
/* ----------------------------*/
/* Die angezeigte Scrollbar, bewegt sich mit dem Mausrad, wenn die Anzahl der Tabreihen um mehr als die angegebene Anzahl erhöht wird */
.tabbrowser-arrowscrollbox { -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox") !important; }
Hier noch das verwendete Script: 'MultiRowTab_LiteforFx48.uc.js':
CSS
// ==UserScript==
// @name zzzz-MultiRowTab_LiteforFx48.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Mehrzeilige Tableiste, Experimentelle CSS Version
// @include main
// @compatibility Firefox 48
// @author Alice0775
// @version 2016/08/05 00:00 Firefox 48
// @version 2016/05/01 00:01 hide favicon if busy
// @version 2016/03/09 00:01 Bug 1222490 - Actually remove panorama for Fx45+
// @version 2016/02/09 00:01 workaround css for lwt
// @version 2016/02/09 00:00
// ==/UserScript==
"user strict";
zzzz_MultiRowTabLite();
function zzzz_MultiRowTabLite(){
var style = ' \
#TabsToolbar .tabbrowser-tab { \
border-left: solid 1px rgba(0,0,0,.0) !important; \
border-right: solid 1px rgba(0,0,0,.0) !important; \
}\ ';
var sspi = document.createProcessingInstruction(
'xml-stylesheet',
'type="text/css" href="data:text/css,' + encodeURIComponent(style) + '"' );
document.insertBefore(sspi, document.documentElement);
style = ' \
#tabbrowser-tabs .scrollbox-innerbox scrollbar {\
-moz-window-dragging: no-drag !important;\
}\ ';
var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
var ios = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);
var uri = ios.newURI("data:text/css," + encodeURIComponent(style), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
gBrowser.tabContainer._animateTabMove = function(event){};
gBrowser.tabContainer._finishAnimateTabMove = function(event){};
gBrowser.tabContainer.lastVisibleTab = function() {
var tabs = this.childNodes;
for (let i = tabs.length - 1; i >= 0; i--){
if (!tabs[i].hasAttribute("hidden"))
return i;
}
return -1;
};
gBrowser.tabContainer.clearDropIndicator = function() {
var tabs = this.childNodes;
for (let i = 0, len = tabs.length; i < len; i++){
let tab_s= tabs[i].style;
tab_s.removeProperty("border-left-color");
tab_s.removeProperty("border-right-color");
}
};
gBrowser.tabContainer.addEventListener("drop", function(event) {
this.onDrop(event);
}.bind(gBrowser.tabContainer), true);
gBrowser.tabContainer.addEventListener("dragleave", function(event) {
this.clearDropIndicator(event);
}.bind(gBrowser.tabContainer), true);
gBrowser.tabContainer._onDragOver = function(event) {
this.MultiRowTabonDragOver(event);
var effects = this._getDropEffectForTabDrag(event);
this.clearDropIndicator();
var newIndex = this._getDropIndex(event);
if (newIndex == null) {
return;
}
if (newIndex < this.childNodes.length) {
this.childNodes[newIndex].style.setProperty("border-left-color","red","important");
} else {
newIndex = gBrowser.tabContainer.lastVisibleTab();
if (newIndex >= 0)
this.childNodes[newIndex].style.setProperty("border-right-color","red","important");
}
};
gBrowser.tabContainer.addEventListener("dragover", gBrowser.tabContainer._onDragOver, true);
gBrowser.tabContainer._getDropIndex = function(aEvent) {
var tabs = this.childNodes;
if (window.getComputedStyle(this, null).direction == "ltr") {
for (let i = 0; i < tabs.length; i++){
if (aEvent.screenY > tabs[i].boxObject.screenY &&
aEvent.screenY < tabs[i].boxObject.screenY + tabs[i].boxObject.height) {
if (aEvent.screenX > tabs[i].boxObject.screenX &&
aEvent.screenX < tabs[i].boxObject.screenX + tabs[i].boxObject.width / 2)
return i;
if (aEvent.screenX > tabs[i].boxObject.screenX + tabs[i].boxObject.width / 2 &&
aEvent.screenX < tabs[i].boxObject.screenX + tabs[i].boxObject.width)
return i + 1;
}
}
} else {
for (let i = 0; i < tabs.length; i++){
if (aEvent.screenY > tabs[i].boxObject.screenY &&
aEvent.screenY < tabs[i].boxObject.screenY + tabs[i].boxObject.height) {
if (aEvent.screenX < tabs[i].boxObject.screenX + tabs[i].boxObject.width &&
aEvent.screenX > tabs[i].boxObject.screenX + tabs[i].boxObject.width / 2)
return i;
if (aEvent.screenX < tabs[i].boxObject.screenX + tabs[i].boxObject.width / 2 &&
aEvent.screenX > tabs[i].boxObject.screenX)
return i + 1;
}
}
}
return tabs.length;
};
gBrowser.tabContainer.onDrop = function(event) {
var newIndex;
this.clearDropIndicator();
var dt = event.dataTransfer;
var dropEffect = dt.dropEffect;
var draggedTab;
if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) {
draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
if (!draggedTab)
return;
}
if (draggedTab && dropEffect == "copy") {
} else if (draggedTab && draggedTab.parentNode == this) {
newIndex = this._getDropIndex(event, false);
if (newIndex > draggedTab._tPos)
newIndex--;
gBrowser.moveTabTo(draggedTab, newIndex);
}
};
gBrowser.tabContainer.MultiRowTabonDragOver = function(event) {};
}
Alles anzeigen
Was hat sich denn da geändert? :-??
Über Hilfe wäre ich sehr dankbar...