dotfiles/firefox/userChrome.css
2024-03-20 11:25:14 -05:00

171 lines
5.4 KiB
CSS

/* userChrome.css */
/* ref: https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/non_floating_sharp_tabs.css */
/* updated for v99 */
/* disable various UI elements */
#star-button { display: none !important; }
#feed-button[feeds] { display: none !important; }
#context-sendlink { display:none !important; }
#context-sendlinktodevice { display:none !important; }
#context-sendpage { display:none !important; }
#context-sendpagetodevice { display:none !important; }
#context-searchselect { display: none !important; }
/* This gets rid of the shadow, prevents the expansion of the URL bar*/
#urlbar:focus-within > #urlbar-background {
box-shadow: none !important;
border-color: -moz-accent-color !important;
border-width: 1px !important;
}
#urlbar[breakout][breakout-extend] {
top: calc((var(--urlbar-toolbar-height) - var(--urlbar-height)) / 2) !important;
left: 0 !important;
width: 100% !important;
}
#urlbar[breakout][breakout-extend] > #urlbar-input-container {
height: var(--urlbar-height) !important;
padding-block: 0 !important;
padding-inline: 0 !important;
}
/* This gets rid of the shadow, prevents the expansion of the Search bar*/
#searchbar:focus-within {
box-shadow: none !important;
border-color: -moz-accent-color !important;
border-width: 1px !important;
}
#searchbar[breakout][breakout-extend] {
top: calc((var(--searchbar-toolbar-height) - var(--searchbar-height)) / 2) !important;
left: 0 !important;
width: 100% !important;
}
#searchbar[breakout][breakout-extend] > #searchbar-textbox {
height: var(--searchbar-height) !important;
padding-block: 0 !important;
padding-inline: 0 !important;
}
/* Bring back tab separator lines that were removed in Proton */
.tabbrowser-tab:not(:hover, [beforehovered], [selected], [last-visible-tab], [beforeselected-visible])::after {
content: "";
display: block;
border-left: 1px solid currentColor;
margin-block: 1px;
margin-left: -1px;
opacity: 0.3;
}
/* No round shapes */
* {
border-radius: 0 !important;
}
/* hamburger menu item spacing */
:root {
--arrowpanel-menuitem-padding: 4px 8px !important;
}
menupopup > menuitem,
menupopup > menu {
padding-block: 4px !important;
}
/* It's not strictly a requirement, but this style expects compact_proton.css to be loaded before it. */
:root[id]{
--proton-tab-block-margin: 0px !important;
--tab-block-margin: 0px !important;
--tabs-shadow-size: 1px !important;
/* Remove next line if you want selected tab to have color other than toolbar background - then it follows your theme color */
--lwt-selected-tab-background-color: var(--toolbar-bgcolor) !important;
}
/* removes line under tabs (makes them tabs again) */
.tabbrowser-tab[visuallyselected="true"] {
appearance: tab !important;
}
/* Uncomment next line to force specific color for tab top line */
/* #tabbrowser-tabs{ --tab-line-color: blue !important; } */
/* These next two rules set a color for border around tabs and between tabs & navigation toolbars. Set to transparent to remove the border.*/
#nav-bar{
/* This overrides value in compact_proton.css */
box-shadow: 0 -1px 0 0 color-mix(in srgb, currentcolor 30%, transparent) !important;
}
.tab-background[selected]{
border-inline: 1px solid color-mix(in srgb, currentcolor 30%, transparent) !important;
}
#TabsToolbar{
--toolbarbutton-inner-padding: 7px !important;
}
#navigator-toolbox:not([movingtab]) > #titlebar > #TabsToolbar{
--toolbar-bgcolor: transparent;
}
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-badge-stack,
#TabsToolbar .toolbarbutton-1 > .toolbarbutton-icon{ border-radius: 2px !important; }
/* tabs newtab button needs some special styling... */
#tabs-newtab-button{ padding-inline: 0 !important; }
#tabbrowser-arrowscrollbox > #tabs-newtab-button > .toolbarbutton-icon{
border-radius: 0 !important;
width: initial !important;
height: initial !important;
padding: 9px !important;
}
:root[uidensity="compact"] #tabbrowser-arrowscrollbox > #tabs-newtab-button > .toolbarbutton-icon{
padding: 7px !important;
}
#scrollbutton-up,
#scrollbutton-down{ border-radius: 0 !important; border-width: 0 !important; padding-inline: 3px !important; }
/* tab shaping */
.tabbrowser-tab{ padding-inline: 0 !important; }
:root[uidensity="compact"] #tabbrowser-tabs[positionpinnedtabs] .tabbrowser-tab[pinned]{ min-height: calc(var(--tab-min-height) + 2px) !important; }
.tab-content[pinned]{ padding-inline: 11px !important; }
.tab-background{
border-radius: 0 !important;
box-shadow: none !important;
}
/* Line to mark selected tab */
.tab-background[selected]::before,
.tabbrowser-tab:hover > stack > .tab-background::before{
display: -moz-box;
height: 2px;
content: "";
}
.tab-stack:hover > .tab-background::before{
background-color: inherit;
}
.tab-stack > .tab-background[selected]::before{
background-color: highlight;
background-image: linear-gradient(var(--tab-line-color),var(--tab-line-color));
}
/* Photon-like tab on hover animation for the top line */
@keyframes tab-onhover-line-anim{ from{ margin-inline: 20px } to { margin-inline: 0 } }
.tab-stack:hover > .tab-background::before{ animation: tab-onhover-line-anim 160ms }
/* Disable animation for selected and pinned tabs */
.tabbrowser-tab:is([pinned],[selected]) > .tab-stack > .tab-background::before{ animation: none }
/* moves context-line to the bottom */
.tab-context-line{ -moz-box-ordinal-group: 2; margin-inline: 10px !important; }