mobile-config-firefox/chrome/hide_tabs_with_one_tab_w_window_controls.css
MrOtherGuy 0ff12e01fe Add support for modern flexbox layout
Flexbox model will replace old xul box as the default display model so
this patch adds support for that in a whole bunch of styles.

A lot of style rules are marked as "Fx < 112 compatibility" rules and
those can be removed when 112 hits release.
2023-03-11 12:26:07 +02:00

75 lines
2.7 KiB
CSS

/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_with_one_tab_w_window_controls.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill
* up space equal to tab-min-height set on tabs.
* Optionally use privatemode_indicator_as_menu_button.css to replace main menu
* icon with private browsing indicator while tabs are hidden.
* REMOVE ALL BUTTONS from tabs toolbar and menubar including newtab-button
* and firefox-view-button - this style does not work otherwise.
*
* This will NOT work correctly if you have hidden tabs such as with tab groups extensions
**/
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root{
--uc-menubar-vertical-overlap: 28px; /* adjust as necessary */
}
#titlebar{ -moz-appearance: none !important; }
/* We'll use window controls from menubar instead */
#TabsToolbar > .titlebar-buttonbox-container { display: none }
/* Hide overflow button unless tabs overflow - is necessary for collpasing tabs with one tab */
#tabbrowser-tabs:not([overflow="true"]) ~ #alltabs-button{ display: none }
#tabbrowser-tabs,
#tabbrowser-arrowscrollbox{ min-height: 0 !important; }
#TabsToolbar > .titlebar-spacer[type="post-tabs"]{
width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px)) !important;
-moz-box-ordinal-group: 2; /* Fx < 112 compatibility */
order: 2;
}
#toolbar-menubar > spacer{ pointer-events: none }
#tabs-newtab-button{
display: none;
}
/* Need to hide private-browsing indicators, but you can still use privatemode_indicator_as_menu_button.css */
#private-browsing-indicator,
#private-browsing-indicator-with-label{
display: none;
}
.accessibility-indicator,
.private-browsing-indicator{
height: unset !important;
}
.accessibility-indicator > hbox{ padding-block: 0 !important }
.tabbrowser-tab{
height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
}
.tabbrowser-tab:only-of-type,
.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{
visibility: collapse;
min-height: 0 !important;
height: 0;
}
/* Window controls in nav-bar */
:root[tabsintitlebar]:not([customizing]) #toolbar-menubar[inactive]{
height: initial !important;
min-height: initial !important;
margin-bottom: calc(0px - var(--uc-menubar-vertical-overlap,0px)) !important;
}
:root:not([customizing]) #toolbar-menubar[autohide][inactive] > #menubar-items{ pointer-events: none; opacity: 0 }
:root[sizemode="fullscreen"] #TabsToolbar > #window-controls{ z-index: 2; }
.titlebar-buttonbox{ color: inherit }