OT//
Ich gehöre zu den Ausnahmen mit einer dreistelligen Zahl offener Tabs.
Dann musst du aber bei Fenix in der Tab-Übersicht ganz schön scrollen ?
OT//
Ich gehöre zu den Ausnahmen mit einer dreistelligen Zahl offener Tabs.
Dann musst du aber bei Fenix in der Tab-Übersicht ganz schön scrollen ?
// Am Smartphone habe ich selten mehr als einen einzigen Tab offen beziehungsweise direkt surfe ich am Smartphone so gut wie überhaupt nichts an. In der Regel sind das Links, die ich aus anderen Apps heraus anklicke, und dann nach dem Lesen wieder schließe. Mobil ist bei mir also das genaue Gegenteil zutreffend.
Mit diesem Script kann mann auch in Firefox prima durch die Tabs scrollen:
Code Alles anzeigen// ==UserScript== // @name Tab Wheel Scroll // @namespace https://www.camp-firefox.de/forum // @description Mit dem Mausrad durch die Tabs rollen // @include chrome://browser/content/browser.xul // ==/UserScript== (function() { if (location != 'chrome://browser/content/browser.xul') return; const scrollRight = true; const wrap = true; gBrowser.tabContainer.addEventListener("wheel", function(event) { let dir = (scrollRight ? 1 : -1) * Math.sign(event.deltaY); setTimeout(function() { gBrowser.tabContainer.advanceSelectedTab(dir, wrap); }, 0); }, true); })();
Getestet im aktuellen 66er.
Mfg.
Endor
Hallo,
leider funktioniert dieses Script mit dem aktuellen FF Update nicht mehr, sodass ein Scrollen durch die Tabzeilen nicht mehr möglich ist. Hat vielleicht jemand eine Lösung parat?
leider funktioniert dieses Script mit dem aktuellen FF Update nicht mehr, sodass ein Scrollen durch die Tabzeilen nicht mehr möglich ist. Hat vielleicht jemand eine Lösung parat?
Ersetze die beiden Vorkommen von browser.xul durch browser.xhtml.
Perfekt! Vielen Dank!
Gern geschehen.
Hallo,
ich habe noch eine weitere Frage. Bisher konnte ich meine Tabs per Drag und Drop verschieben. Auch das funktioniert nicht mehr. Allerdings habe ich in dem Fall leider keine Ahnung, über welches Script das bisher ging
Verschieben der Tabs geht nur mit dem Script:
MultiRowTabLiteforFx.uc.js
Alles weitere siehe hier:
https://github.com/Endor8/userChr…ter/Mutirowtabs
Mfg.
Endor
Hallo Endor,
vielen Dank, ja die Datei hatte ich bisher auch schon und mit Deinem Update funktioniert das Verschieben jetzt auch wieder.
Och menno. Leider hat es mit dem neuen Update auf FF 71.0 die mehrzeilige Tableiste bei mir zerlegt. Die ursprünglich z.B. auf drei Zeilen vorhandenen Tabs sind jetzt aufgereiht in einer Reihe, lassen sich zwar durchscrollen, aber ich sehe immer nur die, die auf die maximale Monitorbreite passen. Hat jemand schon einen Tip zur Abhilfe?
Jau:
Das entsprechendes Script ist hier zufinden: gehe auf den Link von Endor aus seinem posting #108 gegangen, dort in den Unterordner Firefox-71 und dort wiederum auf 8-MultiRowTabLiteforFx.uc.js
Dieses Script hat die mehrzeilige Tableiste zwar wunderbar wieder hergestellt, aber leider auch die Tableiste unterhalb der Lesezeichen.-Symbolleiste platziert. Wie kann ich letzteres wieder ändern? Vorher war bei mir die Tableiste direkt unterhalb der Menüleiste. Und das gefiel mir.
GL
Dieses Script hat die mehrzeilige Tableiste zwar wunderbar wieder hergestellt, aber leider auch die Tableiste unterhalb der Lesezeichen.-Symbolleiste platziert. Wie kann ich letzteres wieder ändern? Vorher war bei mir die Tableiste direkt unterhalb der Menüleiste.
Endor hat ja insgesamt 8! unterschiedliche Skripte eingestellt. Ich weiß jetzt nicht mehr, welches Skript, was macht, aber irgendwo ist dort auch eine Beschreibung der einzelnen Skripte verfügbar. Einfach mal die anderen Skripte ausprobieren...
Alternativ kann ich diesen angepassten CSS/JS-Code für FF71+ anbieten. Der ist für die normale Symbolleisten-Reihenfolge geeignet. Wem die optischen Anpassungen in dem CSS-Code nicht gefallen, kann diese ändern oder auch ganz löschen. Benötigt wird aber auf jeden Fall alles, was dort unter /* Mehrzeilige Tabreihen */ steht!
Sieht dann, je nach eingestelltem Theme, z.B. so aus:
/* -----------------------------*/
/* Tabs-Toolbar */
/* -----------------------------*/
#TabsToolbar:not(:-moz-lwtheme){
/*background-image: url("./image/BackNew0008.png") !important;*/ /*Pfad zu Hintergrundbild bei Standard-Theme */
color: black !important;
}
/* -----------------------------*/
/* Tab: Optische Anpassungen */
/* -----------------------------*/
/* Schriftart/Schriftgröße ändern */
.tabbrowser-tab .tab-label {
text-shadow: 1px 1px 0px #000000 !important;
font-weight: 500 !important;
font-size: 12px !important;
font-family: "Arial" !important;
color: white !important;
}
.tabbrowser-tab .tab-label:not(:-moz-lwtheme) {
text-shadow: none !important;
color: black !important;
}
.tabbrowser-tab .tab-label[selected="true"] {
text-shadow: 1px 1px 0px #000000 !important;
color: white !important;
font-weight: 500 !important;
font-size: 12px !important;
font-family: "Arial" !important;
}
/* Tab-Line entfernen */
#TabsToolbar .tabbrowser-tab .tab-line {
display: none !important;
}
/* Tab-Rahmen entfernen */
.tabbrowser-tab[visuallyselected="true"],
.tabbrowser-tab,
.tabbrowser-tab .tab-background {
background: unset !important;
border-top: unset !important;
outline: none !important;
}
/* Tab-Schließen-Button entfernen */
.tabbrowser-tab .tab-close-button {
visibility: collapse !important;
}
/* Bei Fokus-Verlust nicht ausgrauen */
#menubar-items :not([fokus]), #tabbrowser-tabs :not([fokus]){
opacity: 1!important;
}
/*------------------*/
/* Tab-Hintergrund */
/*------------------*/
/*--- selektiert ---*/
.tab-background[selected=true]:not(:-moz-lwtheme) > spacer {
background-image: linear-gradient( rgba(103,171,224,1), rgba(10,58,95,1) ), none !important; /* blau */
/*background-image: linear-gradient( rgba(230,175,175,1), rgba(84,25,25,1) ), none !important;*/ /* rot */
filter: drop-shadow(4px 3px 2px rgba(0,0,0,0.33)) drop-shadow(-4px 3px 2px rgba(0,0,0,0.33)) !important;
}
.tab-background[selected=true]:-moz-lwtheme > spacer {
background-image: linear-gradient( rgba(103,171,224,1), rgba(10,58,95,1) ), none !important;
filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.33)) drop-shadow(-2px 3px 2px rgba(0,0,0,0.33)) !important;
}
/*--- hover(nicht selektiert) ---*/
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):not(:-moz-lwtheme) > spacer {
background-image: linear-gradient( rgba(255,255,255,1), rgba(115,115,115,1) ), none !important;
filter: brightness(130%) contrast(95%) drop-shadow(1px 1px 1px rgba(0,0,0,0.33)) drop-shadow(-1px 1px 1px rgba(0,0,0,0.33)) !important;
}
.tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):-moz-lwtheme > spacer {
background-image: linear-gradient( rgba(225,225,225,0.66), rgba(100,125,145,0.66) ), none !important;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
}
/*--- nicht selektiert ---*/
.tab-background:not([selected=true]):not(:-moz-lwtheme) > spacer {
background-image: linear-gradient( rgba(255,255,255,1), rgba(125,125,125,1) ), none !important;
filter: brightness(115%) contrast(90%) drop-shadow(1px 1px 1px rgba(0,0,0,0.33)) drop-shadow(-1px 1px 1px rgba(0,0,0,0.33)) !important;
}
.tab-background:not([selected=true]):-moz-lwtheme > spacer {
background-image: linear-gradient( rgba(255,255,255,0.33), rgba(110,110,110,0.33) ), none !important;
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
}
/*--- Multi-selektiert ---*/
.tab-background[multiselected=true]:not([selected=true]) > spacer {
background-image: linear-gradient( rgba(225,225,225,1), rgba(50,98,135,1) ), none !important;
}
.tabbrowser-tab:hover > .tab-stack > .tab-background[multiselected=true]:not([selected=true]) > spacer {
background-image: linear-gradient( rgba(225,225,225,1), rgba(50,98,135,1) ), none !important;
}
/* ----------------------------*/
/* Mehrzeilige Tabreihen */
/* ----------------------------*/
tabs > arrowscrollbox {
display: block;
}
/* Tab-Höhe */
.tabbrowser-tab {
min-height: 28px !important;
max-height: 28px !important;
vertical-align: bottom !important;
margin-top: 1px !important;
margin-bottom: 1px !important;
}
scrollbox[part][orient="horizontal"] {
display: flex;
flex-wrap: wrap;
overflow: visible !important;
overflow-x: hidden !important;
overflow-y: auto !important;
min-height: 30px !important; /* Tab-Höhe + 2 */
max-height: calc( 3 * 30px ) !important; /*3 Tabreihen * Tab-Höhe + 2 */
-moz-window-dragging: no-drag !important;
}
/* Feste Breite des einzelnem Tabs */
.tabbrowser-tab:not([pinned]) {
min-width: 234px !important;
}
/* Platz für Scrollbar schaffen */
.tabbrowser-tabs {
margin-right: -41px !important;
}
/* Buttons/Zwischenräume Ausblenden */
hbox.titlebar-spacer,
#alltabs-button,tabs tab:not([fadein]),
[class="scrollbutton-up"],
[class="scrollbutton-up"] + spacer,
scrollbox[part][orient="horizontal"] + spacer,
[class="scrollbutton-down"] {
display: none;
}
Alles anzeigen
// ==UserScript==
// @name zzzz-MultiRowTab_LiteforFx48.uc.js
// @namespace http://space.geocities.yahoo.co.jp/gl/alice0775
// @description Experimentelle CSS Version für Mehrzeilige Tableiste
// @include main
// @compatibility Firefox 71
// @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==
"use strict";
MultiRowTabLiteforFx();
function MultiRowTabLiteforFx() {
var css =`
tabs tab {
border-left: solid 1px hsla(0,0%,0%,0) !important;
border-right: solid 1px hsla(0,0%,0%,0) !important;
}
tabs tab:after,tabs tab:before { display: none !important; }
`;
var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
gBrowser.tabContainer.clearDropIndicator = function() {
var tabs = this.allTabs;
for (let i = 0, len = tabs.length; i < len; i++) {
tabs[i].style.removeProperty("border-left-color");
tabs[i].style.removeProperty("border-right-color");
}
}
gBrowser.tabContainer.addEventListener("dragleave", function(event) { this.clearDropIndicator(event); }, true);
gBrowser.tabContainer.on_dragover = function(event) {
this.clearDropIndicator();
var effects = this._getDropEffectForTabDrag(event);
var ind = this._tabDropIndicator;
if (effects == "" || effects == "none") {
ind.hidden = true;
return;
}
event.preventDefault();
event.stopPropagation();
var arrowScrollbox = this.arrowScrollbox;
// autoscroll the tab strip if we drag over the scroll
// buttons, even if we aren't dragging a tab, but then
// return to avoid drawing the drop indicator
var pixelsToScroll = 0;
if (this.getAttribute("overflow") == "true") {
switch (event.originalTarget) {
case arrowScrollbox._scrollButtonUp:
pixelsToScroll = arrowScrollbox.scrollIncrement * -1;
break;
case arrowScrollbox._scrollButtonDown:
pixelsToScroll = arrowScrollbox.scrollIncrement;
break;
}
if (pixelsToScroll) {
arrowScrollbox.scrollByPixels(
(RTL_UI ? -1 : 1) * pixelsToScroll,
true
);
}
}
/*
let draggedTab = event.dataTransfer.mozGetDataAt(TAB_DROP_TYPE, 0);
if (
(effects == "move" || effects == "copy") &&
this == draggedTab.container
) {
ind.hidden = true;
if (!this._isGroupTabsAnimationOver()) {
// Wait for grouping tabs animation to finish
return;
}
this._finishGroupSelectedTabs(draggedTab);
if (effects == "move") {
this._animateTabMove(event);
return;
}
}
this._finishAnimateTabMove();
*/
if (effects == "link") {
let tab = this._getDragTargetTab(event, true);
if (tab) {
if (!this._dragTime) {
this._dragTime = Date.now();
}
if (Date.now() >= this._dragTime + this._dragOverDelay) {
this.selectedItem = tab;
}
ind.hidden = true;
return;
}
}
var rect = arrowScrollbox.getBoundingClientRect();
var newMargin;
if (pixelsToScroll) {
// if we are scrolling, put the drop indicator at the edge
// so that it doesn't jump while scrolling
let scrollRect = arrowScrollbox.scrollClientRect;
let minMargin = scrollRect.left - rect.left;
let maxMargin = Math.min(
minMargin + scrollRect.width,
scrollRect.right
);
if (RTL_UI) {
[minMargin, maxMargin] = [
this.clientWidth - maxMargin,
this.clientWidth - minMargin,
];
}
newMargin = pixelsToScroll > 0 ? maxMargin : minMargin;
} else {
let newIndex = this._getDropIndex(event, effects == "link");
let children = this.allTabs;
if (newIndex == children.length) {
let tabRect = children[newIndex - 1].getBoundingClientRect();
if (RTL_UI) {
newMargin = rect.right - tabRect.left;
} else {
newMargin = tabRect.right - rect.left;
}
children[newIndex - 1].style.setProperty("border-right-color","red","important");
} else {
let tabRect = children[newIndex].getBoundingClientRect();
if (RTL_UI) {
newMargin = rect.right - tabRect.right;
} else {
newMargin = tabRect.left - rect.left;
}
children[newIndex].style.setProperty("border-left-color","red","important");
}
}
ind.hidden = false;
newMargin += ind.clientWidth / 2;
if (RTL_UI) {
newMargin *= -1;
}
ind.style.transform = "translate(" + Math.round(newMargin) + "px)";
ind.style.marginInlineStart = -ind.clientWidth + "px";
}
gBrowser.tabContainer.on_drop = function(event) {
this.clearDropIndicator();
var dt = event.dataTransfer;
var dropEffect = dt.dropEffect;
var draggedTab;
let movingTabs;
if (dt.mozTypesAt(0)[0] == TAB_DROP_TYPE) {
// tab copy or move
draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
// not our drop then
if (!draggedTab) {
return;
}
movingTabs = draggedTab._dragData.movingTabs;
draggedTab.container._finishGroupSelectedTabs(draggedTab);
}
this._tabDropIndicator.hidden = true;
event.stopPropagation();
if (draggedTab && dropEffect == "copy") {
// copy the dropped tab (wherever it's from)
let newIndex = this._getDropIndex(event, false);
let draggedTabCopy;
for (let tab of movingTabs) {
let newTab = gBrowser.duplicateTab(tab);
gBrowser.moveTabTo(newTab, newIndex++);
if (tab == draggedTab) {
draggedTabCopy = newTab;
}
}
if (draggedTab.container != this || event.shiftKey) {
this.selectedItem = draggedTabCopy;
}
} else if (draggedTab && draggedTab.container == this) {
let oldTranslateX = Math.round(draggedTab._dragData.translateX);
let tabWidth = Math.round(draggedTab._dragData.tabWidth);
let translateOffset = oldTranslateX % tabWidth;
let newTranslateX = oldTranslateX - translateOffset;
if (oldTranslateX > 0 && translateOffset > tabWidth / 2) {
newTranslateX += tabWidth;
} else if (oldTranslateX < 0 && -translateOffset > tabWidth / 2) {
newTranslateX -= tabWidth;
}
let dropIndex = this._getDropIndex(event, false);
// "animDropIndex" in draggedTab._dragData &&
// draggedTab._dragData.animDropIndex;
let incrementDropIndex = true;
if (dropIndex && dropIndex > movingTabs[0]._tPos) {
dropIndex--;
incrementDropIndex = false;
}
let animate = gBrowser.animationsEnabled;
if (oldTranslateX && oldTranslateX != newTranslateX && animate) {
for (let tab of movingTabs) {
tab.setAttribute("tabdrop-samewindow", "true");
tab.style.transform = "translateX(" + newTranslateX + "px)";
let onTransitionEnd = transitionendEvent => {
if (
transitionendEvent.propertyName != "transform" ||
transitionendEvent.originalTarget != tab
) {
return;
}
tab.removeEventListener("transitionend", onTransitionEnd);
tab.removeAttribute("tabdrop-samewindow");
this._finishAnimateTabMove();
if (dropIndex !== false) {
gBrowser.moveTabTo(tab, dropIndex);
if (incrementDropIndex) {
dropIndex++;
}
}
gBrowser.syncThrobberAnimations(tab);
};
tab.addEventListener("transitionend", onTransitionEnd);
}
} else {
this._finishAnimateTabMove();
if (dropIndex !== false) {
for (let tab of movingTabs) {
gBrowser.moveTabTo(tab, dropIndex);
if (incrementDropIndex) {
dropIndex++;
}
}
}
}
} else if (draggedTab) {
let newIndex = this._getDropIndex(event, false);
let newTabs = [];
for (let tab of movingTabs) {
let newTab = gBrowser.adoptTab(tab, newIndex++, tab == draggedTab);
newTabs.push(newTab);
}
// Restore tab selection
gBrowser.addRangeToMultiSelectedTabs(
newTabs[0],
newTabs[newTabs.length - 1]
);
} else {
// Pass true to disallow dropping javascript: or data: urls
let links;
try {
links = browserDragAndDrop.dropLinks(event, true);
} catch (ex) {}
if (!links || links.length === 0) {
return;
}
let inBackground = Services.prefs.getBoolPref(
"browser.tabs.loadInBackground"
);
if (event.shiftKey) {
inBackground = !inBackground;
}
let targetTab = this._getDragTargetTab(event, true);
let userContextId = this.selectedItem.getAttribute("usercontextid");
let replace = !!targetTab;
let newIndex = this._getDropIndex(event, true);
let urls = links.map(link => link.url);
let csp = browserDragAndDrop.getCSP(event);
let triggeringPrincipal = browserDragAndDrop.getTriggeringPrincipal(
event
);
(async () => {
if (
urls.length >=
Services.prefs.getIntPref("browser.tabs.maxOpenBeforeWarn")
) {
// Sync dialog cannot be used inside drop event handler.
let answer = await OpenInTabsUtils.promiseConfirmOpenInTabs(
urls.length,
window
);
if (!answer) {
return;
}
}
gBrowser.loadTabs(urls, {
inBackground,
replace,
allowThirdPartyFixup: true,
targetTab,
newIndex,
userContextId,
triggeringPrincipal,
csp,
});
})();
}
if (draggedTab) {
delete draggedTab._dragData;
}
}
gBrowser.tabContainer._getDropIndex = function(event, isLink) {
var tabs = this.allTabs;
var tab = this._getDragTargetTab(event, isLink);
if (!RTL_UI) {
for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) {
if (
event.screenY <
tabs[i].screenY + tabs[i].getBoundingClientRect().height
) {
if (
event.screenX <
tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
) {
return i;
}
if (
event.screenX >
tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2 &&
event.screenX <
tabs[i].screenX + tabs[i].getBoundingClientRect().width
) {
return i + 1;
}
}
}
} else {
for (let i = tab ? tab._tPos : 0; i < tabs.length; i++) {
if (
event.screenY <
tabs[i].screenY + tabs[i].getBoundingClientRect().height
) {
if (
event.screenX <
tabs[i].screenX + tabs[i].getBoundingClientRect().width &&
event.screenX >
tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
) {
return i;
}
if (
event.screenX <
tabs[i].screenX + tabs[i].getBoundingClientRect().width / 2
) {
return i + 1;
}
}
}
}
return tabs.length;
}
}
Alles anzeigen
Alles anzeigenAlternativ kann ich diesen angepassten CSS/JS-Code für FF71+ anbieten. Der ist für die normale Symbolleisten-Reihenfolge geeignet. Wem die optischen Anpassungen in dem CSS-Code nicht gefallen, kann diese ändern oder auch ganz löschen. Benötigt wird aber auf jeden Fall alles, was dort unter /* Mehrzeilige Tabreihen */ steht!
Sieht dann, je nach eingestelltem Theme, z.B. so aus:
CSS Alles anzeigen/* -----------------------------*/ /* Tabs-Toolbar */ /* -----------------------------*/ #TabsToolbar:not(:-moz-lwtheme){ /*background-image: url("./image/BackNew0008.png") !important;*/ /*Pfad zu Hintergrundbild bei Standard-Theme */ color: black !important; } /* -----------------------------*/ /* Tab: Optische Anpassungen */ /* -----------------------------*/ /* Schriftart/Schriftgröße ändern */ .tabbrowser-tab .tab-label { text-shadow: 1px 1px 0px #000000 !important; font-weight: 500 !important; font-size: 12px !important; font-family: "Arial" !important; color: white !important; } .tabbrowser-tab .tab-label:not(:-moz-lwtheme) { text-shadow: none !important; color: black !important; } .tabbrowser-tab .tab-label[selected="true"] { text-shadow: 1px 1px 0px #000000 !important; color: white !important; font-weight: 500 !important; font-size: 12px !important; font-family: "Arial" !important; } /* Tab-Line entfernen */ #TabsToolbar .tabbrowser-tab .tab-line { display: none !important; } /* Tab-Rahmen entfernen */ .tabbrowser-tab[visuallyselected="true"], .tabbrowser-tab, .tabbrowser-tab .tab-background { background: unset !important; border-top: unset !important; outline: none !important; } /* Tab-Schließen-Button entfernen */ .tabbrowser-tab .tab-close-button { visibility: collapse !important; } /* Bei Fokus-Verlust nicht ausgrauen */ #menubar-items :not([fokus]), #tabbrowser-tabs :not([fokus]){ opacity: 1!important; } /*------------------*/ /* Tab-Hintergrund */ /*------------------*/ /*--- selektiert ---*/ .tab-background[selected=true]:not(:-moz-lwtheme) > spacer { background-image: linear-gradient( rgba(103,171,224,1), rgba(10,58,95,1) ), none !important; /* blau */ /*background-image: linear-gradient( rgba(230,175,175,1), rgba(84,25,25,1) ), none !important;*/ /* rot */ filter: drop-shadow(4px 3px 2px rgba(0,0,0,0.33)) drop-shadow(-4px 3px 2px rgba(0,0,0,0.33)) !important; } .tab-background[selected=true]:-moz-lwtheme > spacer { background-image: linear-gradient( rgba(103,171,224,1), rgba(10,58,95,1) ), none !important; filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.33)) drop-shadow(-2px 3px 2px rgba(0,0,0,0.33)) !important; } /*--- hover(nicht selektiert) ---*/ .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):not(:-moz-lwtheme) > spacer { background-image: linear-gradient( rgba(255,255,255,1), rgba(115,115,115,1) ), none !important; filter: brightness(130%) contrast(95%) drop-shadow(1px 1px 1px rgba(0,0,0,0.33)) drop-shadow(-1px 1px 1px rgba(0,0,0,0.33)) !important; } .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]):-moz-lwtheme > spacer { background-image: linear-gradient( rgba(225,225,225,0.66), rgba(100,125,145,0.66) ), none !important; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75); } /*--- nicht selektiert ---*/ .tab-background:not([selected=true]):not(:-moz-lwtheme) > spacer { background-image: linear-gradient( rgba(255,255,255,1), rgba(125,125,125,1) ), none !important; filter: brightness(115%) contrast(90%) drop-shadow(1px 1px 1px rgba(0,0,0,0.33)) drop-shadow(-1px 1px 1px rgba(0,0,0,0.33)) !important; } .tab-background:not([selected=true]):-moz-lwtheme > spacer { background-image: linear-gradient( rgba(255,255,255,0.33), rgba(110,110,110,0.33) ), none !important; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75); } /*--- Multi-selektiert ---*/ .tab-background[multiselected=true]:not([selected=true]) > spacer { background-image: linear-gradient( rgba(225,225,225,1), rgba(50,98,135,1) ), none !important; } .tabbrowser-tab:hover > .tab-stack > .tab-background[multiselected=true]:not([selected=true]) > spacer { background-image: linear-gradient( rgba(225,225,225,1), rgba(50,98,135,1) ), none !important; } /* ----------------------------*/ /* Mehrzeilige Tabreihen */ /* ----------------------------*/ tabs > arrowscrollbox { display: block; } /* Tab-Höhe */ .tabbrowser-tab { min-height: 28px !important; max-height: 28px !important; vertical-align: bottom !important; margin-top: 1px !important; margin-bottom: 1px !important; } scrollbox[part][orient="horizontal"] { display: flex; flex-wrap: wrap; overflow: visible !important; overflow-x: hidden !important; overflow-y: auto !important; min-height: 30px !important; /* Tab-Höhe + 2 */ max-height: calc( 3 * 30px ) !important; /*3 Tabreihen * Tab-Höhe + 2 */ -moz-window-dragging: no-drag !important; } /* Feste Breite des einzelnem Tabs */ .tabbrowser-tab:not([pinned]) { min-width: 234px !important; } /* Platz für Scrollbar schaffen */ .tabbrowser-tabs { margin-right: -41px !important; } /* Buttons/Zwischenräume Ausblenden */ hbox.titlebar-spacer, #alltabs-button,tabs tab:not([fadein]), [class="scrollbutton-up"], [class="scrollbutton-up"] + spacer, scrollbox[part][orient="horizontal"] + spacer, [class="scrollbutton-down"] { display: none; }
Hallo und guten Tag,
ich freue mich das sich so schnell eine Lösung gefunden hat das man es wieder nutzen kann und habe gleich den CSS Code getauscht, finde soweit auch alles schick nur mir fehlt nun das "X" zum schließen an jedem Tab, wie kann ich dieses wieder einbinden? Rechtsklick und schließen finde ich sehr schlecht weil das mir zu lange geht.
MFG
Hallo und Willkommen hier im Forum.
Ab Zeile 48 das entfernen und dann testen:
/* Tab-Schließen-Button entfernen */
.tabbrowser-tab .tab-close-button {
visibility: collapse !important;}
...nur mir fehlt nun das "X" zum schließen an jedem Tab, wie kann ich dieses wieder einbinden?
Diesen Eintrag in der CSS-Datei entfernen oder auskommentieren:
/* Tab-Schließen-Button entfernen */
.tabbrowser-tab .tab-close-button {
visibility: collapse !important;
}
Edit: Sehe gerade, Andreas war schneller...
Alles anzeigenHallo und Willkommen hier im Forum.
Ab Zeile 48 das entfernen und dann testen:
/* Tab-Schließen-Button entfernen */.tabbrowser-tab .tab-close-button {
visibility: collapse !important;}
Danke, muss so blind gewesen sein das ich es nicht gesehen habe.
Alles ist gut
...nur mir fehlt nun das "X" zum schließen an jedem Tab, wie kann ich dieses wieder einbinden?Diesen Eintrag in der CSS-Datei entfernen oder auskommentieren:
CSS/* Tab-Schließen-Button entfernen */ .tabbrowser-tab .tab-close-button { visibility: collapse !important; }
Danke habe es entfernt weil Auskommentieren mit # irgendwie nicht genommen wurde und mit // auch irgendwie nicht, aber danke für den Code ohne Mehrzeilige Zeile würde ich mich nicht mehr wohl führen
Auskommentieren funktioniert so in CSS Codes:
/*......*/
Auskommentieren funktioniert so in CSS Codes:
/*......*/
Perfekt nun habe ich es so im Skript stehen.
/* Tab-Schließen-Button entfernen */
/*.tabbrowser-tab .tab-close-button {
visibility: collapse !important;
}*/
Danke und schöne Woche noch.