Created
September 13, 2022 17:45
userChrome.css for making web apps in Firefox feel more like native applications
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* This section is written by Harit Kapadia */ | |
#nav-bar:not(:focus-within) { | |
min-height: 0px !important; | |
max-height: 0px !important; | |
} | |
#urlbar[breakout] { | |
top: calc((var(--urlbar-container-height) - var(--urlbar-height)) / 2) !important; | |
} | |
#urlbar[breakout][breakout-extend] > #urlbar-input-container { | |
height: var(--urlbar-container-height) !important; | |
} | |
/* End of styles written by Harit Kapadia */ | |
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/hide_tabs_with_one_tab.css made available under Mozilla Public License v. 2.0 | |
See the above repository for updates as well as full license text. */ | |
/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs. Optionally use privatemode_indicator_as_menu_button.css to replace main menu icon with private browsing indicator while tabs are hidden. */ | |
/* This style causes CSD window controls to disappear on linux, but you can kind of work around that by using window_control_fallback_for_custom_windows_theme.css */ | |
:root[sizemode="normal"] #nav-bar{ --uc-window-drag-space-width: 20px } | |
#titlebar{ -moz-appearance: none !important; } | |
#TabsToolbar{ min-height: 0px !important } | |
#tabbrowser-tabs, | |
#tabbrowser-arrowscrollbox{ min-height: 0 !important; } | |
:root:not([customizing]) #tabs-newtab-button, | |
:root:not([customizing]) #TabsToolbar-customization-target > .toolbarbutton-1, | |
:root:not([customizing]) #TabsToolbar .titlebar-button{ | |
-moz-appearance: none !important; | |
height: 0px; | |
padding-top: 0px !important; | |
padding-bottom: 0px !important; | |
-moz-box-align: stretch; | |
margin: 0 !important; | |
} | |
.accessibility-indicator, | |
.private-browsing-indicator{ | |
height: unset !important; | |
} | |
.accessibility-indicator > hbox{ padding-block: 0 !important } | |
.tabbrowser-tab{ | |
height: calc(var(--tab-min-height) + 2 * var(--tab-block-margin,0px)); | |
} | |
.tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{ | |
visibility: collapse !important; | |
/* These seem unnecessary, but they achieve compatibility with hide_tabs_with_one_tab.css */ | |
min-height: 0 !important; | |
height: 0; | |
} | |
/* Button re-styling */ | |
#tabs-newtab-button{ transform: scale(0.8); } | |
#tabs-newtab-button:hover{ | |
background-color: var(--toolbarbutton-hover-background); | |
border-radius: var(--tab-border-radius); | |
} | |
#tabs-newtab-button > .toolbarbutton-icon{ | |
padding: 0 !important; | |
transform: scale(0.5); | |
background-color: transparent !important; | |
} | |
/* Fix window controls not being clickable */ | |
:root[tabsintitlebar] #toolbar-menubar[autohide="true"][inactive]{ | |
transition: height 0ms steps(1) 80ms; | |
} | |
:where(#nav-bar){ | |
border-inline: var(--uc-window-drag-space-width,0) solid var(--toolbar-bgcolor); | |
} | |
@media (-moz-platform: linux){ | |
#TabsToolbar .titlebar-buttonbox{ | |
-moz-box-align: stretch !important; | |
} | |
#TabsToolbar > .titlebar-buttonbox-container > .titlebar-buttonbox > .titlebar-button{ | |
transform: scale(0.8); | |
margin-inline: -3px !important; | |
} | |
#TabsToolbar .titlebar-button > .toolbarbutton-icon{ padding: 0 13px !important } | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment