Skip to content

Instantly share code, notes, and snippets.

@DCzajkowski
Last active November 21, 2024 23:25
Show Gist options
  • Save DCzajkowski/baaf7bc81aae5278d690eaae951a823b to your computer and use it in GitHub Desktop.
Save DCzajkowski/baaf7bc81aae5278d690eaae951a823b to your computer and use it in GitHub Desktop.
My CSS modifications to the current state of Proton design for Firefox (v90.0b4)
/*
* Firefox 133.0
*/
/* Removes the padding between pinned and unpinned tabs */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 0 !important;
}
/* Makes the speaker icon to always appear if the tab is playing (not only on hover) */
.tab-icon-overlay:not([crashed]) {
top: -4.5px !important;
inset-inline-end: -9px !important;
z-index: 1 !important;
background-color: transparent !important;
border: none !important;
}
@media (prefers-color-scheme: light) {
.tab-icon-overlay:not([crashed]) {
fill: #1c1b22 !important;
fill-opacity: 1 !important;
}
.tabbrowser-tab:hover .tab-icon-overlay:not([crashed]),
.tab-icon-overlay:is([selected]) {
fill: #42414d !important;
}
}
@media (prefers-color-scheme: dark) {
.tab-icon-overlay:not([crashed]) {
fill: #f0f0f4 !important;
fill-opacity: 1 !important;
}
.tabbrowser-tab:hover .tab-icon-overlay:not([crashed], [selected]) {
fill: #dadadd !important;
}
.tab-icon-overlay:is([selected]) {
fill: #ffffff !important;
}
}
.tab-icon-image:not([crashed]) {
opacity: 1 !important;
}
/*
* Firefox 96.0
*/
/* Removes the padding between pinned and unpinned tabs */
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 0 !important;
}
/* Makes the speaker icon to always appear if the tab is playing (not only on hover) */
.tab-icon-overlay:not([crashed]) {
top: -4.5px !important;
inset-inline-end: -9px !important;
z-index: 1 !important;
background: transparent !important;
stroke: white !important;
border-radius: 999px !important;
opacity: 1 !important;
fill-opacity: 1 !important;
}
.tab-icon-image:not([crashed]) {
opacity: 1 !important;
}
/*
* Older version, Firefox from 2021-04-22, probably 89.
*/
@media (-moz-proton) {
#tabbrowser-tabs[secondarytext-unsupported] .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) > :not(.tab-icon-overlay), #toolbar-menubar:not(:hover) + #TabsToolbar:not(:hover) #tabbrowser-tabs:not([secondarytext-unsupported]) .tab-icon-image[src] ~ .tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]), :is(#toolbar-menubar:hover + #TabsToolbar, #TabsToolbar:hover) .tab-icon-stack:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) > :not(.tab-icon-overlay) {
opacity: 1 !important;
}
.tab-icon-overlay:not([crashed]) {
top: -4.5px !important;
inset-inline-end: -9px !important;
z-index: 1 !important;
background: transparent !important;
}
.tab-icon-overlay:not([pinned], [sharing], [crashed]):is([soundplaying], [muted], [activemedia-blocked]) {
opacity: 1 !important;
}
#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab[first-visible-unpinned-tab] {
margin-inline-start: 0 !important;
}
}
@DCzajkowski
Copy link
Author

DCzajkowski commented Nov 12, 2024

Thanks for comment @Ajj0! I've updated the script with my current setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment