dotfiles/.config/firefox/chrome.bak/ShyFox/shy-navbar.css

339 lines
9.3 KiB
CSS
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*== ShyFox Navbar ==================================================================================================================================
Navigation bar on top of the window
--- JUST IMPORTANT THINGS ---------------------------------------------------------------------------------------------------------------------------
*/
/* local variables */
:root{
--navbar-real-wdt: var(--navbar-wdt);
}
/* if navbar is not hidden, this window is not floating popup and not in fullscreen video */
#main-window:not(:is([titlepreface*=""], [titlepreface*=""]))[chromehidden=""]:not([inDOMFullscreen="true"]){
/* set top margin to navbar height */
--top-margin: calc(var(--toolbar-item-hgt)) !important;
}
/* padding tweak */
.toolbaritem-combined-buttons:not([widget-type="button-and-view"], [widget-type="custom"]), .toolbaritem-menu-buttons {
margin-inline-end: var(--toolbar-start-end-padding) !important;
}
#nav-bar-overflow-button {margin-inline-end: calc(var(--toolbar-start-end-padding) / 2) !important;}
/* limit items height */
#nav-bar-customization-target > * {max-height: var(--toolbar-item-hgt) !important;}
#nav-bar-customization-target {height: var(--toolbar-item-hgt) !important;}
#downloadsFooterButtons toolbarseparator {
margin-top: 6px !important;
padding-bottom: 2px !important;
}
/*
--- NAVBAR SHOWN ------------------------------------------------------------------------------------------------------------------------------------
*/
#nav-bar{
position: fixed !important;
z-index: 3 !important;
transition: var(--transition) !important;
background-color: transparent !important;
border-top: 0px solid transparent !important;
top: 0px;
right: auto !important;
& > * {opacity: var(--dyn-opct);}
}
@media not (-moz-bool-pref: "sidebar.revamp") {
#nav-bar {
left: var(--left-margin) !important;
}
}
/* centered navbar text */
#urlbar:not(:is(
[breakout][breakout-extend],
:focus-within
) ) {
#urlbar-input {text-align: center !important}
}
/* tab loading progress in urlbar background */
#main-window:not([customizing]):not([titlepreface*=""]):has(.tabbrowser-tab[selected][busy]) #urlbar:not([breakout-extend]) #urlbar-background{
background: linear-gradient(
to right,
color-mix(in srgb, var(--shy-color) 10%, transparent) 0 var(--shy-tab-load-pcent),
color-mix(in srgb, var(--bt-col) 10%, transparent) var(--shy-tab-load-pcent) 100%
) !important;
}
/* space for window controls and magic width calculations (это пиздец) */
#main-window:not([customizing])[titlepreface*=""]:not(:is([titlepreface*=""], [titlepreface*=""])){
#nav-bar{
margin-right: calc(var(--buttonbox-right-wdt) - var(--nav-rgt-btnbx-margin));
width: calc(
100vw
- var(--left-margin)
- var(--right-margin)
- var(--buttonbox-right-wdt)
+ var(--nav-rgt-btnbx-margin)
) !important;
}
}
#main-window:not([customizing]):not([titlepreface*=""]):not(:is([titlepreface*=""], [titlepreface*=""])){
#nav-bar{
margin-right: calc(var(--buttonbox-right-wdt) - var(--nav-rgt-btnbx-button));
width: calc(
100vw
- var(--left-margin)
- var(--right-margin)
- var(--buttonbox-right-wdt)
+ var(--nav-rgt-btnbx-button)
) !important;
}
}
#main-window:not([customizing])[titlepreface*=""]:not(:is([titlepreface*=""], [titlepreface*=""])){
#nav-bar{
margin-left: calc(var(--buttonbox-left-wdt) - var(--nav-lft-btnbx-margin));
width: calc(
100vw
- var(--left-margin)
- var(--right-margin)
- var(--buttonbox-left-wdt)
+ var(--nav-lft-btnbx-margin)
- var(--buttonbox-right-wdt)
+ var(--nav-rgt-btnbx-button)
) !important;
}
}
#main-window:not([customizing])[titlepreface*=""][titlepreface*=""]:not(:is([titlepreface*=""], [titlepreface*=""])){
#nav-bar{
width: calc(
100vw
- var(--left-margin)
- var(--right-margin)
- var(--buttonbox-left-wdt)
+ var(--nav-lft-btnbx-margin)
- var(--buttonbox-right-wdt)
+ var(--nav-rgt-btnbx-margin)
) !important;
}
}
/*
--- NAVBAR HIDDEN -----------------------------------------------------------------------------------------------------------------------------------
*/
/* activate style when navbar hidden or clean mode enabled (and not in customizing page) */
#main-window:is([titlepreface*=""], [titlepreface*=""]):not([customizing]){
#nav-bar{
overflow: visible !important;
z-index: 4 !important;
border-radius: var(--big-rounding);
width: var(--navbar-real-wdt) !important;
max-width: calc(
100vw
- var(--left-margin)
- var(--right-margin)
);
top: calc(
var(--margin)
+ var(--panel-hide-ldg)
- var(--toolbar-item-hgt)
);
left: calc(
(
100vw
- var(--navbar-real-wdt)
+ var(--left-margin)
- var(--right-margin)
) / 2
) !important;
/* make all panel content invisible (it will visible when hover) */
#nav-bar-customization-target > *:not(#unified-extensions-button),
#nav-bar-overflow-button
{
transition: var(--transition) !important;
opacity: 0 !important;
}
/* hover target (invisible box between window edge and panel) */
#nav-bar-customization-target::before{
content: "";
position: absolute;
z-index: -999;
background-color: var(--debug-col);
height: 500%;
width: 100%;
bottom: 0px;
}
/* indication bar (line on window edge) */
&::before{
content: "";
position: absolute;
transition: var(--transition);
top: calc(
100%
- var(--panel-hide-ldg)
- var(--margin)
+ var(--hide-bar-padding)
);
height: calc(var(--margin) - var(--hide-bar-padding) * 2);
width: calc(100% - var(--hide-bar-wdt-pad));
left: calc(var(--hide-bar-wdt-pad) / 2);
border-radius: var(--rounding);
background-color: var(--bt-col);
opacity: var(--hide-bar-opct);
}
}
/* tab loading progress bar */
&:has(.tabbrowser-tab[selected][busy]) #nav-bar::before{
background: linear-gradient(
to right,
var(--shy-color) 0 var(--shy-tab-load-pcent),
var(--bt-col) var(--shy-tab-load-pcent) 100%
) !important;
}
/* tab loading progress on whole panel */
&:has(.tabbrowser-tab[selected][busy]) #nav-bar::after{
content: "";
position: absolute;
pointer-events: none;
z-index: -999;
width: 100%;
height: 100%;
bottom: 0px;
border-radius: var(--big-rounding);
opacity: 0;
background: linear-gradient(
to right,
var(--shy-color) 0 var(--shy-tab-load-pcent),
transparent var(--shy-tab-load-pcent) 100%
);
}
/* hotfix */
#urlbar{
visibility: collapse;
}
#urlbar-container::before {
content: "";
width: 100%;
height: 100%;
border-radius: var(--rounding);
background-color: var(--toolbar-field-background-color);
}
/* show navbar on hover or focus */
&:has(
#nav-bar-customization-target:hover #unified-extensions-button:not(:hover),
#nav-bar-customization-target *:not(:is(#unified-extensions-button, #firefox-view-button))[open],
#nav-bar-customization-target #searchbar:focus-within,
#urlbar:focus-within,
#urlbar[breakout][breakout-extend],
#nav-bar-overflow-button[open],
#nav-bar-overflow-button:hover
) {
#nav-bar{
/* hotfix */
#urlbar{
visibility: visible !important;
transition: visibility 0s linear var(--trans-dur);
min-width: var(--urlbar-width) !important;
}
top: calc(var(--top-margin) + var(--margin));
background-color: var(--tb-col) !important;
/* corners, shadow */
border: var(--outline) !important;
outline: var(--shadow) !important;
#nav-bar-customization-target > *:not([disabled="true"]),
#nav-bar-overflow-button {opacity: 1 !important;}
#nav-bar-customization-target > *[disabled="true"] {opacity: 0.5 !important;}
&::before {opacity: 0;}
&::after {opacity: 0.1;} /* opacity of tab load progress indicator */
}
}
/* hide all */
&[titlepreface*=""]{
#nav-bar-customization-target > *:not(#urlbar-container, #unified-extensions-button) {display: none !important;}
}
/* adaptive navbar width */
@media (max-width: 1000px) {
#nav-bar{
--navbar-real-wdt: calc(
100vw
- var(--margin) * 2
- var(--right-margin)
- var(--buttonbox-left-wdt)
- var(--buttonbox-right-wdt)
) !important;
max-width: none !important;
left: calc(
var(--margin)
+ var(--buttonbox-left-wdt)
) !important;
}
}
}
/*
--- CUSTOMIZING PAGE --------------------------------------------------------------------------------------------------------------------------------
*/
#main-window[customizing]{
#nav-bar{
left: 140px !important;
right: 140px !important;
width: calc(100vw - 280px) !important;
top: var(--margin) !important;
border-radius: var(--big-rounding) !important;
background-color: var(--bg-col) !important;
}
#urlbar-background, #searchbar {background-color: var(--tb-col) !important;}
}