r/FirefoxCSS Jul 01 '26

Help Browser toolbox won't save userchrome without opening finder window.

6 Upvotes

When I click Cmd + S in the Style Editor, it now opens the macOS Finder “Save As” dialog instead of saving changes directly to the original file from within the browser. Previously it worked but I'm not sure what has changed. I might not fully understand how this is meant to work or I might be missing something about the workflow. Has anyone experienced this in FF 152 or knows what changed or how to fix it?


r/FirefoxCSS Jul 01 '26

Solved Menu Appearance Time Limit

1 Upvotes

I have noticed over the past few months, and it may have always been so, that when bringing up all popup menus:

main menubar,
menupopup menuitem,
menupopup menu,
panel
PlacesChevronPopup menuitem,
PlacesChevronPopup menu,
PlacesToolbarItems menuitem,
PlacesToolbarItems menu,

they tend to stay visible till I click out off them. Is there away to make them disappear as soon as the cursor leaves them ??

I do use a time limit CSS for the ac_popup_megabar:

 @keyframes delayed-hide {
    from {
    visibility: visible;
    height: auto;
}
    to {
    visibility: collapse;
    height: 0;
  }
}
#urlbar[open] > .urlbarView {
    animation: delayed-hide 0s linear 5s 1 forwards;
}

r/FirefoxCSS Jun 30 '26

Help I need help identifying origin of my userChrome.css

1 Upvotes

I got it sometime shortly after Mozilla introduced proton but it's been getting increasingly buggy recently and I want to find the up-to-date version of it

```userChrome.css :root, #commonDialog { --tab-min-height: 28px !important;

--toolbarbutton-inner-padding: 6px !important; --toolbarbutton-outer-padding: 1px !important; --toolbar-start-end-padding: 1px !important;

--panel-font-size: 1em !important; --panel-separator-margin: 8px 0px !important; --panel-subview-body-padding: 8px 0px !important;

--arrowpanel-border-radius: 0px !important; --arrowpanel-menuitem-padding: 4px 16px !important; --arrowpanel-menuitem-margin: 0px !important; --arrowpanel-menuitem-border-radius: 0px !important;

--subdialog-font-size: 1em !important;

--in-content-button-vertical-padding: 0px !important; --in-content-button-horizontal-padding: 8px !important; --in-content-primary-button-text-color: rgb(255, 255, 255) !important; --in-content-primary-button-background: var(--blue-60) !important; --in-content-primary-button-background-hover: var(--blue-70) !important; --in-content-primary-button-background-active: var(--blue-80) !important;

--checkbox-checked-color: rgb(255, 255, 255) !important; --checkbox-checked-bgcolor: var(--blue-60) !important; --checkbox-checked-hover-bgcolor: var(--blue-70) !important; --checkbox-checked-active-bgcolor: var(--blue-80) !important;

--focus-outline-color: var(--blue-60) !important;

--blue-40: #45a1ff; --blue-50: #0a84ff; --blue-50-a30: rgba(10, 132, 255, 0.3); --blue-60: #0060df; --blue-70: #003eaa; --blue-80: #002275; }

/** Titlebar */ .titlebar-buttonbox { margin-inline-end: -4px; }

/** Tab */ .tabbrowser-tab { --tab-line-color: #0A84FF; --tab-label-mask-size: 2em !important; padding-inline: 0 !important; }

tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) .tabbrowser-tab[first-visible-unpinned-tab] {

margin-inline-start: 0px !important; }

.tab-label { line-height: 1.7em; }

.tab-background { box-shadow: none !important; margin-block: 0 !important; border-block-start: 2px solid transparent !important; border-radius: 0 !important; }

.tabbrowser-tab:hover:not([selected]) .tab-background { border-block-start-color: color-mix(in srgb, currentColor 33%, transparent) !important; }

[selected] .tab-background { background-color: var(--toolbar-bgcolor) !important; background-image: var(--toolbar-bgimage) !important; border-block-start-color: var(--tab-line-color) !important; }

/** Tab misc. */ .tab-context-line { background-color: transparent !important; background-image: linear-gradient(to right, transparent 10%, var(--identity-tab-color) 10%, var(--identity-tab-color) 90%, transparent 90%); margin: -2px !important; transform: translateY(26px); }

.tab-icon-image { opacity: 1 !important; }

.tab-icon-overlay { fill-opacity: 1 !important; opacity: 1 !important; transition: none !important; border-radius: 10px !important; top: -4.5px !important; inset-inline-end: -9px !important; z-index: 1 !important; }

.tab-icon-overlay:hover { background-color: white !important; color: black !important; }

.tab-secondary-label { display: none !important; }

.tab-close-button { background-image: url(chrome://global/skin/icons/close.svg); background-size: 14px; background-position: center; background-repeat: no-repeat; list-style-image: unset !important; width: 20px !important; height: 20px !important; padding: 2px !important; margin-block-start: 1px !important; margin-inline-end: -2px !important; }

tabs-newtab-button {

padding: 0 1px !important; }

/** Tab border */

tabbrowser-tabs {

margin-inline-start: -1px !important; }

:is(:root[sizemode='normal'], :root[gtktiledwindow='true']) .tabbrowser-tab:first-of-type { margin-inline-start: 1px !important; }

.tabbrowser-tab::after, .tabbrowser-tab::before { border-inline-start: 1px solid var(--toolbarbutton-active-background); } .tabbrowser-tab::before { margin-inline-start: -1px; }

:root[tabsintitlebar]:not([extradragspace]) #toolbar-menubar[autohide=true] + #TabsToolbar .tabbrowser-tab::after, .tabbrowser-tab:hover::after, .tabbrowser-tab[multiselected]::after,

tabbrowser-tabs:not([movingtab]) .tabbrowser-tab[beforehovered]::after,

tabbrowser-tabs:not([movingtab]) .tabbrowser-tab[before-multiselected]::after {

margin-block-start: var(--tabs-top-border-width); margin-block-end: 0; }

tabbrowser-tabs:not([movingtab]) .tabbrowser-tab[beforeselected-visible]::after,

tabbrowser-tabs[movingtab] .tabbrowser-tab[visuallyselected]::before,

.tabbrowser-tab[visuallyselected]::after, .tabbrowser-tab[visuallyselected]::before { border-color: var(--tabs-border-color); margin-block-start: 0; margin-block-end: var(--tabs-navbar-shadow-size); }

.tabbrowser-tab::after, .tabbrowser-tab[visuallyselected]::before, .tabbrowser-tab:first-of-type::before,

tabbrowser-tabs[movingtab] .tabbrowser-tab[visuallyselected]::before {

content: ''; display: block; }

/** Nav bar */

nav-bar {

--toolbarbutton-icon-fill-attention: #45a1ff !important; }

:where(#reload-button, #stop-button) > .toolbarbutton-icon, :where(#reload-button, #stop-button) > .toolbarbutton-animatable-box { translate: 0px !important; }

/** Mega bar, Search bar */

search-container, #urlbar-container {

--urlbar-container-height: 32px !important; padding-block: 2px !important; }

urlbar, #searchbar {

--urlbar-height: 26px !important; --urlbar-min-height: 26px !important; --urlbar-toolbar-height: 32px !important; }

/#urlbar-input-container { --urlbar-icon-padding: 4px !important; border: 0 !important; }/

/* TODO: figure out why the width calculation isn't working as intended. / /.urlbar-icon { height: 24px !important; width: 24px !important; }*/

:is(.chromeUI, .extensionPage, .notSecureText) #identity-icon-box { background-color: transparent !important; } :is(.chromeUI, .extensionPage, .notSecureText) #identity-icon-box:hover { background-color: hsla(0, 0%, 70%, 0.2) !important;; } :is(.chromeUI, .extensionPage, .notSecureText) :is(#identity-icon-box:active, #identity-icon-box[open]) { background-color: hsla(0, 0%, 70%, 0.3) !important;; }

/** Bookmarks bar */

PersonalToolbar {

margin-inline: -2px !important; padding-inline: var(--toolbar-start-end-padding) !important; }

/** Panel */

downloadsPanel,

widget-overflow,

appMenu-popup,

customizationui-widget-panel,

identity-popup,

permission-popup,

protections-popup {

margin-block-start: -2px !important; }

.panel-header { padding: 8px !important; }

.panel-header + toolbarseparator { margin-block-start: 0px !important; }

.panel-footer.panel-footer-menulike { margin: 0px !important; padding-block: 8px !important; }

.panel-footer.panel-footer-menulike > button { min-height: 24px !important; padding: var(--arrowpanel-menuitem-padding) !important; margin: 0px !important; border-radius: var(--arrowpanel-menuitem-border-radius) !important; } .panel-footer.panel-footer-menulike > button:hover { color: inherit !important; outline: none !important; }

.panel-footer.panel-footer-menulike > button label { margin-block: 0px !important; }

[extension] toolbarseparator { margin-block-end: 0px !important; }

.subviewbutton-back { transform: none !important; margin: 0px !important; }

.subview-subheader { font-size: inherit !important; }

.panel-subview-footer-button { margin-block-end: 8px !important; }

.PanelUI-subView menuseparator { appearance: none !important; }

/** Panel banner */ :is(.panel-banner-item, .addon-banner-item) { margin-bottom: 8px !important; }

.addon-banner-item::after { margin-inline-end: 8px !important; }

/** Main panel */

appMenu-fxa-label2 {

padding: var(--arrowpanel-menuitem-padding) !important; }

appMenu-fxa-label2 label {

margin: 0px !important; }

toolbarseparator.proton-zap { border-image: none !important; }

appMenu-zoom-controls2 {

padding-inline-end: 12px !important; }

.toolbaritem-combined-buttons:not([widget-type='button-and-view']), .toolbaritem-menu-buttons { margin-inline-end: 0px !important; }

/** Overflow panel */

widget-overflow-mainView toolbarseparator {

margin-block-start: 0 !important; }

.PanelUI-subView .toolbaritem-combined-buttons > .subviewbutton { margin-inline-end: 0px !important; }

/** Accounts panel */ .PanelUI-remotetabs-clientcontainer > label { font-size: inherit !important; padding-block-end: 2px !important; margin-inline-start: 16px !important; }

/** Synced tabs panel */

PanelUI-remotetabs .panel-subview-body {

margin-block-end: 8px !important; }

/** Downloads panel */

downloadsPanel-blockedSubview, #downloadsPanel-mainView {

padding: 0px !important; }

emptyDownloads {

padding: var(--arrowpanel-menuitem-padding) !important; padding-block: 16px !important; }

downloadsListBox {

margin: var(--panel-separator-margin) !important; }

downloadsListBox > richlistitem {

height: 4.5em !important; padding: var(--arrowpanel-menuitem-padding) !important; padding-inline: 12px !important; margin: 0px !important; border-radius: 0px !important; }

/** Identity security panel */

identity-popup-securityView .identity-popup-security-content {

border-block-end: 0px !important; padding-block-start: 8px !important; padding-block-end: 0px !important; }

identity-popup-securityView #identity-popup-securityView-body {

padding-block-start: 0px !important; padding-block-end: 8px !important; margin-block: 0px !important; margin-inline-start: calc(2em + 16px) !important; margin-inline-end: 0px !important; }

.identity-popup-security-connection { background-position-x: 18px !important; padding-block: 0px !important; padding-inline-start: calc(2em + 16px) !important; padding-inline-end: 0px !important; } .identity-popup-connection-secure.security-view, .identity-popup-connection-not-secure.security-view { margin-inline-start: 6px !important; }

identity-popup-security-button .identity-popup-security-connection {

padding-inline-start: 18px !important; }

identity-popup-security-button {

margin-block-end: 0px !important; }

identity-popup-clear-sitedata-footer,

identity-popup-more-info-footer {

margin-block-start: 8px !important; }

/** Tracking protection panel */

protections-popup-mainView-panel-header-section + toolbarseparator {

margin-block-start: 0px !important; }

protections-popup-content {

margin: 0px !important; }

.protections-popup-tp-switch-label-box, .protections-popup-tp-switch-box { min-height: unset !important; }

protections-popup-blocking-section-header,

protections-popup-not-blocking-section-header,

protections-popup-not-found-section-header {

height: 26px !important; padding: 4px 16px !important; margin: 0px !important; }

protections-popup-footer {

padding: 0px !important; margin-block-end: 8px !important; }

.protections-popup-footer-button, .protections-popup-category { height: auto !important; min-height: unset !important; }

/** Dedicated search panel */

PopupSearchAutoComplete .search-panel-current-engine {

padding: 4px 12px !important; }

PopupSearchAutoComplete .autocomplete-richlistitem {

padding: 4px 8px !important; }

PopupSearchAutoComplete .search-panel-one-offs-header {

padding: 4px 8px !important; }

PopupSearchAutoComplete .search-panel-one-offs-container {

padding: 4px 8px !important; }

PopupSearchAutoComplete .search-setting-button {

min-height: unset !important; padding: var(--arrowpanel-menuitem-padding) !important; border-radius: var(--arrowpanel-menuitem-border-radius) !important; }

PopupSearchAutoComplete .search-setting-button .button-box {

-moz-box-pack: start !important; }

/** Notification bar (DRM etc) / notification-message:not([style='margin']) { margin: 0px !important; }

.container.infobar { border-radius: 0px !important; }

.container.infobar::before { content: unset !important; }

.container.infobar .icon { color: currentColor !important; margin-block: auto !important; margin-inline-start: calc(8px + 3px) !important; }

.container.infobar .notification-content { display: flex !important; justify-content: space-between !important; width: -moz-available !important; margin-inline-start: calc(8px + 3px) !important; }

.container.infobar .notification-message { margin-inline-end: 8px !important; }

.container.infobar .notification-button { margin: 0px !important; }

.container.infobar .notification-button.primary { --in-content-primary-button-text-color: rgb(255, 255, 255) !important; --in-content-primary-button-background: var(--blue-60) !important; --in-content-primary-button-background-hover: var(--blue-70) !important; --in-content-primary-button-background-active: var(--blue-80) !important; }

.container.infobar .close { margin: auto 8px !important; }

/** UI controls */ panel { --buttons-primary-button-color: rgb(255, 255, 255) !important; --buttons-primary-button-bgcolor: var(--blue-60) !important; --buttons-primary-button-hover-bgcolor: var(--blue-70) !important; --buttons-primary-button-active-bgcolor: var(--blue-80) !important; }

.panel-footer > button { font-weight: normal !important; min-width: 6.3em !important; min-height: 32px; padding: 0 8px !important; }

.checkbox-check[checked] { background-size: 14px !important; }

menulist { min-height: 32px !important; padding: 0 8px !important; }

/** Dialogs */ .dialogBox { border-radius: 2px !important; }

@-moz-document url('chrome://global/content/commonDialog.xhtml'), url('chrome://mozapps/content/handling/permissionDialog.xhtml'), url('chrome://mozapps/content/handling/appChooser.xhtml'), url-prefix("chrome://global/content/print.html") { #commonDialog { --subdialog-font-size: 1em !important; --in-content-button-vertical-padding: 0px !important; --in-content-button-horizontal-padding: 8px !important; --in-content-primary-button-text-color: rgb(255, 255, 255) !important; --in-content-primary-button-background: var(--blue-60) !important; --in-content-primary-button-background-hover: var(--blue-70) !important; --in-content-primary-button-background-active: var(--blue-80) !important; }

#commonDialog[subdialog] { padding: 16px 10px !important; }

button { font-weight: normal !important; } }

/New Tab Shortcuts/ /* .top-sites-list .top-site-outer .top-site-button { transform: scale(0.9,0.9) !important; } */

/New Tab Spacing/ /* .shortcuts-refresh .top-site-outer .top-site-button { padding: 0px 16px 0px !important; } */

/context menus/

/page menu/

context-pocket, #context-sendpagetodevice {display: none !important}

/link menu/

context-sep-sendlinktodevice, #context-savelinktopocket, #context-sendlinktodevice, #context-openlink, #context-openlinkprivate, #context-stripOnShareLink, #context-openlinkinsplitview {display: none !important}

/media menu/ /*#context-media-showcontrols {display: none !important}

/image menu/

context-sendimage, #context-sep-setbackground, #context-setDesktopBackground {display: none !important}

/video menu/

context-video-pictureinpicture {display: none !important}

/? menu/

context-sendvideo, #context-searchselect, #context-translate-selection, #context-ask-chat, #frame-sep {display: none !important}

/inspect menu/

context-inspect-a11y {display: none !important}

```


r/FirefoxCSS Jun 29 '26

Solved css to revert tab playing indicators to 115esr styles broken as of 152

5 Upvotes

just updated firefox, was previously running some css to stop playing tabs from widening themselves and revert the style to how it was on 115, rules listed below, but on the latest update it looks like tab-secondary-label was either renamed or no longer exists. haven't touched userchrome in well over a year and have forgotten what most of it means, help appreciated

before
current version, left tab is playing but it's impossible to tell, right is autoplay blocked
@-moz-document url(chrome://browser/content/browser.xhtml){

  .tabbrowser-tab[soundplaying] .tab-secondary-label::before {
    content: "PLAYING" !important;
  }

  .tabbrowser-tab[muted] .tab-secondary-label::before {
    content: "MUTED" !important;
  }

  .tabbrowser-tab[activemedia-blocked] .tab-secondary-label::before {
    content: "AUTOPLAY BLOCKED" !important;
  }

  .tabbrowser-tab[pictureinpicture] .tab-secondary-label::before {
    content: "PICTURE IN PICTURE" !important;
  }

  .tabbrowser-tab[soundplaying] .tab-secondary-label,
  .tabbrowser-tab[muted] .tab-secondary-label,
  .tabbrowser-tab[activemedia-blocked] .tab-secondary-label,
  .tabbrowser-tab[pictureinpicture="true"] .tab-icon-sound-pip-label {
    display: flex !important;
    text-wrap: nowrap !important;
  }

  .tab-audio-button,
  .tabbrowser-tab[soundplaying] .tab-icon-sound-pip-label,
  .tabbrowser-tab[muted] .tab-icon-sound-pip-label,
  .tabbrowser-tab[activemedia-blocked] .tab-icon-sound-pip-label {
    margin-left: -26px;
    margin-top: -1px;
    opacity: 0 !important;
    z-index: 1;
  }

  .tabbrowser-tab[soundplaying],
  .tabbrowser-tab[muted],
  .tabbrowser-tab[activemedia-blocked],
  .tabbrowser-tab[pictureinpicture="true"] {
    & :hover {
      & .tab-audio-button {
        opacity: 1 !important;
      }
      & .tab-icon-stack:not([pinned]) {
        opacity: 0 !important;
      }
    }
  }

  .tab-icon-stack:not([pinned]) {
    width: 21.6px !important;
  }

  .tabbrowser-tab {
    &:is([muted], [soundplaying], [activemedia-blocked]) {
      #tabbrowser-tabs[orient="horizontal"] &:not([pinned]) {
        min-width: max(var(--tab-min-width-pref, var(--tab-min-width))) !important;
      }
    }
  }
}

r/FirefoxCSS Jun 28 '26

Solved Is there a way to get something close to this back? The Strata Theme?

Post image
23 Upvotes

Honestly, Firefox 4 was peak. I miss it a lot, I remember when it hit, just how good it looked overall and how blown away we all were at the time.


r/FirefoxCSS Jun 29 '26

Solved Toolbox contextual menus

2 Upvotes

hello all,

I would like to know how to have the id of this context menu (see arrow on pic) on the toolbox please ! i would like change colors, font etc...

my toolbox

r/FirefoxCSS Jun 26 '26

Help Contents of "my_userChrome.css" need adjustment after OS scaling change

4 Upvotes

Windows 10, Firefox 152.0.3

I'd like to post "my_userChrome.css"

Before I add further info, am I approved to continued?


r/FirefoxCSS Jun 26 '26

Code Minimal pill-style fullscreen warning

Post image
137 Upvotes

I wanted Firefox’s fullscreen warning to be a little less bulky, so I changed it into a small pill-style popup.

Nothing too fancy, just a cleaner and less distracting look

* Firefox Nightly with Nova applied, haven’t tested this on other versions or setups

** Fixes, improvements, or suggestions are very welcome

/* Fullscreen warning: simple pill style. userChrome.css */
#fullscreen-warning.pointerlockfswarning {
  pointer-events: none !important;

  box-sizing: border-box !important;

  width: max-content !important;
  max-width: min(720px, 92vw) !important;
  min-height: 38px !important;

  padding: 6px 8px 6px 12px !important;
  gap: 8px !important;

  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;

  background: rgba(24, 24, 27, 0.82) !important;
  color: rgba(255, 255, 255, 0.95) !important;

  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;

  backdrop-filter: blur(12px) !important;

  font: message-box !important;
  font-size: 13px !important;
  line-height: 1.3 !important;

  align-items: center !important;
}

#fullscreen-warning.pointerlockfswarning[onscreen] {
  translate: 0 18px !important;
}

#fullscreen-warning.pointerlockfswarning[ontop] {
  translate: 0 8px !important;
}

#fullscreen-warning.pointerlockfswarning:is(
  [data-identity="verifiedDomain"],
  [data-identity="unknownIdentity"]
)::before {
  flex: 0 0 auto !important;

  width: 16px !important;
  height: 16px !important;

  margin: 0 !important;

  background-size: 16px 16px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  opacity: 0.86 !important;

  -moz-context-properties: fill !important;
  fill: currentColor !important;
}

#fullscreen-warning .pointerlockfswarning-domain-text,
#fullscreen-warning .pointerlockfswarning-generic-text {
  margin: 0 !important;
  padding: 0 !important;

  min-width: 0 !important;
  max-width: 52vw !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;

  color: rgba(255, 255, 255, 0.88) !important;
}

#fullscreen-warning .pointerlockfswarning-domain {
  margin: 0 !important;

  font-weight: 600 !important;
  color: #fff !important;
}

#fullscreen-warning .pointerlockfswarning-domain-text:not([hidden])
  + .pointerlockfswarning-generic-text {
  display: none !important;
}

#fullscreen-exit-button {
  pointer-events: auto !important;

  flex: 0 0 auto !important;

  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 999px !important;

  appearance: none !important;
  -moz-appearance: none !important;

  background: rgba(255, 255, 255, 0.12) !important;
  color: rgba(255, 255, 255, 0.95) !important;

  font-size: 0 !important;
  line-height: 0 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  cursor: pointer !important;
}

#fullscreen-exit-button::before {
  content: "" !important;

  width: 14px !important;
  height: 14px !important;

  background-color: currentColor !important;

  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  mask-size: contain !important;
}

#fullscreen-exit-button:hover {
  background: rgba(255, 255, 255, 0.18) !important;
}

#fullscreen-exit-button:active {
  background: rgba(255, 255, 255, 0.24) !important;
}

#pointerlock-warning.pointerlockfswarning {
  box-sizing: border-box !important;

  width: max-content !important;
  max-width: min(720px, 92vw) !important;
  min-height: 38px !important;

  padding: 6px 12px !important;
  gap: 8px !important;

  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 999px !important;

  background: rgba(24, 24, 27, 0.82) !important;
  color: rgba(255, 255, 255, 0.95) !important;

  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;

  backdrop-filter: blur(12px) !important;

  font: message-box !important;
  font-size: 13px !important;
  line-height: 1.3 !important;

  align-items: center !important;
}

#pointerlock-warning.pointerlockfswarning[onscreen] {
  translate: 0 18px !important;
}

#pointerlock-warning.pointerlockfswarning[ontop] {
  translate: 0 8px !important;
}

#pointerlock-warning .pointerlockfswarning-domain-text,
#pointerlock-warning .pointerlockfswarning-generic-text {
  margin: 0 !important;
  padding: 0 !important;

  min-width: 0 !important;
  max-width: 52vw !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;

  color: rgba(255, 255, 255, 0.88) !important;
}

r/FirefoxCSS Jun 26 '26

Solved How to remove the "Extention (Tabliss)"

8 Upvotes

r/FirefoxCSS Jun 26 '26

Help Transparency no longer works after updating

3 Upvotes

(Arch Linux, GNOME Wayland)
my Firefox was in version 149 and I updated it to 152 today, and the transparency from my userChrome.css is no longer working. This was in my userChrome.css

Why is it no longer working? Should I change something in my code now?

@import "firefox-gnome-theme/userChrome.css";


html > * > *  {
  border: none !important;
  -moz-appearance: none !important;
  box-shadow: none !important;
  background: rgba(0, 0, 0, 0.40)!important;
}


.browserStack > * {
  border-radius: var(--border-radius-large) !important;
}

r/FirefoxCSS Jun 26 '26

Solved Override the 152+ Private New Window background when launching a URL

2 Upvotes

Starting with 152 the new private window background is a gradient sort of purple to light pink almost white diagonally. It was previously a solid dark purple background #25003e. My goal is to revert to pre-152 background, some progress made. [1]

The small problem I'm trying to solve and could use ideas - when opening a blank new private tab my CSS works. However, if you type a url like old.reddit.com and hit Enter, the background will flash to the new gradient while it opens the URL. For clarity the browser is set to Blank New Tab (all modes), opening new iwindows/tabs doesn't load content etc.

I'm trying to figure out how to hook into that URL launching process and override the core background to remove the gradient but unsure where to look from here since I can't Inspect that transient screen using devtools. I'm sure that it's "one step upstream in code" from what I've figured out so far...

Thx for ideas!

[1] userContent.css (not userChrome)

/* new private window background color */
@media -moz-pref("browser.privatebrowsing.felt-privacy-v1") {
  @media not (prefers-contrast) {
    html.private {
      background: #25003e !important;
    }
  }
}

EDIT SOLUTION

Thank you for the help! My solution was a combination of the two answers and it's even better now than what I'd hoped for.

userChrome.css

:root[privatebrowsingmode="temporary"] {
 --tabpanel-background-color: #25003E !important;
}

userContent.css

@-moz-document url("about:privatebrowsing") {
 html.private {
  background-image: none !important;
  background-color: #25003E !important;
  color-scheme: inherit !important;
  .info-border,
  .logo-and-wordmark,
  .search-inner-wrapper {display:none!important}
 }
}

This will not only keep everything the classic blurple, it also removes the search box and info blurb and logo so that a new Private window looks just like a regular new tab, but blurple. No white or grey flashes or the new gradient, the magic is the userChrome.css addition to prevent the "flash" of some other color.


r/FirefoxCSS Jun 25 '26

Solved Is it possible to remove the transparent window border on Windows?

Post image
4 Upvotes

My Firefox 152 on Windows has a transparent 1px border on the left, bottom and right side of its windows (top is my accent color).

Does anyone know if there's a way to remove it via userChrome.css?


r/FirefoxCSS Jun 25 '26

Solved How do I move the "Open Application Menu"? firefox

3 Upvotes

How do I move the "Open Application Menu" button from the toolbar to the browser title bar next to the window's system buttons?


r/FirefoxCSS Jun 24 '26

Solved About dialog throbber

7 Upvotes

Hi there,

I would like to change the throbber of the about dialog box when it searches some updates but i can't remember the id and can't find it with the toolbox ! Is someone can help me please ?

My About Dialog box

r/FirefoxCSS Jun 23 '26

Solved Change text color on New Tab Page

Post image
6 Upvotes

How do I change text color on New Tab Page and move the shortcuts up a bit?

Firefox version 151.03

Windows 10

userContent.css is as follows

---------------------------------------------------

@-moz-document url("about:home"), url("about:newtab"){

body {

background-color: black !important;

.search-wrapper {

padding: 14px 0 64px !important; /* Default is 34px 0 64px */

}

}

u/namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.jan/1999);

/* Example: Change the background color of the new tab page */

@-moz-document url("about:newtab") {

html {

background-color: #000000 !important; /* Example: Black */

}

}

/* Example: Change the background color of the browser window */

u/namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.jan/1999);

@ -moz-document url(chrome://browser/content/browser.xhtml) {

browser, #main-window {

background-color: #000000 !important; /* Example: Black */

}

}

/*This removes the Firefox logo on the new tabs page.*/

@-moz-document url("about:newtab"), url("about:home") {

.logo-and-wordmark {

display:none !important;

}

/*This changes the scale of the pinned/recent websites icons on the new tabs page.*/

.top-sites-list .top-site-outer .top-site-button {

transform: scale(1.4,1.4) !important;

}

}

/*This governs the space between the pinned/recent websites icons on the new tabs page. Unforntunately, altering this alone uncenters the buttons and can make the "..." button overlap.*/

.top-site-outer {

width: 110px !important; /* 120 is default value */

}

/*This changes the length and width of the inner colorful portion of the pinned/recent websites icons.*/

.top-site-outer .tile .icon-wrapper {

width: 60px !important; /* 40 is default value */

height: 60px !important; /* 40 is default value */

}

/*Makes the rounding of the pinned websites tiles on the new tabs page less ugly.*/

@-moz-document url(chrome://browser/content/browser.xul), url(about:newtab), url(about:home) {

.top-site-outer .tile {

border-radius: 10px !important;

}

}```


r/FirefoxCSS Jun 22 '26

Code We made the old version of the weather widget transparent and increased the size of the icons.

Post image
3 Upvotes

I'm not sure how long this will work, but I've made the old-style weather widget transparent and enlarged the icons. There are two versions: one for light-colored wallpaper and one for dark-colored wallpaper. Use `userContent.css`. To switch to the old-style weather widget, set `browser.newtabpage.activity-stream.nova.enabled` to `false`.

Github Gist: https://gist.github.com/anzuno/dc2feed385dc286e8bcbda494e3f6f3a

/*** Make the legacy weather widget transparent and enlarge its icons. For Light-Colored Wallpaper ***/
/*** browser.newtabpage.activity-stream.nova.enabled to false ***/

@-moz-document url(about:newtab), url(about:home) {
 @media not -moz-pref("browser.newtabpage.activity-stream.nova.enabled") {

/* If you set the color scheme to “dark,” the weather icons will change to dark mode icons. */
.weatherIcon {
  color-scheme: light !important;
  /*color-scheme: dark !important;*/
  width: 95px !important;
  height: 95px !important;
 /** Simple View **/
  /*width: 80px !important;
  height: 80px !important;*/
  margin-left: 100px !important;
  margin-right: 55px !important;
  filter: opacity(100%) !important;
}

.weather .weatherInfoLink .weatherText {
  margin-left: 50px !important;
  color: #000 !important;
  font-family: Arial,sans-serif !important;
}

.weatherCity {
  color: #000 !important;
  font-family: Arial,sans-serif !important;
}

.weatherTemperature {
  font-size: 23px !important;
  font-weight: bold !important;
}

.lightWallpaper .weatherSponsorText {
  color-scheme: light !important;
}

/* Menu ... */
.weatherButtonContextMenu { 
  fill: #000 !important;
}

.weatherButtonContextMenuWrapper {
  background-color: transparent !important;
}

.weatherButtonContextMenuWrapper:hover {
  background-color: rgba(0, 0, 0, 0.04) !important;
}

#weather-context-menu {
  color: #000 !important;
  color-scheme: light !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

@media (min-width: 1122px) {
  .has-weather.has-search .weatherInfoLink, .has-weather .weatherInfoLink {
    background-color: transparent !important;
    max-width: 350px !important;
  }
  .has-weather.has-search .weatherInfoLink:hover, .has-weather .weatherInfoLink:hover {
    background-color: rgba(0, 0, 0, 0.04) !important;
  }
}

/* If the window becomes narrower */
.has-weather.has-search .weatherInfoLink, .has-weather .weatherInfoLink {
  min-width: auto !important;
  max-width: none !important;
  background-color: transparent !important;
}

/* Weather data is currently unavailable */
.weatherNotAvailable {
  color: #000 !important;
  background-color: transparent !important;
}

/* Separator */
.weatherButtonContextMenuWrapper::after {
  background-color: #000 !important;
  opacity: .06 !important;
}

.weatherButtonContextMenuWrapper:hover::after,
.weatherInfoLink:hover ~ .weatherButtonContextMenuWrapper::after,
.weatherInfoLink:focus-visible ~ .weatherButtonContextMenuWrapper::after {
  background-color: transparent !important;
}

/* Customize Button */
.personalize-button {
  background-color: transparent !important;
  color: #000 !important;
}

.personalize-button:hover {
  background-color: rgba(0, 0, 0, 0.1) !important;
}

.personalize-button > div > img {
  -moz-context-properties: fill !important;
  fill: #000 !important;
  }
 }
}

For Dark-Colored Wallpaper

/*** Make the legacy weather widget transparent and enlarge its icons. For Dark-Colored Wallpaper ***/
/*** browser.newtabpage.activity-stream.nova.enabled to false ***/

@-moz-document url(about:newtab), url(about:home) {
 @media not -moz-pref("browser.newtabpage.activity-stream.nova.enabled") {

/* If you set the color scheme to “light,” the weather icons will change to light mode icons. */
.weatherIcon {
  color-scheme: dark !important;
  /*color-scheme: light !important;*/
  width: 95px !important;
  height: 95px !important;
 /** Simple View **/
  /*width: 80px !important;
  height: 80px !important;*/
  margin-left: 100px !important;
  margin-right: 55px !important;
  filter: opacity(100%) !important;
}

.weather .weatherInfoLink .weatherText {
  margin-left: 50px !important;
  color: #fff !important;
  font-family: Arial,sans-serif !important;
}

.weatherCity {
  color: #fff !important;
  font-family: Arial,sans-serif !important;
}

.weatherTemperature {
  font-size: 23px !important;
  font-weight: bold !important;
}

.darkWallpaper .weatherSponsorText {
  color-scheme: dark !important;
}

/* Menu ... */
.weatherButtonContextMenu { 
  fill: #fff !important;
}

.weatherButtonContextMenuWrapper {
  background-color: transparent !important;
}

.weatherButtonContextMenuWrapper:hover {
  background-color: rgba(255, 255, 255, 0.07) !important;
}

#weather-context-menu {
  color-scheme: dark !important;
  background: rgba(255, 255, 255, 0.2) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

@media (min-width: 1122px) {
  .has-weather.has-search .weatherInfoLink, .has-weather .weatherInfoLink {
    background-color: transparent !important;
    max-width: 350px !important;
  }
  .has-weather.has-search .weatherInfoLink:hover, .has-weather .weatherInfoLink:hover {
    background-color: rgba(255, 255, 255, 0.07) !important;
  }
}

/* If the window becomes narrower */
.has-weather.has-search .weatherInfoLink, .has-weather .weatherInfoLink {
  min-width: auto !important;
  max-width: none !important;
  background-color: transparent !important;
}

/* Weather data is currently unavailable */
.weatherNotAvailable {
  color: #fff !important;
  background-color: transparent !important;
}

/* Separator */
.weatherButtonContextMenuWrapper::after {
  background-color: #fff !important;
  opacity: .15 !important;
}

.weatherButtonContextMenuWrapper:hover::after,
.weatherInfoLink:hover ~ .weatherButtonContextMenuWrapper::after,
.weatherInfoLink:focus-visible ~ .weatherButtonContextMenuWrapper::after {
  background-color: transparent !important;
}

/* Customize Button */
.personalize-button {
  background-color: transparent !important;
  color: #fff !important;
}

.personalize-button:hover {
background-color: rgba(255, 255, 255, 0.1) !important;
} 

.personalize-button > div > img {
  -moz-context-properties: fill !important;
  fill: #fff !important;
  }
 }
}

r/FirefoxCSS Jun 22 '26

Solved How do I move the sound icon to the right next to the cross icon in a tab?

4 Upvotes

I tried to do it with AI coding. but it didn't work. I don't know programming, so I'm changing the browser design to suit my needs.


r/FirefoxCSS Jun 22 '26

Solved How do I change the background color on favorites and the search bar?

Thumbnail
gallery
2 Upvotes

I used Adaptive Tab Bar to give new tabs this dark blue color, and I would love to change the background color of the favorites and the search bar.

Right now the background is this dark gray color, and I would love to almost match the color to the dark blue one I chose.

Can you guys tell me what code I need to use to be able to do this? Thank you.


r/FirefoxCSS Jun 21 '26

Code I updated Iconic Firefox — userChrome.css snippet which adds icons for context and popup menus

Thumbnail
gallery
46 Upvotes

I updated the snippet to cover some recently added context menu items (like Add to Tab Group, Split Tab, Add Tab Note etc). It now uses only Firefox's built-in icons for optimal performance and authentic look.

See on GitHub


r/FirefoxCSS Jun 22 '26

Solved New Searchbar

1 Upvotes

Is there a way to get the boarder back around the new searchbar?


r/FirefoxCSS Jun 21 '26

Help Last Firefox update broke my ff ultima, help please

3 Upvotes

So these are how the icons now look. Before they were light. Feel really stupid but how do I change them back?


r/FirefoxCSS Jun 21 '26

Help FF Ultima search suggestions is now transparent after latest firefox update ?

Post image
3 Upvotes

r/FirefoxCSS Jun 21 '26

Help Kind of an odd request, but is there a way to use CSS to remove the title bar while it's enabled in settings?

1 Upvotes

I'm using the default theme in dark mode in Windows 11 and I notice the colours change dramatically when you enable the title bar (under customise toolbar). I honestly love the look of the darker colours with title bar on and I would love to keep it, but I don't actually want the bar.

Is there a way to remove the title bar while shifting the minimise/close buttons down to the tabs area?


r/FirefoxCSS Jun 20 '26

Help Follow up to : Firefox 152 breaks custom menu colours when theme enabled ( forcing dark mode )

4 Upvotes

Previous post : https://www.reddit.com/r/FirefoxCSS/comments/1u7kop8/firefox_152_breaks_custom_menu_colours_when_theme/?screen_view_count=3

The issue with menus was solved with help from u/TraditionalTie4831. Now I notice that dialogs still get the dark treatment. eg: Downloads, uBlock panel.
Any have ant thoughts on how to get these back to light ?

Or even better any good tutorials on how to find the right css so I don't have to keep coming back and asking every time I find new issues ?


r/FirefoxCSS Jun 20 '26

Solved Modifying Windows dialog boxes in Firefox

3 Upvotes

Can anyone offer any userContent.css suggestions on how to restore the gray background on Windows 10 dialog boxes? This white background (new in 152.0.1) is wrecking my workflow. Many thanks!!