fenix-fox/chrome/fake_statusbar_w_menubar.css
MrOtherGuy d64e9e129e add temporary dummy variables to support for window frame color
In 96 the old --lwt-accent-color is renamed to --lwt-frame so add some
compatibility rules for now.
2021-11-21 08:03:05 +02:00

102 lines
No EOL
4.1 KiB
CSS

/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/fake_statusbar_w_menubar.css made available under Mozilla Public License v. 2.0
See the above repository for updates as well as full license text. */
/* Creates a statusbar by using menubar */
/* Since it's really the menubar this won't work if you also want the menubar on top of the screen */
/* Ho */
/* The setup requires few things:
1. Put the preferences button to the LEFT of the menubar items
2. Put a single toolbarspring next to the menubar items on RIGHT side
3. Move your "statusbar" - buttons to menubar
4. Make menubar permanently enabled
*/
/* Themes that use background images will not show properly with this style */
@-moz-document url("chrome://browser/content/browser.xhtml"){
/* Uncomment the next block to hide the settings button from the fake statusbar */
/*
#toolbar-menubar > #preferences-button{
margin-inline-end: -30px !important;
visibility: visible;
}*/
/* Dummy variable to support versions 94-96, can be removed when 96 lands */
:root{ --lwt-frame: var(--lwt-accent-color) }
:root{ --uc-fake-titlebar-padding: 0px }
@media (-moz-os-version: windows-win7),(-moz-os-version: windows-win10){
:root[sizemode="maximized"][tabsintitlebar]{ --uc-fake-titlebar-padding: 8px }
}
#navigator-toolbox{
margin-top: calc(var(--tab-min-height) + 2 * var(--tab-block-margin,0px) + var(--uc-fake-titlebar-padding))
}
#titlebar,
#toolbar-menubar,
#TabsToolbar{
position: fixed;
display: flex;
width: 100vw;
background-color: var(--lwt-frame);
}
#TabsToolbar{
padding-left: 30px !important;
top: var(--uc-fake-titlebar-padding,0px);
}
#toolbar-menubar,
#titlebar{
bottom: 0;
padding-top: 1px;
}
#TabsToolbar > .toolbar-items{ width: calc(100vw - 120px) }
:root:not([inFullscreen]) #TabsToolbar > .titlebar-buttonbox-container{ display: flex !important }
#toolbar-menubar > .titlebar-buttonbox-container,
#toolbar-menubar > spacer{ display: none !important; }
#toolbar-menubar > .toolbarbutton-1:first-child:not(:hover) + #menubar-items:not(:hover){ visibility: collapse }
#toolbar-menubar > .titlebar-buttonbox-container + toolbarspring{
background-position: left 2px;
background-repeat: no-repeat;
background-image: -moz-element(#statuspanel);
max-width: none !important;
flex-grow: 1;
}
/* Using -moz-element() causes some problems after Firefox has been running several hours such as long tab switch times. For this reason the background image is removed on hover and focused states which appears to clear the state. */
#titlebar:hover > #toolbar-menubar > .titlebar-buttonbox-container + toolbarspring{ background-image: none }
#toolbar-menubar > .titlebar-buttonbox-container + toolbarspring{ background-image: -moz-element(#statuspanel) !important; }
#statuspanel-inner > #statuspanel-label{
height:3em;
min-width: 1000px;
background-color: var(--lwt-frame, hsla(0,0%,100%,.8)) !important;
border: none !important;
font-size: inherit;
color: inherit !important;
margin-inline: 0 !important;
}
/* If you use a theme where urlbar is partially transparent you should edit this color to something that closely matches the perceived color of urlbar. Or perhaps use background-image - linear-gradient() can work well here. But keep the color or image opaque or otherwise you'll face an issue where urlbar text bleeds through */
#statuspanel-inner{ background-color: var(--toolbar-accent-color) }
/*#statuspanel-inner{ background-color: var(--toolbar-non-lwt-bgcolor) }*/
#statuspanel{ color: lightpink; z-index: -1; inset-inline: 0 auto !important; }
#statuspanel[type="status"] { color: skyblue }
#statuspanel-inner{ margin-left: -3px; margin-top: 1px}
#statuspanel-inner > #statuspanel-label[value^="https"]{ color: var(--toolbar-field-color, black) !important;}
#customization-container,
#content-deck,
#browser{ margin-bottom: var(--tab-min-height) }
:root[inDOMFullscreen] :is(#customization-container,#content-deck,#browser),
:root[inFullscreen] :is(#customization-container,#content-deck,#browser){
margin-bottom: 0px;
}
}