- Firefox-Version
- 92.0.1
- Betriebssystem
- macOS Mojave 10.14.6
Hallo Kollegen,
mein Problem:
Wenn ich bei geschlossenem Firefox einen externen Link (z. B. in Outlook) klicke, dann öffnet Firefox zwar den Link, doch gleichzeitig auch einen leeren Tab. Soll heißen, in der Tableiste befindet sich an erster Stelle der leere, und an 2. Stelle der Tab mit dem Inhalt aus dem geklicktem Link. Das passiert seit einer der letzten Firefox-Versionen.
Hintergrund:
1. Ich nutze die aktuelle Version 4.1.0 der CustomCSSforFx von Aris und daraus unter anderem die Funktion "TABS BELOW NAVIGATION AND BOOKMARKS TOOLBARS / TABS NOT ON TOP". Diese Funktion wird durch folgenden css-Code bewirkt, der durch die userChrome.css aufgerufen wird (tabs_below_navigation_toolbar_macOS.css):
/* Firefox userChrome.css tweaks ********************************************************/
/* Github: https://github.com/aris-t2/customcssforfx ************************************/
/****************************************************************************************/
:root {
--tabs_toolbar_color_tabs_not_on_top: linear-gradient(#f9f9fa,#f9f9fa);
--tab_below_navigation_toolbar_bottom_padding_macOS: calc( var(--tab-min-height) + 8px );
--tab_below_navigation_toolbar_toolbox_top_padding_macOS: calc(-1px + var(--tab-min-height));
}
#TabsToolbar {
position: absolute;
display: block;
bottom: 0;
width: 100vw;
background-clip: padding-box;
color: var(--toolbar-color);
}
#TabsToolbar:not(:-moz-lwtheme){
appearance: none;
background-image: var(--tabs_toolbar_color_tabs_not_on_top);
}
#tabbrowser-tabs {
width: 100vw;
}
#navigator-toolbox {
position: relative;
padding-bottom: var(--tab_below_navigation_toolbar_bottom_padding_macOS);
}
#main-window[tabsintitlebar]:not([sizemode="fullscreen"]):not([inDOMFullscreen="true"]) #navigator-toolbox {
padding-top: var(--tab_below_navigation_toolbar_toolbox_top_padding_macOS);
}
#main-window[tabsintitlebar]:not([sizemode="fullscreen"]):not([inDOMFullscreen="true"]) .titlebar-buttonbox-container {
position: fixed;
top: 3px !important;
right: unset;
left: 0;
visibility: visible;
display: block;
}
#titlebar:-moz-lwtheme {
background-image: var(--lwt-header-image, var(--lwt-additional-images));
background-repeat: var(--lwt-background-tiling);
background-position: var(--lwt-background-alignment);
}
/* caption button position in maximized mode after moving to the top */
#main-window[tabsintitlebar]:not([inDOMFullscreen="true"]) #toolbar-menubar[autohide="true"] ~ #TabsToolbar .titlebar-buttonbox-container,
#main-window[tabsintitlebar][sizemode="maximized"]:not([inDOMFullscreen="true"]) #TabsToolbar .titlebar-buttonbox-container {
top: 0;
}
#main-window[tabsintitlebar][sizemode="maximized"]:not([inDOMFullscreen="true"]) #titlebar {
height: 0px;
}
#TabsToolbar .titlebar-buttonbox-container,
#TabsToolbar .private-browsing-indicator,
#TabsToolbar #window-controls,
#TabsToolbar *[type="caption-buttons"],
#TabsToolbar *[type="pre-tabs"],
#TabsToolbar *[type="post-tabs"] {
display: none;
}
/* lw themes support */
#nav-bar {
box-shadow: unset !important;
}
/* remove color overlay for lw-themes */
#main-window[style*='--lwt-header-image'] :is(#nav-bar,#PersonalToolbar,#TabsToolbar):-moz-lwtheme{
background: unset !important;
}
/* adjust background color */
#main-window:not([style*='--lwt-header-image']) #TabsToolbar:-moz-lwtheme {
appearance: none !important;
background-image: linear-gradient(var(--toolbar-bgcolor),var(--toolbar-bgcolor)) !important;
}
/* Fixes for projects other settings */
/* remove application/hamburger button in titlebar and tab toolbars start padding */
#main-window[tabsintitlebar][sizemode="fullscreen"] #navigator-toolbox #PanelUI-button {
visibility: collapse;
}
/* override code inside appbutton in titlebar code */
#main-window[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar,
#main-window[tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar,
#main-window[tabsintitlebar][sizemode="fullscreen"] #TabsToolbar,
#main-window[uidensity=compact][tabsintitlebar] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar,
#main-window[uidensity=compact][tabsintitlebar][sizemode="maximized"] #toolbar-menubar[autohide="true"][inactive="true"] ~ #TabsToolbar,
#main-window[tabsintitlebar]:is([sizemode="normal"],[sizemode="maximized"],[sizemode="fullscreen"]) #navigator-toolbox #TabsToolbar {
padding-inline-start: 0px !important;
margin-inline-start: 0px !important;
}
#main-window[tabsintitlebar] #TabsToolbar {
padding-inline-end: 0px !important
}
/* remove restored border between navigation toolbar and tabs toolbar */
#nav-bar:not(:-moz-lwtheme) {
box-shadow: unset !important;
}
Alles anzeigen
2. Weiters verwende ich das Script "HideTabbarWithOneTab", welches seinerzeit im August 2019 von aborix für den damaligen Firefox 69 Beta unter macOS und der Verwendung von Aris' Code für "Tabs not on Top" angepasst wurde und bis heute seinen Dienst versieht.
(Ergänzende Anmerkung: Im seinerzeitigen css-Code für "Tabs not on Top" von Aris mussten ebenfalls Änderungen durchgeführt werden, um fehlerfrei zu funktionieren, was mit der aktuellen CustomCSSforFx für Proton aber hinfällig ist, weil der Code neu geschrieben wurde.)
Hier jedenfalls das angepasste Script "HideTabbarWithOneTab":
(function() {
if (!window.gBrowser)
return;
let tabbar = document.getElementById('TabsToolbar');
let navToolbox = document.getElementById('navigator-toolbox');
function showHideTabbar() {
if (gBrowser.visibleTabs.length == 1) {
tabbar.style.visibility = 'collapse';
navToolbox.style.paddingBottom = '0';
} else {
tabbar.style.visibility = 'visible';
navToolbox.style.paddingBottom = 'calc(1px + var(--tab-min-height_tnot))';
};
};
showHideTabbar();
let observer = new MutationObserver(showHideTabbar);
observer.observe(gBrowser.tabContainer, {childList: true, subtree: true});
})();
Alles anzeigen
3. Ebenfalls von aborix wurde im August 2019 das Script TabFocus.uc.js angepasst, welches bis dato tadellos funktioniert:
var tab_hover = {
event:null,
tid:null,
getTab: function(element) {
while (element && element.localName != 'tab') {
element = element.parentNode;
};
return element;
},
onLoad: function() {
gBrowser.tabContainer.addEventListener("mouseout", tab_hover.onMouseOut, false);
gBrowser.tabContainer.addEventListener("mouseover", tab_hover.onMouseOver, false);
},
onUnload: function() {
gBrowser.tabContainer.removeEventListener("mouseover", tab_hover.onMouseOver, false);
gBrowser.tabContainer.removeEventListener("mouseout", tab_hover.onMouseOut, false);
},
onMouseOver: function(event) {
tab_hover.event = event.target;
tab_hover.tid = setTimeout(function() {
gBrowser.selectedTab = tab_hover.getTab(tab_hover.event);
}, 250);
},
onMouseOut: function() {
clearTimeout(tab_hover.tid);
}
};
tab_hover.onLoad();
Alles anzeigen
Ergänzend sei noch gesagt, dass alle Scripte grundsätzlich problemlos funktionieren. Folgende nicht "tabrelevanten" verwende ich noch zusätzlich:
- FavIconInUrlBar.uc.js
- FocusSearchBox.js
- RestartFirefoxButtonM.uc.js
Kann es sein, dass "HideTabbarWithOneTab" neuerlich eine Aktualisierung benötigt?