code cleanup: deprecate bunch of old styles

These all have either better replacements or can be done without the style
This commit is contained in:
MrOtherGuy
2025-11-02 06:29:33 +02:00
parent a7bcb11625
commit c0eb3732a8
16 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_tabstoolbar.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Hide tabs unless cursor is on top of toolbar */
:root:not([customizing]) #navigator-toolbox{
position: relative;
z-index: 1;
}
:root:not([customizing],[chromehidden~="menubar"]) #navigator-toolbox:hover{
margin-bottom: calc(0px - 2 * var(--tab-block-margin) - var(--tab-min-height));
}
#TabsToolbar:not([customizing]){ visibility: hidden; transition: visibility 0ms linear 200ms }
#navigator-toolbox{ transition: margin-bottom 48ms ease-out 200ms !important }
#navigator-toolbox:hover{ transition-delay: 0s !important }
#navigator-toolbox:hover #TabsToolbar{
visibility: visible;
transition-delay: 18ms !important;
}
/* These rules make sure that height of tabs toolbar doesn't exceed tab-min-height */
#tabbrowser-tabs:not([secondarytext-unsupported]) .tab-label-container{
max-height: var(--tab-min-height);
}
.tab-label{ line-height: 20px !important; }
:root[uidensity="compact"] .tab-label{ line-height: 18px !important; }

View File

@@ -0,0 +1,66 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_toolbar.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Hides tabs toolbar */
/* For OSX use hide_tabs_toolbar_osx.css instead */
/* Note, if you have either native titlebar or menubar enabled, then you don't really need this style.
* In those cases you can just use: #TabsToolbar{ visibility: collapse !important }
*/
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root[tabsintitlebar]{ --uc-toolbar-height: 40px; }
:root[tabsintitlebar][uidensity="compact"]{ --uc-toolbar-height: 32px }
#titlebar{
will-change: unset !important;
transition: none !important;
opacity: 1 !important;
}
#TabsToolbar{ visibility: collapse !important }
:root[sizemode="fullscreen"] #titlebar{ position: relative }
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container{
visibility: visible !important;
z-index: 2;
}
:root:not([inFullscreen]) #nav-bar{
margin-top: calc(0px - var(--uc-toolbar-height,0px));
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"]{
min-height: unset !important;
height: var(--uc-toolbar-height,0px) !important;
position: relative;
}
#toolbar-menubar:is([autohide="false"],not([autohide])){
margin-bottom: var(--uc-toolbar-height,0px)
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"] #main-menubar{
flex-grow: 1;
align-items: stretch;
background-attachment: scroll, fixed, fixed;
background-position: 0 0, var(--lwt-background-alignment), right top;
background-repeat: repeat-x, var(--lwt-background-tiling), no-repeat;
background-size: auto 100%, var(--lwt-background-size, auto auto), auto auto;
padding-right: 20px;
}
:root[tabsintitlebar] #toolbar-menubar[autohide="true"]:not([inactive]) #main-menubar{
background-color: var(--lwt-accent-color,var(--toolbox-bgcolor));
background-image: linear-gradient(var(--toolbar-bgcolor,--toolbar-non-lwt-bgcolor),var(--toolbar-bgcolor,--toolbar-non-lwt-bgcolor)), var(--lwt-additional-images,none), var(--lwt-header-image, none);
mask-image: linear-gradient(to left, transparent, black 20px);
}
#toolbar-menubar:not([inactive]){ z-index: 2 }
#toolbar-menubar[autohide="true"][inactive] > #menubar-items {
opacity: 0;
pointer-events: none;
margin-left: var(--uc-window-drag-space-pre,0px)
}

View File

@@ -0,0 +1,24 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_toolbar_osx.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Hides tabs toolbar - OSX only */
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root{ --uc-toolbar-height: 32px; }
:root:not([uidensity="compact"]){ --uc-toolbar-height: 34px }
#TabsToolbar > *{ visibility: collapse !important }
#TabsToolbar > .titlebar-buttonbox-container{
visibility: visible !important;
height:var(--uc-toolbar-height) !important;
}
#nav-bar{
margin-top: calc(0px - var(--uc-toolbar-height));
}
:root[inFullscreen] #navigator-toolbox{ margin-top: 11px }

View File

@@ -0,0 +1,48 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_toolbar_w_with_alltabs_button.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* This is less flexible than hide_tabs_toolbar.css, but this method aims to preserve the alltabs button and show it and window controls next to the main menu button */
/* Load window_control_placeholder_support.css before this stylesheet */
.tabbrowser-tab{
-moz-window-dragging: unset !important;
}
:root:not([customizing]) #tabbrowser-arrowscrollbox-periphery{
display: none;
}
#tabbrowser-tabs{ visibility: hidden;}
#TabsToolbar-customization-target{
justify-content: flex-end;
}
#alltabs-button{
position: relative;
z-index: 1;
padding-bottom: 5px !important;
display: flex !important;
margin-right: 36px !important;
}
:root[sizemode="fullscreen"] #alltabs-button{ margin-right: calc(var(--uc-window-control-width) + 36px) !important }
#TabsToolbar:not([inFullscreen]) > .titlebar-buttonbox-container{
padding-bottom: 5px;
}
#nav-bar{ padding-right: 40px !important; }
/* Rules for window controls on left layout */
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
#alltabs-button{
margin-right: var(--uc-window-drag-space-pre) !important;
}
:root[sizemode="fullscreen"] #alltabs-button{ margin-right: 0px !important; }
}
#TabsToolbar > .titlebar-spacer{ display: none }
#TabsToolbar:not([customizing]){ margin-bottom: calc(0px - var(--tab-min-height) - 2 * var(--tab-block-margin))}
#titlebar{
-moz-appearance: none !important;
will-change: unset !important;
transition: none !important;
opacity: 1 !important;
}

View File

@@ -0,0 +1,80 @@
/* 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;
will-change: unset !important;
transition: none !important;
opacity: 1 !important;
}
:root[sizemode="fullscreen"] #titlebar{ position: relative }
/* 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]) ~ #alltabs-button{ display: none }
#tabbrowser-tabs,
#pinned-tabs-container,
#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;
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 }
.titlebar-buttonbox{ color: inherit }

View File

@@ -0,0 +1,289 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/multi-row_tabs_below_content.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Makes tabs to appear on multiple lines below the web content
* Tab reordering will not work and can't be made to work
* Make menubar enabled for getting window controls in correct place.
* NOTE! menubar will be hidden even if enabled, if you want to be able to show menubar items occasionally,
* then add single flexible space on the left side of menubar items - doing this creates "button" which when hovered
* shows menubar items at the top left corner. See the custom pref below to make menubar static instead.
* It's recommended to move tabs new-tab-button outside tabs toolbar */
/* SETTINGS (you need to create and set these prefs to true in about:config)
* userchrome.multirowtabs.full-width-tabs.enabled - make tabs grow horizontally to fill all available space
* userchrome.multirowtabs.static-menubar.enabled - always show menubar */
@-moz-document url(chrome://browser/content/browser.xhtml){
:root{
--multirow-toolbar-height: 40px;
--multirow-top-padding: 0px;
--multirow-n-rows: 3; /* change maximum number of rows */
--multirow-tab-min-width: 100px;
--multirow-tab-dynamic-width: 1; /* Change to 0 for fixed-width tabs using the above width. */
--uc-window-drag-space-width: 30px;
--uc-window-control-width: 138px;
}
:root[customizing]{
--multirow-top-padding: 32px;
}
:root[inFullscreen]{
--uc-window-drag-space-width: 0px;
}
@media (-moz-gtk-csd-available){
:root{
--uc-window-control-width: 94px;
}
}
:root[uidensity="compact"]{ --multirow-toolbar-height: 34px }
:root{ border-top-width: 0px !important }
#navigator-toolbox{
order: 2;
border-bottom: none !important;
}
/* Re-order window and tab notification boxes */
#navigator-toolbox > div{ display: contents }
.global-notificationbox,
#tab-notification-deck{
order: -1;
}
#titlebar{
-moz-appearance: none !important; /* Try setting to "-moz-window-titlebar" if you face issues */
position: relative;
z-index: 1
}
#nav-bar{
position: fixed !important;
border-left: var(--uc-window-drag-space-width) solid transparent !important;;
top: var(--multirow-top-padding);
border-top: 0 !important;
background: inherit;
background-origin: border-box;
width: 100vw;
}
:root[inFullscreen] #nav-bar,
:root[tabsintitlebar] #nav-bar{
border-right: var(--uc-window-control-width) solid transparent !important;
}
:root[sizemode="fullscreen"] #nav-bar:not(:hover){
opacity: 0;
}
#TabsToolbar > .titlebar-buttonbox-container{
display: none !important;
}
/* Fix incorrect vertical alignment with megabar */
#urlbar[breakout]{ --urlbar-container-height: var(--multirow-toolbar-height) !important; }
/* Fix customization view */
#customization-panelWrapper > .panel-arrowbox > .panel-arrow{ margin-inline-end: initial !important; }
/* Fullscreen mode support */
#customization-container,
:root:not([inFullscreen]) #content-deck,
:root:not([chromehidden~="toolbar"]):not([inFullscreen]) #browser {
margin-top: calc(var(--multirow-toolbar-height) + var(--multirow-top-padding) + var(--multirow-menubar-height,0px));
}
:root[inFullscreen] #toolbar-menubar,
:root[inFullscreen] #nav-bar{
top: calc(1px - (var(--multirow-toolbar-height) + var(--multirow-top-padding)));
}
:root[inFullscreen] #navigator-toolbox:hover > #nav-bar,
:root[inFullscreen] #navigator-toolbox:hover > #titlebar > #toolbar-menubar{
top: 0px;
}
#navigator-toolbox[inFullscreen]{
margin-top: 0 !important;
}
#navigator-toolbox[inFullscreen][style*="margin-top"]:not(:hover){
max-height: 0px;
}
#fullscr-toggler{ bottom: 0; top: unset !important; }
:root[inFullscreen] #navigator-toolbox:hover #toolbar-menubar{
pointer-events: none !important;
}
/* Restyle nav-bar and menubar */
#nav-bar-customization-target{ flex-grow: 1 }
#nav-bar-overflow-button,
#PanelUI-menu-button{ height: var(--multirow-toolbar-height); }
#toolbar-menubar{
height: var(--multirow-toolbar-height);
position: fixed;
display: flex;
visibility: hidden;
top: var(--multirow-top-padding);
padding-top: 0 !important;
width: 100vw;
color: var(--lwt-text-color);
}
:root[customizing] #toolbar-menubar{
visibility: visible;
top: 0;
}
#toolbar-menubar > toolbarspring{
visibility: visible;
}
#menubar-items + spacer{ flex-grow: 1 }
#toolbar-menubar > #menubar-items{
height: 100%;
}
#main-menubar{ height: var(--multirow-toolbar-height) }
#toolbar-menubar > toolbarspring:hover + #menubar-items,
#menubar-items:hover{
visibility: visible;
background-image: linear-gradient( to left,transparent,-moz-dialog 35px);
}
#toolbar-menubar:not(:hover,[customizing]) *{-moz-window-dragging: drag !important;}
#toolbar-menubar > .titlebar-buttonbox-container{
order:1000;
visibility: visible;
}
#menubar-items + spacer{ order: 1000 }
:root[sizemode="fullscreen"] #toolbar-menubar spacer{ visibility: visible }
#toolbar-menubar > .titlebar-buttonbox-container > .titlebar-buttonbox{
height: 100%;
pointer-events: auto !important;
}
#main-menubar:last-child{ padding-inline-end: 40px }
#toolbar-menubar > toolbarspring {
background: url("chrome://global/skin/icons/settings.svg") no-repeat 10px;
height: 100%;
display: flex;
fill: currentColor;
-moz-context-properties: fill;
min-width: 28px !important;
max-width: 28px !important;
}
:root[tabsintitlebar] #PanelUI-button{ margin-right: var(--uc-window-drag-space-width); }
#tabbrowser-tabs{
min-height: unset !important;
padding-inline-start: 0px !important
}
#scrollbutton-up~spacer,
#scrollbutton-up,
#scrollbutton-down{ display: var(--scrollbutton-display-model,initial) }
scrollbox[part][orient="horizontal"] > slot,
scrollbox[part][orient="horizontal"]{
display: flex;
flex: 1;
flex-wrap: wrap;
overflow-y: auto;
max-height: var(--uc-scrollbox-max-height,1px);
scrollbar-color: currentColor transparent;
scrollbar-width: thin;
scrollbar-gutter: stable;
scroll-snap-type: y mandatory;
}
.scrollbox-clip > scrollbox[part][orient="horizontal"] > slot{ display: contents }
scrollbox[part][orient="horizontal"] > slot{
overflow-x: hidden;
}
.scrollbox-clip[orient="horizontal"],
#tabbrowser-arrowscrollbox{
overflow: clip;
display: inline;
--scrollbutton-display-model: none;
--uc-scrollbox-max-height: calc((var(--tab-min-height) + 2 * var(--tab-block-margin,0px)) * var(--multirow-n-rows));
-moz-window-dragging: no-drag;
}
:root[inFullscreen] .scrollbox-clip[orient="horizontal"]:not(:hover),
:root[inFullscreen] #tabbrowser-arrowscrollbox:not(:hover){ --uc-scrollbox-max-height: 1px; min-height: 1px !important; }
.tabbrowser-tab{
height: calc((var(--tab-min-height) + 2 * var(--tab-block-margin,0px))) !important;
scroll-snap-align: start;
}
.tabbrowser-tab[pinned]{
position: static !important;
margin-inline-start: 0px !important;
}
.tabbrowser-tab[fadein]:not([pinned]){
min-width: var(--multirow-tab-min-width) !important;
flex-grow: var(--multirow-tab-dynamic-width) !important;
}
.tabbrowser-tab > stack{ width: 100%; height: 100%; }
/* This should fix potential flash that could occur when bottom border is hovered to show tabs in fullscreen mode */
#tabbrowser-tabpanels{ background-color: var(--lwt-accent-color) !important; }
/* remove bottom margin so it doesn't throw off row height computation */
#tabs-newtab-button{ margin-bottom: 0 !important; }
/* Hide some things that are unnecessary in multi-row below content mode */
#alltabs-button,
:root:not([customizing]) #TabsToolbar #new-tab-button,
#tabbrowser-arrowscrollbox > spacer,
.tabbrowser-tab::after{ display: none !important } /* Also disables tab separators since they mysteriously break tab-row scrolling */
:root[BookmarksToolbarOverlapsBrowser] #PersonalToolbar{
position: absolute;
top: calc(var(--multirow-toolbar-height) + var(--multirow-top-padding));
width: 100vw;
}
:root[BookmarksToolbarOverlapsBrowser] #navigator-toolbox{
margin-bottom: 0 !important;
z-index: auto !important;
}
@media (-moz-bool-pref: "userchrome.multirowtabs.static-menubar.enabled"),
-moz-pref( "userchrome.multirowtabs.static-menubar.enabled"){
:root:not([sizemode="fullscreen"]){
--multirow-menubar-height: 28px;
--uc-window-drag-space-width: 0px;
--uc-window-control-width: 0px;
}
#toolbar-menubar{
visibility: visible;
background-image: var(--lwt-additional-images);
background-repeat: var(--lwt-background-tiling);
background-position: var(--lwt-background-alignment);
}
:root[sizemode="fullscreen"] #toolbar-menubar{
visibility: hidden;
}
:root[sizemode="fullscreen"] #menubar-items{
visibility: collapse !important;
}
:root[lwtheme-image] #toolbar-menubar {
background-image: var(--lwt-header-image), var(--lwt-additional-images);
background-repeat: no-repeat, var(--lwt-background-tiling);
background-position: right top, var(--lwt-background-alignment);
}
#nav-bar{
background-position-y: calc(0px - var(--multirow-menubar-height));
}
#main-menubar,
#toolbar-menubar{ height: var(--multirow-menubar-height); }
#toolbar-menubar > #menubar-items{ visibility: visible; background-image: none !important; }
.titlebar-buttonbox-container{ background: none !important }
:root:not([inFullscreen]) #nav-bar{
top: calc(var(--multirow-menubar-height) + var(--multirow-top-padding));
}
:root[BookmarksToolbarOverlapsBrowser] #PersonalToolbar{
top: calc(var(--multirow-toolbar-height) + var(--multirow-top-padding) + var(--multirow-menubar-height));
}
}
@media (-moz-bool-pref: "userchrome.multi-row-tabs.full-width-tabs.enabled"),
-moz-pref("userchrome.multi-row-tabs.full-width-tabs.enabled"){
.tabbrowser-tab[fadein]:not([pinned]){ max-width: 100vw !important; }
}
}

View File

@@ -0,0 +1,90 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/navbar_tabs_oneliner.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Make tabs and navbar appear side-by-side tabs on right */
/* Use page_action_buttons_on_hover.css to hide page-action-buttons to save more space for the address */
/*
urlbar_popup_full_width.css is VERY MUCH recommended for Firefox 71+ because of new urlbar popup
*/
:root[tabsintitlebar][sizemode="normal"]{
--uc-window-drag-space-width: 24px;
}
:root[uidensity="compact"]{
--tab-block-margin: 2px !important;
}
/* Modify these to change relative widths or default height */
#navigator-toolbox{
--uc-navigationbar-width: 40vw;
--uc-toolbar-height: 40px;
--uc-urlbar-min-width: 50vw; /* minimum width for opened urlbar */
}
#scrollbutton-up,
#scrollbutton-down{ border-block-width: 2px !important; }
/* Override for other densities */
:root[uidensity="compact"] #navigator-toolbox{ --uc-toolbar-height: 34px; }
:root[uidensity="touch"] #navigator-toolbox{ --uc-toolbar-height: 44px; }
/* prevent urlbar overflow on narrow windows */
/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */
@media screen and (max-width: 1500px){
#urlbar-container{
min-width: 300px !important;
flex-shrink: 1 !important;
}
}
#TabsToolbar{
margin-left: var(--uc-navigationbar-width);
--tabs-navbar-shadow-size: 0px;
}
#tabbrowser-tabs{
--tab-min-height: calc(var(--uc-toolbar-height) - 2 * var(--tab-block-margin,0px)) !important;
}
/* This isn't useful when tabs start in the middle of the window */
.titlebar-spacer[type="pre-tabs"]{ display: none }
#navigator-toolbox > #nav-bar{
margin-right:calc(100vw - var(--uc-navigationbar-width));
margin-top: calc(0px - var(--uc-toolbar-height));
}
/* Window drag space */
:root[tabsintitlebar="true"] #nav-bar{ padding-left: var(--uc-window-drag-space-width) !important }
/* Rules for window controls on left layout */
@media (-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
.titlebar-buttonbox-container{
position: fixed;
display: flex;
left: 0px;
z-index: 3;
height: var(--uc-toolbar-height);
align-items: center
}
:root[tabsintitlebar="true"] #nav-bar{ padding-inline: calc(var(--uc-window-drag-space-width,0px) + 84px) 0px !important; }
}
@media (-moz-platform: macos){
:root[tabsintitlebar="true"] #nav-bar{ padding-inline: calc(var(--uc-window-drag-space-width,0px) + 72px) 0px !important; }
}
/* 1px margin on touch density causes tabs to be too high */
.tab-close-button{ margin-top: 0 !important }
/* Make opened urlbar overlay the toolbar */
#urlbar[open]:focus-within{ min-width: var(--uc-urlbar-min-width,none) !important; }
/* Hide dropdown placeholder */
#urlbar-container:not(:hover) .urlbar-history-dropmarker{ margin-inline-start: -28px; }
/* Fix customization view */
#customization-panelWrapper > .panel-arrowbox > .panel-arrow{ margin-inline-end: initial !important; }

View File

@@ -0,0 +1,125 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Variation of oneliner where menubutton and overflow button are next to window controls (if window controls are on right side) */
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root[uidensity="compact"]{
--tab-block-margin: 2px !important;
}
/* Modify these to change relative widths or default height */
#navigator-toolbox{
--uc-navigationbar-width: 50vw;
--uc-toolbar-height: 40px;
}
#scrollbutton-up,
#scrollbutton-down{ border-block-width: 2px !important; }
/* reserved space for overflow + menu buttons */
#navigator-toolbox{
--uc-buttons-width: calc(64px + 5 * var(--toolbarbutton-outer-padding) + var(--uc-menubutton-padding,6px))
}
#nav-bar:not([nonemptyoverflow]) > #nav-bar-customization-target{
--uc-buttons-width: calc(32px + 4 * var(--toolbarbutton-outer-padding) + 6px)
}
/* Override for other densities */
:root[uidensity="compact"] #navigator-toolbox{
--uc-toolbar-height: 34px;
--uc-menubutton-padding: 0px;
}
:root[uidensity="touch"] #navigator-toolbox{
--uc-toolbar-height: 44px;
}
:root[uidensity="compact"] #urlbar-container{
--urlbar-container-height: var(--uc-toolbar-height) !important;
padding-block: 0 !important;
}
:root[uidensity="compact"] #urlbar{
--urlbar-container-height: var(--uc-toolbar-height) !important;
}
/* prevent urlbar overflow on narrow windows */
/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */
@media screen and (max-width: 1000px){
#urlbar-container{
min-width: 300px !important;
flex-shrink: 1 !important;
}
}
#TabsToolbar{
margin-left: var(--uc-navigationbar-width);
--tabs-navbar-shadow-size: 0px;
color: var(--toolbar-color);
}
#tabbrowser-tabs{
--tab-min-height: calc(var(--uc-toolbar-height) - 2 * var(--tab-block-margin,0px)) !important;
}
/* Need to set background color for selected tab so it can be distinguished from background */
#TabsToolbar .tab-background[selected]{
background: var(--lwt-selected-tab-background-color,rgba(0,0,0,0.2)) !important;
}
#TabsToolbar[brighttext] .tab-background[selected]{
background: var(--lwt-selected-tab-background-color,rgba(255,255,255,0.2)) !important;
}
/* This isn't useful when tabs start in the middle of the window */
.titlebar-spacer[type="pre-tabs"]{ width:8px !important}
#nav-bar{ margin-top: calc(0px - var(--uc-toolbar-height)); }
#nav-bar-customization-target{ padding-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-window-control-width) - var(--uc-buttons-width) - var(--uc-window-drag-space-post)) }
/* Rules specific to window controls on left layout */
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-platform: macos),
(-moz-gtk-csd-reversed-placement){
.titlebar-buttonbox-container{ position: fixed; display: block; left: 0px; z-index: 3; }
#nav-bar-customization-target{
padding-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-buttons-width) - var(--uc-window-drag-space-pre))
}
}
#titlebar{
opacity: 1 !important;
will-change: unset !important;
transition: none !important;
}
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container,
#TabsToolbar > .toolbar-items{
position: relative !important;
z-index: 2
}
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-spacer[type="post-tabs"]{
display: flex !important;
}
.titlebar-spacer[type="post-tabs"]{
width: calc(var(--uc-buttons-width) + var(--uc-window-drag-space-post)) !important;
}
:root[privatebrowsingmode="temporary"] .titlebar-spacer[type="post-tabs"]{
width: var(--uc-buttons-width) !important
}
#PanelUI-button,#nav-bar-overflow-button{
margin: 0px !important;
border: 0px !important;
position: relative;
z-index: 3;
}
/* 1px margin on touch density causes tabs to be too high */
.tab-close-button{ margin-top: 0 !important }
/* Hide dropdown placeholder */
#urlbar-container:not(:hover) .urlbar-history-dropmarker{ margin-inline-start: -28px; }

View File

@@ -0,0 +1,115 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/navbar_tabs_oneliner_tabs_on_left.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*Make tabs and navbar appear side-by-side tabs on left */
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it
*/
:root[uidensity="compact"]{
--tab-block-margin: 2px !important;
}
/* Modify these to change relative widths or default height */
#navigator-toolbox{
--uc-navigationbar-width: 45vw;
--uc-toolbar-height: 40px;
--uc-urlbar-min-width: 50vw; /* minimum width for opened urlbar */
}
#titlebar{
will-change: unset !important;
transition: none !important;
opacity: 1 !important;
}
#scrollbutton-up,
#scrollbutton-down{ border-block-width: 2px !important; }
/* Override for other densities */
:root[uidensity="compact"] #navigator-toolbox{ --uc-toolbar-height: 34px;}
:root[uidensity="touch"] #navigator-toolbox{ --uc-toolbar-height: 44px; }
:root[uidensity="compact"] #urlbar-container{
--urlbar-container-height: var(--uc-toolbar-height) !important;
padding-block: 0 !important;
}
:root[uidensity="compact"] #urlbar{
--urlbar-container-height: var(--uc-toolbar-height) !important;
}
/* prevent urlbar overflow on narrow windows */
/* Dependent on how many items are in navigation toolbar and tabs-/nav-bar ratio - ADJUST AS NEEDED */
@media screen and (max-width: 1600px){
#urlbar-container{ min-width:unset !important }
}
:root[tabsintitlebar] #toolbar-menubar{
height: initial !important;
}
:root[tabsintitlebar] #toolbar-menubar[inactive] > :not(.titlebar-buttonbox-container){
opacity: 0;
pointer-events: none;
}
:root[tabsintitlebar] #toolbar-menubar[inactive]{
margin-bottom: calc(0px - var(--uc-toolbar-height));
}
#TabsToolbar > .titlebar-buttonbox-container,
.titlebar-spacer[type="post-tabs"]{
display: none;
}
#TabsToolbar{
margin-right: var(--uc-navigationbar-width);
--tabs-navbar-shadow-size: 0px;
}
#tabbrowser-tabs{
--tab-min-height: calc(var(--uc-toolbar-height) - 2 * var(--tab-block-margin,0px)) !important;
}
#toolbar-menubar[autohide="true"] > .titlebar-buttonbox-container{
min-height: var(--uc-toolbar-height) !important
}
#tabbrowser-tabs,
.tabbrowser-tab[pinned]{
min-height: var(--tab-min-height) !important;
}
#nav-bar{
margin-left: calc(100vw - var(--uc-navigationbar-width));
margin-top: calc(0px - var(--uc-toolbar-height));
}
/* Override style set in window_control_placeholder_support.css */
#nav-bar{ border-left-width: 0px !important }
#nav-bar::before{ display:none !important }
/* Rules specific to window controls on left layout */
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-platform: macos),
(-moz-gtk-csd-reversed-placement){
:root:not([inFullscreen]) #TabsToolbar-customization-target > .titlebar-spacer[type="pre-tabs"]{
width: var(--uc-window-drag-space-post) !important;
display: flex !important;
}
#TabsToolbar > .titlebar-buttonbox-container{
display: flex;
}
}
/* 1px margin on touch density causes tabs to be too high */
.tab-close-button{ margin-top: 0 !important }
/* Make opened urlbar overlay the toolbar */
#urlbar[open]:focus-within{
min-width: var(--uc-urlbar-min-width,none) !important;
right: 0 !important;
left: auto !important;
}
/* Hide dropdown placeholder */
#urlbar-container:not(:hover) .urlbar-history-dropmarker{ margin-inline-start: -28px; }
/* Fix customization view */
#customization-panelWrapper > .panel-arrowbox > .panel-arrow{ margin-inline-end: initial !important; }

View File

@@ -0,0 +1,92 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/navbar_tabs_responsive_oneliner.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Make tabs and navbar appear side-by-side tabs on right */
/* Use page_action_buttons_on_hover.css to hide page-action-buttons to save more space for the address */
/* Toolbars will be shown normally if window width goes below the value below */
/* Modify it to suit your needs */
@media screen and (min-width: 1100px){
:root[tabsintitlebar][sizemode="normal"]{
--uc-window-drag-space-width: 24px;
}
:root[uidensity="compact"]{
--tab-block-margin: 2px !important;
}
/* Modify these to change relative widths or default height */
#navigator-toolbox{
--uc-navigationbar-width: 40vw;
--uc-toolbar-height: 40px;
--uc-urlbar-min-width: 50vw; /* minimum width for opened urlbar */
}
#scrollbutton-up,
#scrollbutton-down{ border-block-width: 2px !important; }
/* prevent urlbar overflow on narrow windows */
/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */
@media screen and (max-width: 1500px){
#urlbar-container{
min-width: 300px !important;
flex-shrink: 1 !important;
}
}
/* Override for other densities */
:root[uidensity="compact"] #navigator-toolbox{ --uc-toolbar-height: 34px; }
:root[uidensity="touch"] #navigator-toolbox{ --uc-toolbar-height: 44px; }
#TabsToolbar{
margin-left: var(--uc-navigationbar-width);
--tabs-navbar-shadow-size: 0px;
}
#tabbrowser-tabs{
--tab-min-height: calc(var(--uc-toolbar-height) - 2 * var(--tab-block-margin,0px)) !important;
}
/* This isn't useful when tabs start in the middle of the window */
.titlebar-spacer[type="pre-tabs"]{ display: none }
#navigator-toolbox > #nav-bar{
margin-right:calc(100vw - var(--uc-navigationbar-width));
margin-top: calc(0px - var(--uc-toolbar-height));
}
/* Window drag space */
:root[tabsintitlebar="true"] #nav-bar{ padding-left: var(--uc-window-drag-space-width) !important }
/* Rules for window controls on left layout */
@media (-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
.titlebar-buttonbox-container{
position: fixed;
display: flex;
left: 0px;
z-index: 3;
height: var(--uc-toolbar-height);
align-items: center
}
:root[tabsintitlebar="true"] #nav-bar{ padding-inline: calc(var(--uc-window-drag-space-width,0px) + 84px) 0px !important; }
}
@media (-moz-platform: macos){
:root[tabsintitlebar="true"] #nav-bar{ padding-inline: calc(var(--uc-window-drag-space-width,0px) + 72px) 0px !important; }
}
/* 1px margin on touch density causes tabs to be too high */
.tab-close-button{ margin-top: 0 !important }
/* Make opened urlbar overlay the toolbar */
#urlbar[open]:focus-within{ min-width: var(--uc-urlbar-min-width,none) !important; }
/* Hide dropdown placeholder */
#urlbar-container:not(:hover) .urlbar-history-dropmarker{ margin-inline-start: -28px; }
}
/* Fix customization view */
#customization-panelWrapper > .panel-arrowbox > .panel-arrow{ margin-inline-end: initial !important; }

View File

@@ -0,0 +1,103 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_below_content.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* IMPORTANT */
/*
Get window_control_placeholder_support.css
Window controls will be all wrong without it.
Additionally on Linux, you may need to get:
linux_gtk_window_control_patch.css
*/
.titlebar-buttonbox-container{
position: fixed;
display: block;
top:0;
right:0;
height: 40px;
z-index: 3;
visibility: visible !important;
}
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
.titlebar-buttonbox-container{ left:0; right: unset !important; }
}
:root[uidensity="compact"] .titlebar-buttonbox-container{ height: 32px }
.titlebar-buttonbox-container > .titlebar-buttonbox{ height: 100%; }
/* Re-adjust window cotrols if menubar is permanently enabled */
:root[tabsintitlebar="true"]:not([inFullscreen]) #toolbar-menubar[autohide="false"]{ transform: translateX(0px); }
:root[tabsintitlebar="true"]:not([inFullscreen]) #toolbar-menubar[autohide="false"] .titlebar-buttonbox-container{ height: 100%; }
:root[tabsintitlebar="true"]:not([inFullscreen]) #toolbar-menubar[autohide="false"] .titlebar-button{ padding: 2px 17px !important; }
/* Move tabs below content */
#main-window > body::after{
content: "";
display: flex;
}
#main-window[inFullscreen]:not([inDOMFullscreen]) > body::after,
#main-window:not([inFullscreen]) > body::after{
margin-bottom: calc(var(--tab-min-height) + 2 * var(--tab-block-margin,0px));
}
#TabsToolbar{
position: fixed;
display: block;
bottom: 0;
width: 100vw;
height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin,0px));
--tabs-navbar-shadow-size: 0px;
background-color: light-dark(rgb(240, 240, 244), rgb(28, 27, 34)) !important;
z-index: 1;
:root[lwtheme] & {
background-image: var(--lwt-additional-images);
background-repeat: var(--lwt-background-tiling);
background-position: var(--lwt-background-alignment);
background-color: var(--lwt-accent-color) !important;
}
:root[lwtheme-image] & {
background-image: var(--lwt-header-image), var(--lwt-additional-images);
background-repeat: no-repeat, var(--lwt-background-tiling);
background-position: right top, var(--lwt-background-alignment);
}
}
#TabsToolbar:hover{ z-index: 1 }
#TabsToolbar-customization-target{ width: 100vw; }
.tab-background{ border-top-style: none !important; }
/* Hide stuff that doesn't make sense with tabs below content */
#TabsToolbar > .titlebar-buttonbox-container,
#TabsToolbar .titlebar-spacer{
display: none !important;
}
:root[inFullscreen] #toolbar-menubar > .titlebar-buttonbox-container{ display: flex !important; }
@media (-moz-bool-pref: "browser.fullscreen.autohide"){
#main-window[inFullscreen]:not([inDOMFullscreen]) > body::after{
margin-bottom: 0px;
}
:root[sizemode="fullscreen"] #TabsToolbar{
visibility: hidden;
transition: visibility 0s linear 100ms;
}
#mainPopupSet:has(> #tabContextMenu:hover) ~ #navigator-toolbox #TabsToolbar,
:root[sizemode="fullscreen"]:not([inDOMFullscreen]) #TabsToolbar:hover{
transition-delay: 0ms;
visibility: visible;
}
:root[sizemode="fullscreen"]:not([inDOMFullscreen]) #TabsToolbar::after{
content: "";
position: absolute;
bottom: 0;
height: 1px;
width: 100%;
z-index: 1;
visibility: visible;
}
:root[inFullscreen] #navigator-toolbox:not(:hover) .titlebar-buttonbox-container{ display: none !important; }
}

View File

@@ -0,0 +1,76 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* IMPORTANT
Get window_control_placeholder_support.css
Window controls will be all wrong without it.
Additionally on Linux, you may need to get:
linux_gtk_window_control_patch.css
Use tabs_on_bottom_menubar_on_top_patch.css if you
have menubar permanently enabled and want it on top
*/
#toolbar-menubar[autohide="true"] > .titlebar-buttonbox-container,
#TabsToolbar > .titlebar-buttonbox-container{
position: fixed;
display: block;
top: 0px;
right:0;
height: 40px;
}
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
.titlebar-buttonbox-container{ left:0; right: unset !important; }
}
:root[uidensity="compact"] #TabsToolbar > .titlebar-buttonbox-container{ height: 32px }
#toolbar-menubar[inactive] > .titlebar-buttonbox-container{ opacity: 0 }
.titlebar-buttonbox-container > .titlebar-buttonbox{ height: 100%; }
#titlebar{
order: 2;
-moz-appearance: none !important;
--tabs-navbar-shadow-size: 0px;
--uc-menubar-vertical-overlap: 19px; /* for hide_tabs_with_one_tab_w_window_controls.css compatibility */
}
/* Re-order window and tab notification boxes */
#navigator-toolbox > div{ display: contents }
.global-notificationbox,
#tab-notification-deck{
order: 2;
}
#TabsToolbar .titlebar-spacer{ display: none; }
/* Also hide the toolbox bottom border which isn't at bottom with this setup */
#navigator-toolbox::after{ display: none !important; }
@media (-moz-gtk-csd-close-button){
.titlebar-button{
flex-direction: column;
}
}
/* At Activated Menubar */
:root:not([chromehidden~="menubar"], [sizemode="fullscreen"]) #toolbar-menubar:not([autohide="true"]) + #TabsToolbar > .titlebar-buttonbox-container {
display: block !important;
}
#toolbar-menubar:not([autohide="true"]) > .titlebar-buttonbox-container {
visibility: hidden;
}
/* These exist only for compatibility with autohide-tabstoolbar.css */
toolbox#navigator-toolbox > toolbar#nav-bar.browser-toolbar{ animation: none; }
#navigator-toolbox:hover #TabsToolbar{ animation: slidein ease-out 48ms 1 }
#TabsToolbar > .titlebar-buttonbox-container{ visibility: visible }
:root:not([lwtheme]) #navigator-toolbox{ background-color: -moz-dialog }
/* Uncomment the following if you want bookmarks toolbar to be below tabs */
/*
#PersonalToolbar{
order: 2;
}
*/

View File

@@ -0,0 +1,59 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/tabs_on_bottom_menubar_on_top_patch.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Menubar on top patch - use with tabs_on_bottom.css */
/* Only really useful if menubar is ALWAYS visible */
:root:not([sizemode="fullscreen"]){ --uc-window-control-width: 0px !important }
:root{
/* height if native titlebar is enabled, assumes empty menubar */
--uc-menubar-height: 20px;
}
:root[tabsintitlebar]{
/* height when native titlebar is disabled, more roomy so can fit buttons etc. */
--uc-menubar-height: 29px;
}
:root:is([sizemode="fullscreen"],[chromehidden~="menubar"]){
--uc-menubar-height: 0px;
}
/* Since menubar is statically at top, remove fake drag-space that might be set by window_control_placeholder_support.css */
:root:not([sizemode="fullscreen"]) #nav-bar{ border-inline-width: 0 }
#navigator-toolbox{
-moz-window-dragging: drag;
padding-top: var(--uc-menubar-height) !important;
}
/* Remove window dragging from notification boxes */
#tab-notification-deck,
.global-notificationbox{
-moz-window-dragging: no-drag;
}
:root:not([chromehidden~="menubar"]) #toolbar-menubar{
position: fixed;
display: flex;
top: 0px;
height: var(--uc-menubar-height);
width: 100%;
overflow: hidden;
}
#toolbar-menubar > .titlebar-buttonbox-container{ height: 100%; order: 100; }
#toolbar-menubar > [flex]{ flex-grow: 100; }
#toolbar-menubar > spacer[flex]{
order: 99;
flex-grow: 1;
min-width: var(--uc-window-drag-space-post,20px);
}
#toolbar-menubar .toolbarbutton-1 { --toolbarbutton-inner-padding: 3px }
:root:not([sizemode="fullscreen"]) #toolbar-menubar.browser-toolbar > .titlebar-buttonbox-container{
visibility: visible;
}
:root:not([chromehidden~="menubar"], [sizemode="fullscreen"]) #TabsToolbar#TabsToolbar#TabsToolbar > .titlebar-buttonbox-container {
display: none !important;
}

View File

@@ -0,0 +1,30 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toggle_tabs_toolbar_with_alt.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Show tabs toolbar with Alt-key. Menubar must be disabled for this to work.
* To show window controls and/or menubar hit Alt again while cursor is over tabs toolbar */
:where(#titlebar:not(:hover) > #toolbar-menubar:not([autohide="true"],[autohide=""])[inactive]) + #TabsToolbar {
visibility: collapse;
}
#toolbar-menubar[autohide]:not([inactive]),
#toolbar-menubar[autohide="true"]:not([inactive],:hover) + #TabsToolbar > .titlebar-buttonbox-container{
visibility: collapse !important;
}
#menubar-items:has([_moz-menuactive][open="true"]),
#toolbar-menubar:not([autohide="true"],[autohide=""]):hover > #menubar-items,
:root:not([sizemode="fullscreen"]) #titlebar:hover #toolbar-menubar:not([autohide="true"],[autohide=""])[inactive] > #menubar-items{
visibility: visible;
position: absolute;
z-index: 1;
height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin));
background-color: -moz-dialog;
align-items: stretch;
}
#main-window[sizemode="fullscreen"] #TabsToolbar{
visibility: visible !important;
}
#main-window[sizemode="fullscreen"] #toolbar-menubar > #menubar-items{
visibility: collapse;
}
#main-menubar{ height: 100%; }

View File

@@ -0,0 +1,90 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/toolbars_below_content.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Moves tabs toolbar, bookmarks toolbar and main toolbar to the bottom of the window, and makes tabs be the bottom-most toolbar */
/* By default, menubar will stay on top with two options to select it's behavior - see below */
@-moz-document url(chrome://browser/content/browser.xhtml){
#titlebar{ -moz-appearance: none !important; }
#navigator-toolbox > div{ display: contents }
.global-notificationbox,
#mainPopupSet,
#browser,
#customization-container,
#tab-notification-deck{
order: -1;
}
/* Remove the next row if you want tabs to be the top-most row */
#titlebar{
order: 2;
}
#toolbar-menubar{
position: fixed;
display: flex;
width: 100vw;
top: 0px;
-moz-window-dragging: drag;
}
/* Remove bottom border that won't do anything useful when at bottom of the window */
#navigator-toolbox{ border-bottom: none !important; }
#toolbar-menubar > spacer{ flex-grow: 1 }
#urlbar[breakout][breakout-extend]{
display: flex !important;
flex-direction: column-reverse;
bottom: 0px !important; /* Change to 3-5 px if using compact_urlbar_megabar.css depending on toolbar density */
top: auto !important;
}
.urlbarView-body-inner{ border-top-style: none !important; }
/* Yeah, removes window controls. Likely not wanted on bottom row */
#TabsToolbar > .titlebar-buttonbox-container{ display: none }
#toolbar-menubar > .titlebar-buttonbox-container{ order: 1000 }
/* Fix panels sizing */
.panel-viewstack{ max-height: unset !important; }
/* Fullscreen mode support */
:root[sizemode="fullscreen"] #navigator-toolbox{ margin-top: 0 !important }
:root[sizemode="fullscreen"] #navigator-toolbox[style*="margin-top"]{ visibility: collapse }
#fullscr-toggler{ bottom: 0; top: unset !important; }
/* These three rules exist for compatibility with autohide_toolbox.css */
#navigator-toolbox{ bottom: 0px; transform-origin: bottom }
#main-window > body > box{ margin-top: 0 !important; }
#toolbar-menubar{ z-index: 1; background-color: var(--lwt-accent-color,black); }
:root[BookmarksToolbarOverlapsBrowser] #navigator-toolbox{
margin-block: calc(-1 * var(--bookmarks-toolbar-height)) 0 !important;
}
:root[BookmarksToolbarOverlapsBrowser] .newTabBrowserPanel{
padding-block: 0 var(--bookmarks-toolbar-height) !important;
}
/**************
Menubar options - By default, menubar is overlayed on top of web-content
***************/
/* Uncomment the following if you want static menubar on top of the window (make menubar enabled)
* Use when menubar is enabled to always show it */
/*
#browser,#customization-container{ padding-top: var(--uc-menubar-spacer,28px) }
*/
/* OR, uncomment the following if you want menubar to appear below content, above tabs toolbar */
/*
#toolbar-menubar{ position: static; display: flex; margin-top: 0px !important; background-color: transparent }
*/
/* set to "column-reverse" (without quotes) if you want tabs above menubar with the above option */
#titlebar{ flex-direction: column }
}

View File

@@ -0,0 +1,101 @@
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/window_control_placeholder_support.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/*
Creates placeholders for window controls.
This is a supporting file used by other stylesheets and is mostly
unnecessary if window titlebar is enabled.
Should preferably be imported before other stylesheets, because some values in this style are deliberately overridden by other styles.
*/
/* Modify these values to match your preferences
These reserve extra space on both sides of the nav-bar to be able to drag the window */
:root:is([tabsintitlebar], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 30px; /* left side*/
--uc-window-drag-space-post: 30px; /* right side*/
}
:root:is([tabsintitlebar][sizemode="maximized"], [sizemode="fullscreen"]) {
--uc-window-drag-space-pre: 0px; /* Remove pre space */
}
/* Default width - used on Windows10+ */
:root:is([tabsintitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 138px;
}
@media (-moz-platform: windows-win7),
(-moz-platform: windows-win8){
:root:is([tabsintitlebar], [sizemode="fullscreen"]) {
--uc-window-control-width: 105px;
}
}
/* On linux set width based on number of caption buttons.
One button */
@media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) {
:root:is([tabsintitlebar],[sizemode="fullscreen"]) {
--uc-window-control-width: 28px;
}
}
/* Two buttons */
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
:root:is([tabsintitlebar],[sizemode="fullscreen"]) {
--uc-window-control-width: 56px;
}
}
/* Three buttons */
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
:root:is([tabsintitlebar],[sizemode="fullscreen"]) {
--uc-window-control-width: 84px;
}
}
@media (-moz-platform: macos){
:root:is([tabsintitlebar]) {
--uc-window-control-width: 72px;
}
:root:is([tabsintitlebar][sizemode="fullscreen"]) {
--uc-window-control-width: 0;
}
}
.titlebar-buttonbox{ color: var(--toolbar-color) }
:root[sizemode="fullscreen"] .titlebar-buttonbox-container{ display: none }
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container:last-child{
position: absolute;
display: flex;
top: 0;
right:0;
height: 40px;
}
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container:last-child{ height: 32px }
#nav-bar{
border-inline: var(--uc-window-drag-space-pre,0px) solid transparent;
border-inline-style: solid !important;
border-right-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px));
background-clip: border-box !important;
}
/* Rules for window controls on left layout */
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"),
(-moz-gtk-csd-reversed-placement),
(-moz-platform: macos){
:root[tabsintitlebar="true"] #nav-bar{
border-inline-width: calc(var(--uc-window-control-width,0px) + var(--uc-window-drag-space-post,0px)) var(--uc-window-drag-space-pre,0px)
}
:root[sizemode="fullscreen"] #TabsToolbar > .titlebar-buttonbox-container:last-child{ right: unset }
}
@media (-moz-bool-pref: "userchrome.force-window-controls-on-left.enabled"){
.titlebar-buttonbox-container{
order: -1 !important;
}
.titlebar-buttonbox{
flex-direction: row-reverse;
}
}