theme-store/themes/bd92a9a0-1c00-4187-a66e-94c389fa5a59/chrome.css
2025-03-22 19:15:58 +01:00

319 lines
No EOL
12 KiB
CSS

:root:has(#customization-container:not([hidden])) {
/* Show flexible space in customiation mode in top buttons, since this mod allows them there */
#zen-sidebar-top-buttons-customization-target toolbarspring {
display: flex !important;
}
}
:root:not([zen-compact-mode="true"], :has(#customization-container:not([hidden]))) {
--tab-min-width: calc(36px) !important;
--zen-toolbox-padding: calc(var(--zen-element-separation) / 2 + 1px) !important;
--zen-toolbox-max-width: calc(var(--tab-min-width) + var(--tab-block-margin) + var(--zen-toolbox-padding) * 2) !important;
--zen-toolbox-min-width: 1px !important;
--zen-sidebar-width: var(--zen-toolbox-max-width) !important;
@media (-moz-bool-pref: "theme.sidebar_expand_on_hover.hide_workspace_indicator") {
#zen-current-workspace-indicator-container {
display: none !important;
}
}
#zen-sidebar-splitter {
display: none !important;
}
/* Change tab shape to square when collapsed */
tab:not([zen-essential]) .tab-background {
min-width: var(--tab-min-width) !important;
}
/* Center tab icon */
.tab-icon-stack > .tab-icon-image {
margin-inline-start: calc(calc(var(--tab-min-width) + var(--tab-block-margin) * 2 - var(--tab-inline-padding) * 2 - 16px) / 2) !important;
}
/* Same design as tabs for New Tab button and other toolbarbuttons */
#TabsToolbar-customization-target toolbarbutton {
margin: var(--tab-block-margin) !important;
padding: 0 calc(var(--tab-inline-padding) - var(--tab-block-margin)) !important;
justify-content: flex-start !important;
& > .toolbarbutton-icon {
margin-inline-start: calc(calc(var(--tab-min-width) + var(--tab-block-margin) * 2 - var(--tab-inline-padding) * 2 - 16px) / 2) !important;
margin-inline-end: var(--toolbarbutton-inner-padding) !important;
}
& > .toolbarbutton-text {
padding: 0 !important;
align-items: center !important;
}
}
/* Stop New Tab button from increasing the width */
.zen-workspace-tabs-section {
width: calc(var(--tab-min-width) + var(--tab-block-margin)) !important;
}
tab[pinned]:not([zen-essential]) > stack {
--tab-inline-padding: 8px !important;
& > .tab-content {
padding: 0 var(--tab-inline-padding) !important;
min-width: 0 !important;
justify-content: unset !important;
}
}
@media (not (-moz-bool-pref: "zen.view.use-single-toolbar")) {
#navigator-toolbox {
margin-top: var(--zen-toolbar-height) !important;
}
#browser:has(#PersonalToolbar[collapsed=false]) #navigator-toolbox {
margin-top: calc(var(--zen-toolbar-height) + 2.2em) !important;
}
}
/* Move topbar buttons in the now empty space */
@media (not (-moz-bool-pref: "zen.view.use-single-toolbar")) and (not (-moz-platform: macos)) {
#browser:has(#navigator-toolbox:not([zen-right-side="true"])) {
#zen-appcontent-wrapper {
overflow: visible !important;
#zen-appcontent-navbar-container:has(#nav-bar>.titlebar-buttonbox-container:last-child) {
margin-left: calc(0px - var(--zen-toolbox-max-width)) !important;
padding-left: var(--zen-element-separation);
#nav-bar {
margin-inline-start: var(--zen-element-separation);
}
}
}
}
}
#navigator-toolbox {
z-index: 4 !important;
width: var(--zen-toolbox-max-width) !important;
max-width: var(--zen-toolbox-max-width) !important;
min-width: var(--zen-toolbox-max-width) !important;
position: relative !important;
/*
I have no idea how to replicate the browser background, I don't know where the colors come from, the computed values in the inspector don't match anything on screen.
This is as close as I was able to get so far.
*/
&::before {
position: absolute;
content: "";
width: calc(var(--zen-sidebar-width) - var(--zen-toolbox-padding));
height: 100%;
opacity: 0.0;
transition: 60ms opacity ease-in calc(var(--theme-sidebar_expand_on_hover-transition_speed) - 60ms), width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed);
z-index: -1;
background-image: var(--zen-main-browser-background) !important;
background-color: var(--lwt-accent-color) !important;
background-attachment: fixed !important;
background-size: 2000px !important;
backdrop-filter: blur(5px) !important;
border-top-right-radius: 8px !important;
border-bottom-right-radius: 8px !important;
}
> #titlebar, > #zen-sidebar-top-buttons, > #nav-bar {
width: calc(var(--zen-sidebar-width) - var(--zen-toolbox-padding)) !important;
max-width: var(--zen-sidebar-width) !important;
min-width: var(--zen-toolbar-min-width) !important;
padding-right: var(--zen-toolbox-padding) !important;
}
> #titlebar, > #zen-sidebar-top-buttons {
overflow: hidden !important;
transition: width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed), max-width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed);
}
> #nav-bar {
margin: 0 !important;
padding-left: var(--zen-toolbox-padding) !important;
transition: var(--ext-theme-background-transition), width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed), max-width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed) !important;
}
}
/* Essentials */
#zen-essentials-container {
display: flex !important;
justify-content: center !important;
gap: 0 !important;
overflow-x: scroll !important;
> .tabbrowser-tab {
flex: 1 !important;
/* Todo change this from hardcoded value */
min-width: 40px !important;
margin-inline: calc(var(--zen-toolbox-padding) - 2px) !important;
transition: flex-grow var(--theme-sidebar_expand_on_hover-transition_speed) linear,
min-width var(--theme-sidebar_expand_on_hover-transition_speed) linear,
margin-inline var(--theme-sidebar_expand_on_hover-transition_speed) linear !important;
}
}
/* Hide empty top buttons */
#zen-sidebar-top-buttons:not(:has(:not(#zen-sidebar-top-buttons-separator, #zen-sidebar-top-buttons-customization-target))) {
display: none !important;
}
#zen-sidebar-bottom-buttons,
#zen-sidebar-top-buttons-customization-target {
justify-content: center !important;
gap: 0 !important;
& > :not(panel,#zen-sidebar-top-buttons-separator) {
overflow: hidden !important;
padding: 0 !important;
min-width: fit-content !important;
min-height: fit-content !important;
flex-grow: 1 !important;
transition: flex-grow var(--theme-sidebar_expand_on_hover-transition_speed) linear,
width var(--theme-sidebar_expand_on_hover-transition_speed) linear,
margin-inline var(--theme-sidebar_expand_on_hover-transition_speed) linear !important;
margin-inline: 2px !important;
}
toolbarspring {
transition: flex-grow var(--theme-sidebar_expand_on_hover-transition_speed) cubic-bezier(.001,1,.003,0.99),
width var(--theme-sidebar_expand_on_hover-transition_speed) linear,
margin-inline var(--theme-sidebar_expand_on_hover-transition_speed) linear !important;;
flex-grow: 100 !important;
display: flex !important;
}
}
#zen-workspaces-button {
flex-direction: row !important;
justify-content: center !important;
gap: 0 !important;
min-width: fit-content !important;
transition: min-width var(--theme-sidebar_expand_on_hover-transition_speed) linear !important;
toolbarbutton {
margin: 0 !important;
flex-grow: 1 !important;
transition: flex-grow var(--theme-sidebar_expand_on_hover-transition_speed) linear,
width var(--theme-sidebar_expand_on_hover-transition_speed) linear,
margin-inline var(--theme-sidebar_expand_on_hover-transition_speed) linear !important;
margin-inline: 2px !important;
overflow: hidden !important;
}
}
#tabbrowser-arrowscrollbox-periphery {
margin-inline: 0 !important;
/* Decrease the seperator line to the same length as before */
&::before {
margin-inline: var(--tab-block-margin);
}
}
/* Expanded bar */
#navigator-toolbox:is(
[zen-has-hover],
[movingtab],
[flash-popup],
[has-popup-menu],
:has(.tabbrowser-tab:active),
:has(toolbarbutton[open="true"]:not(#zen-sidepanel-button), #urlbar[open]),
) {
--zen-sidebar-width: var(--theme-sidebar_expand_on_hover-expanded_width) !important;
&::before {
opacity: 1.0;
transition: 60ms opacity ease-in, width ease-in-out var(--theme-sidebar_expand_on_hover-transition_speed);
}
}
/* Collapsed bar */
#navigator-toolbox:not(
[zen-has-hover],
[movingtab],
[flash-popup],
[has-popup-menu],
:has(.tabbrowser-tab:active),
:has(toolbarbutton[open="true"]:not(#zen-sidepanel-button), #urlbar[open])
) {
/* Show only active/first/no(todo) button*/
#zen-workspaces-button {
toolbarbutton:not([active="true"]) {
flex-grow: 0 !important;
width: 0 !important;
margin-inline: 0 !important;
}
}
#zen-essentials-container:has([selected]) > .tabbrowser-tab:not([selected]),
#zen-essentials-container:not(:has([selected])) > .tabbrowser-tab:not(:first-child) {
flex-grow: 0 !important;
width: 0 !important;
min-width: 0 !important;
margin-inline: 0 !important;
}
toolbarspring {
flex-grow: 0 !important;
width: 0 !important;
min-width: 0 !important;
margin-inline: 0 !important;
}
/*Workaround for invisible top buttons seperator*/
#zen-sidebar-top-buttons-customization-target > :not(:nth-child(1 of toolbarbutton, toolbaritem))
{
flex-grow: 0 !important;
width: 0 !important;
min-width: 0 !important;
margin-inline: 0 !important;
}
@media not (-moz-bool-pref: "theme.sidebar_expand_on_hover.collapse_buttons") {
#zen-sidebar-bottom-buttons > :not(:first-child)
{
flex-grow: 0 !important;
width: 0 !important;
min-width: 0 !important;
margin-inline: 0 !important;
}
}
@media (-moz-bool-pref: "theme.sidebar_expand_on_hover.collapse_buttons") {
/* Show first child only when no visible workspace switcher */
#zen-sidebar-bottom-buttons:not(:has(#zen-workspaces-button:not([dont-show="true"]))) > :not(:first-child),
/* Show active workspace only when visible workspace switcher */
#zen-sidebar-bottom-buttons:has(#zen-workspaces-button:not([dont-show="true"])) > :not(#zen-workspaces-button) {
flex-grow: 0 !important;
width: 0 !important;
min-width: 0 !important;
margin-inline: 0 !important;
}
}
}
/* Support for tabs on the right */
#navigator-toolbox[zen-right-side="true"] {
direction: rtl !important;
#titlebar, #zen-sidebar-top-buttons {
direction: ltr !important;
}
#titlebar {
padding-left: var(--zen-toolbox-padding) !important;
padding-right: 0 !important;
}
@media (-moz-bool-pref: "zen.view.use-single-toolbar") {
#nav-bar {
direction: ltr !important;
}
}
}
}