1
0

99 lines
7.8 KiB
CSS
Raw Normal View History

2025-01-06 03:13:58 +01:00
/*** Exceptions for stylelint CSS linter ***/
2025-01-05 22:28:39 +01:00
/* stylelint-disable selector-id-pattern */
/* stylelint-disable selector-type-no-unknown */
/* stylelint-disable declaration-block-single-line-max-declarations */
/* OPTIONAL: Remove items from image context menu; see also view-source:chrome://browser/content/browser.xhtml */
/*
#context-sendimage, #context-sep-setbackground, #context-setDesktopBackground, #context-sep-sharing, #context-inspect-a11y, #context-take-screenshot, #context-translate-selection, #context-savelinktopocket, #context-pocket, #translations-button, #reader-mode-button { display: none !important; }
*/
/* OPTIONAL: Tighten up drop-down/context/popup menu spacing */
/*
menupopup:not(.in-menulist) > menuitem, menupopup:not(.in-menulist) > menu { padding-block: 4px !important; min-height: unset !important; }
:root { --arrowpanel-menuitem-padding: 4px 8px !important; }
*/
2025-01-06 03:13:58 +01:00
/*** Proton Tabs Tweaks ***/
2025-01-05 22:28:39 +01:00
/* Adjust tab corner shape, optionally remove space below tabs */
2025-01-06 03:13:58 +01:00
#tabbrowser-tabs { --user-tab-rounding: .4em; }
.tab-background { border-radius: var(--user-tab-rounding) var(--user-tab-rounding) 0 0 !important; /* Connected */ margin-block: 0 !important; /* Connected */ }
#scrollbutton-up, #scrollbutton-down { border-top-width: 1px !important; border-bottom-width: 0 !important; }
2025-01-05 22:28:39 +01:00
2025-01-06 03:13:58 +01:00
/* remove toolbar decoration */
#nav-bar { border-top: none !important; }
2025-01-05 22:28:39 +01:00
2025-01-06 03:13:58 +01:00
/* change active tab */
.tab-background:is([selected], [multiselected]) { border: 1px solid grey; border-bottom: none !important; background-image: none !important; }
2025-01-05 22:28:39 +01:00
2025-01-06 03:13:58 +01:00
/* analogous to the above, change inactive tab to a grey-to-white gradient */
.tab-background:not([selected], [multiselected]) { background-color: #eee; }
2025-01-05 22:28:39 +01:00
/* Container color bar visibility */
.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-context-line { margin: 0 max(calc(var(--user-tab-rounding) - 3px), 0px) !important; }
/* Override Normal Density height to Compact Density height only for tabs */
2025-01-06 03:13:58 +01:00
2025-01-05 22:28:39 +01:00
#TabsToolbar, #tabbrowser-tabs { --tab-min-height: 29px !important; }
/* [Connected Tabs] Set a max height based on min-height plus margin-block: 1px 0 */
#TabsToolbar, #TabsToolbar > hbox, #TabsToolbar-customization-target, #tabbrowser-arrowscrollbox { max-height: calc(var(--tab-min-height) + 1px) !important; }
/* Audio Playing / Mute Button side-by-side when sound is playing */
#TabsToolbar { --user-mute-button-height: 20px; /* default size is 12px, site icon is 16px */ }
/* Tweak for covering a line at the bottom of the active tab on some themes 8/11/2021 */
#main-window[sizemode="normal"] #toolbar-menubar[autohide="true"] + #TabsToolbar, #main-window[sizemode="normal"] #toolbar-menubar[autohide="true"] + #TabsToolbar #tabbrowser-tabs { --tab-min-height: 30px !important; }
/* [Connected Tabs] Adjust padding around icons on buttons to avoid crushed images */
#TabsToolbar-customization-target toolbarbutton > .toolbarbutton-icon, #TabsToolbar-customization-target .toolbarbutton-text, #TabsToolbar-customization-target .toolbarbutton-badge-stack, #scrollbutton-up,#scrollbutton-down { padding-top: 7px !important; padding-bottom: 6px !important; }
/* [Connected Tabs] Make sure tab attention dot isn't too high - 10 Dec 2022 */
.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected="true"]),
.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected="true"]),
#firefox-view-button[attention], .webextension-browser-action[attention="true"] { background-position-y: bottom 2px !important; }
.tabbrowser-tab:not([selected="true"], [multiselected="true"]) .tab-background { border-radius: 0 !important; }
/* Inactive tabs: Separator line style */
.tabbrowser-tab:not([selected="true"], [multiselected="true"], [beforeselected-visible="true"]) .tab-background { border-right: 1px solid var(--lwt-background-tab-separator-color, rgb(0 0 0 / 20%)) !important; }
2025-01-06 03:13:58 +01:00
[brighttext="true"] .tab-background:is([selected], [multiselected]):-moz-lwtheme { --lwt-tabs-border-color: rgb(255 255 255 / 50%) !important; border-bottom: none !important; }
/* For dark backgrounds */
2025-01-05 22:28:39 +01:00
[brighttext="true"] .tabbrowser-tab:not([selected="true"], [multiselected="true"], [beforeselected-visible="true"]) .tab-background { border-right: 1px solid var(--lwt-background-tab-separator-color, var(--lwt-selected-tab-background-color, rgb(255 255 255 / 20%))) !important; }
/* Remove padding between tabs, override font-size and -weight */
2025-01-06 03:13:58 +01:00
.tabbrowser-tab { padding: 0 !important; font-size: 12px !important; font-weight: 400 !important; }
2025-01-05 22:28:39 +01:00
/* Move the mute/unmute button to the right and enlarge it */
.tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) { width: var(--user-mute-button-height) !important; height: var(--user-mute-button-height) !important; margin-left: calc(var(--user-mute-button-height) / 2 + 2px) !important; /* pushes icon to the right */ margin-right: 2px !important; /* closes up some space before the text */ padding: 0 !important; /* allows icon to expand to full size */ }
/* Move the site icon to the left a bit and adjust position */
.tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) { margin-left: -4px !important; /* pushes icon to the left */ margin-top: calc((var(--user-mute-button-height) - 16px) / 2) !important; /* keep site icon reasonably positioned */ }
2025-01-06 03:13:58 +01:00
/* Override the rules for hover/not hover visibility */
2025-01-05 22:28:39 +01:00
/* Color the icon on hover for confirmation or avoidance */
.tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]):hover { fill: green !important; }
/* Tweaked Audio playing/Mute button rules for pinned tabs */
.tab-icon-overlay:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]) { width: var(--user-mute-button-height) !important; height: var(--user-mute-button-height) !important; margin-left: 2px !important; /* allow some overlap to reduce expanded width */ margin-right: -2px !important; /* reduce empty space on the right */ padding: 0 !important; /* allows icon to expand to full size */ top: 0 !important; /* align button with site icon */ }
.tab-icon-overlay:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]):hover { fill: green !important; }
/* for mute button */ .tabbrowser-tab:not(:hover) .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]), /* for site icon */ .tabbrowser-tab:hover .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay), /* for site icon with Compact density */ :root[uidensity="compact"] .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) { opacity: 1 !important; /* overrides full transparency with full opacity */ }
[lwthemetextcolor="bright"] .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted]):hover { fill: lightgreen !important; /* for dark themes */ }
.tab-icon-stack:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) { margin-left: -6px !important; /* reduce empty space on the left */ margin-top: calc((var(--user-mute-button-height) - 16px) / 2) !important; /* keep site icon reasonably positioned */ }
.tabbrowser-tab:not(:hover) .tab-icon-overlay:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]), /* for site icon */ .tabbrowser-tab:hover .tab-icon-stack:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]) > :not(.tab-icon-overlay), /* for site icon with Compact density */ :root[uidensity="compact"] .tab-icon-stack:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]) > :not(.tab-icon-overlay) { opacity: 1 !important; /* overrides full transparency with full opacity */ }
[lwthemetextcolor="bright"] .tab-icon-overlay:not([crashed]):is([pinned], [sharing]):is([soundplaying], [muted]):hover { fill: lightgreen !important; /* for dark themes */ }