273 lines
6.7 KiB
SCSS
273 lines
6.7 KiB
SCSS
|
#toolbar-menubar {
|
||
|
// Allow right-click context menu on menubar
|
||
|
pointer-events: none;
|
||
|
visibility: visible;
|
||
|
// Space for 36*36 icon
|
||
|
padding-left: var(--tab-min-height);
|
||
|
}
|
||
|
|
||
|
#menubar-items {
|
||
|
pointer-events: all;
|
||
|
}
|
||
|
|
||
|
#titlebar {
|
||
|
pointer-events: none;
|
||
|
height: var(--tab-min-height);
|
||
|
margin-bottom: calc(0px - var(--tab-min-height));
|
||
|
}
|
||
|
|
||
|
.titlebar-buttonbox {
|
||
|
pointer-events: all;
|
||
|
}
|
||
|
|
||
|
#navigator-toolbox {
|
||
|
height :var(--tab-min-height);
|
||
|
-moz-box-pack: center;
|
||
|
pointer-events: none;
|
||
|
border-bottom: var(--material-border);
|
||
|
menubar {
|
||
|
height :var(--tab-min-height);
|
||
|
padding: 5px 1px 5px 1px !important;
|
||
|
}
|
||
|
menu {
|
||
|
border-radius: 4px;
|
||
|
}
|
||
|
#main-menubar > menu {
|
||
|
padding: 0px 4px 0px 4px;
|
||
|
}
|
||
|
#main-menubar > menu > menupopup {
|
||
|
// Align with menu bar bottom
|
||
|
margin-top: 0px;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.titlebar-icon-container {
|
||
|
margin-bottom: calc(0px - var(--tab-min-height));
|
||
|
height :var(--tab-min-height);
|
||
|
}
|
||
|
|
||
|
.titlebar-icon {
|
||
|
-moz-window-dragging: no-drag;
|
||
|
pointer-events: all;
|
||
|
// to make the icon 36*36
|
||
|
margin: 10px;
|
||
|
object-fit: none;
|
||
|
}
|
||
|
|
||
|
.titlebar-buttonbox-container {
|
||
|
-moz-box-pack: end;
|
||
|
height :var(--tab-min-height);
|
||
|
background: var(--material-tabbar);
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
// Following rules from https://searchfox.org/mozilla-central/source/browser/themes/windows/browser.css
|
||
|
:root {
|
||
|
--sidebar-border-color: ThreeDLightShadow;
|
||
|
}
|
||
|
|
||
|
#menubar-items {
|
||
|
flex-direction: column; /* for flex hack */
|
||
|
justify-content: normal; /* align the menubar to the top also in customize mode */
|
||
|
}
|
||
|
|
||
|
#main-menubar > menu {
|
||
|
appearance: none;
|
||
|
color: inherit;
|
||
|
|
||
|
&[_moz-menuactive] {
|
||
|
// background-color: light-dark(hsla(0,0%,0%,.12), hsla(0,0%,100%,.22));
|
||
|
@include light-dark(background-color, hsla(0,0%,0%,.12), hsla(0,0%,100%,.22));
|
||
|
color: inherit;
|
||
|
|
||
|
@media (prefers-contrast) {
|
||
|
background-color: -moz-menuhover;
|
||
|
color: -moz-menuhovertext;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@media (-moz-windows-accent-color-in-titlebar) {
|
||
|
:root[tabsintitlebar] {
|
||
|
/* stylelint-disable-next-line media-query-no-invalid */
|
||
|
@media (-moz-bool-pref: "browser.theme.windows.accent-color-in-tabs.enabled") {
|
||
|
--toolbox-non-lwt-bgcolor: ActiveCaption;
|
||
|
--toolbox-non-lwt-textcolor: CaptionText;
|
||
|
--toolbox-non-lwt-bgcolor-inactive: InactiveCaption;
|
||
|
--toolbox-non-lwt-textcolor-inactive: InactiveCaptionText;
|
||
|
|
||
|
#TabsToolbar:not(:-moz-lwtheme) {
|
||
|
/* These colors match the Linux/HCM default button colors. We need to
|
||
|
* override these on the tabs toolbar because the accent color is
|
||
|
* arbitrary, so the hardcoded colors from browser-custom-colors might
|
||
|
* not provide sufficient contrast. */
|
||
|
--toolbarbutton-icon-fill: currentColor;
|
||
|
--toolbarbutton-hover-background: color-mix(in srgb, currentColor 17%, transparent);
|
||
|
--toolbarbutton-active-background: color-mix(in srgb, currentColor 30%, transparent);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
&[sizemode="normal"] #navigator-toolbox {
|
||
|
border-top: .5px solid ActiveBorder;
|
||
|
&:-moz-window-inactive {
|
||
|
border-top-color: InactiveBorder;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Titlebar */
|
||
|
|
||
|
.titlebar-buttonbox {
|
||
|
appearance: none;
|
||
|
/* The button box must appear on top of the navigator-toolbox in order for
|
||
|
* click and hover mouse events to work properly for the button in the restored
|
||
|
* window state. Otherwise, elements in the navigator-toolbox, like the menubar,
|
||
|
* can swallow those events. It will also place the buttons above the fog on
|
||
|
* Windows 7 with Aero Glass.
|
||
|
*/
|
||
|
z-index: 1;
|
||
|
}
|
||
|
|
||
|
.titlebar-buttonbox-container {
|
||
|
align-items: stretch;
|
||
|
|
||
|
/* Prevent window controls from overlapping the nav bar's shadow on the tab
|
||
|
* bar. */
|
||
|
#TabsToolbar > & {
|
||
|
margin-bottom: var(--tabs-navbar-shadow-size);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* Window control buttons */
|
||
|
|
||
|
.titlebar-button {
|
||
|
appearance: none;
|
||
|
border: none;
|
||
|
margin: 0;
|
||
|
padding: 8px 17px;
|
||
|
-moz-context-properties: stroke;
|
||
|
stroke: currentColor;
|
||
|
|
||
|
:root[tabletmode] & {
|
||
|
display: none;
|
||
|
}
|
||
|
|
||
|
> .toolbarbutton-icon {
|
||
|
width: 12px;
|
||
|
height: 12px;
|
||
|
|
||
|
&:-moz-locale-dir(rtl) {
|
||
|
transform: scaleX(-1);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
.titlebar-min {
|
||
|
/* Even though we use appearance: none, -moz-default-appearance is necessary
|
||
|
* for Windows 11's "snap layouts" feature, see
|
||
|
* DealWithWindowsAppearanceHacks */
|
||
|
-moz-default-appearance: -moz-window-button-minimize;
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/minimize.svg);
|
||
|
}
|
||
|
|
||
|
.titlebar-max {
|
||
|
-moz-default-appearance: -moz-window-button-maximize;
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/maximize.svg);
|
||
|
}
|
||
|
|
||
|
.titlebar-restore {
|
||
|
-moz-default-appearance: -moz-window-button-restore;
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/restore.svg);
|
||
|
}
|
||
|
|
||
|
.titlebar-close {
|
||
|
-moz-default-appearance: -moz-window-button-close;
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/close.svg);
|
||
|
}
|
||
|
|
||
|
:root[lwtheme-image] {
|
||
|
.titlebar-button {
|
||
|
-moz-context-properties: unset;
|
||
|
}
|
||
|
.titlebar-min {
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/minimize-themes.svg);
|
||
|
}
|
||
|
.titlebar-max {
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/maximize-themes.svg);
|
||
|
}
|
||
|
.titlebar-restore {
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/restore-themes.svg);
|
||
|
}
|
||
|
.titlebar-close {
|
||
|
list-style-image: url(chrome://browser/skin/window-controls/close-themes.svg);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* the 12px image renders a 10px icon, and the 10px upscaled gets rounded to 12.5, which
|
||
|
* rounds up to 13px, which makes the icon one pixel too big on 1.25dppx. Fix: */
|
||
|
@media (1.20dppx <= resolution <= 1.45dppx) {
|
||
|
.titlebar-button > .toolbarbutton-icon {
|
||
|
width: 11.5px;
|
||
|
height: 11.5px;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* 175% dpi should result in the same device pixel sizes as 150% dpi. */
|
||
|
@media (1.70dppx <= resolution <= 1.95dppx) {
|
||
|
.titlebar-button {
|
||
|
padding-inline: 14.1px;
|
||
|
|
||
|
> .toolbarbutton-icon {
|
||
|
width: 10.8px;
|
||
|
height: 10.8px;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* 225% dpi should result in the same device pixel sizes as 200% dpi. */
|
||
|
@media (2.20dppx <= resolution <= 2.45dppx) {
|
||
|
.titlebar-button {
|
||
|
padding-inline: 15.3333px;
|
||
|
|
||
|
> .toolbarbutton-icon {
|
||
|
width: 10.8px;
|
||
|
height: 10.8px;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* 275% dpi should result in the same device pixel sizes as 250% dpi. */
|
||
|
@media (2.70dppx <= resolution <= 2.95dppx) {
|
||
|
/* NB: todo: this should also change padding on the buttons
|
||
|
* themselves, but without a device to test this on, it's
|
||
|
* impossible to know by how much. */
|
||
|
.titlebar-button > .toolbarbutton-icon {
|
||
|
width: 10.8px;
|
||
|
height: 10.8px;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// End of browser.css
|
||
|
|
||
|
#main-menubar > menu[_moz-menuactive="true"],
|
||
|
.titlebar-button:hover {
|
||
|
@include light-dark(background-color, hsla(0,0%,0%,.12), hsla(0,0%,100%,.22));
|
||
|
}
|
||
|
.titlebar-button:hover:active {
|
||
|
@include light-dark(background-color, hsla(0,0%,0%,.22), hsla(0,0%,100%,.32));
|
||
|
}
|
||
|
|
||
|
.titlebar-close:hover {
|
||
|
stroke: white;
|
||
|
background-color: hsl(355,86%,49%);
|
||
|
}
|
||
|
.titlebar-close:hover:active {
|
||
|
background-color: hsl(355,82%,69%);
|
||
|
}
|
||
|
|
||
|
.titlebar-button:not(:hover) > .toolbarbutton-icon:-moz-window-inactive {
|
||
|
opacity: 0.5;
|
||
|
}
|