/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ @import url("chrome://browser/skin/browser-shared.css"); @import url("chrome://browser/skin/contextmenu.css"); /** * We still want to do some of the tweaks that browser-colors does, like * disabling the toolbar field border and backgrounds. */ @media not (prefers-contrast) { :root:not([lwtheme]) { @media (-moz-gtk-theme-family) { --tabs-navbar-separator-style: none; @media (prefers-color-scheme: light) { --urlbar-box-bgcolor: #fafafa; } } } } #menubar-items { flex-direction: column; /* for flex hack */ justify-content: normal; /* align the menubar to the top also in customize mode */ } /** * Titlebar drawing: * * GTK windows have both a window radius (exposed via the * `-moz-gtk-csd-titlebar-radius`) environment variable, and a window shadow * (which we can't read back from GTK). Note that the -moz-window-decorations * (in X11) or the compositor (in Wayland) does draw the shadow corners * already. */ :root[customtitlebar] { background-color: transparent; &[sizemode="normal"]:not([gtktiledwindow="true"]) { /* This takes care of drawing our window decorations on X11 */ -moz-default-appearance: -moz-window-decorations; appearance: auto; #navigator-toolbox, dialog::backdrop { border-top-left-radius: env(-moz-gtk-csd-titlebar-radius); border-top-right-radius: env(-moz-gtk-csd-titlebar-radius); } /* stylelint-disable-next-line media-query-no-invalid */ @media -moz-pref("widget.gtk.rounded-bottom-corners.enabled") { #navigator-toolbox { /* The body clip below covers this. */ border-radius: 0; } body, dialog::backdrop { /* Use an uniform clip to allow WebRender to optimize it better */ border-radius: env(-moz-gtk-csd-titlebar-radius); } } } } /* Bookmark menus */ .bookmark-item { &:is(menu, menuitem) { min-width: 0; max-width: 32em; } &:not(.subviewbutton) > .menu-icon { margin-block: 0; } /* Bookmark drag and drop styles */ &[dragover-into="true"] { background: SelectedItem !important; color: SelectedItemText !important; } } /* Address bar */ #urlbar, #searchbar { font-size: 1.05em; } /* stylelint-disable-next-line media-query-no-invalid */ @media -moz-pref("browser.urlbar.experimental.expandTextOnFocus") { #urlbar[breakout-extend] { font-size: 1.14em; } } /* AutoComplete */ #PopupAutoComplete > richlistbox > richlistitem[originaltype~="datalist-first"] { border-top: 1px solid ThreeDShadow; } /* Tabstrip */ #tabbrowser-tabs { /* override the native styling */ border-bottom: 0; } #TabsToolbar { min-height: 0; } .browser-titlebar, #main-menubar { appearance: none; background-color: transparent; color: inherit; } /* All tabs menupopup */ .alltabs-item[selected="true"] { font-weight: bold; } #UITourHighlight { /* Below are some fixes for people without an X compositor on Linux. This is why we can't have nice things: */ /* Animations don't repaint properly without an X compositor. */ animation-name: none !important; /* Opacity rounds to 0 or 1 on Linux without an X compositor, making the background color not visible. Anti-aliasing is not available either. Make a thicker outline and cancel border-radius for that case. */ outline: 4px solid rgb(0,200,215); border-radius: 0 !important; } #UITourTooltipDescription { font-size: 1.05rem; } #UITourTooltipClose { margin-inline-end: -4px; } /** * Override the --arrowpanel-padding so the background extends * to the sides and bottom of the panel. */ #UITourTooltipButtons { margin-inline-start: -10px; margin-bottom: -10px; } /* 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. */ .titlebar-buttonbox { z-index: 1; align-items: stretch; } @media (-moz-gtk-csd-reversed-placement) { .titlebar-buttonbox-container { order: -1; } } .titlebar-button { appearance: none; color: inherit; align-items: center; padding: 0; padding-inline: calc(env(-moz-gtk-csd-titlebar-button-spacing) / 2); > .toolbarbutton-icon { border-radius: 100%; background-position: center center; background-repeat: no-repeat; -moz-context-properties: stroke; stroke: currentColor; /* Roughly the Adwaita size */ width: 24px; height: 24px; /* Matches the libadwaita transition */ transition: background-color .2s ease; } &:hover > .toolbarbutton-icon { background-color: color-mix(in srgb, currentColor 15%, transparent); } &:hover:active > .toolbarbutton-icon { background-color: color-mix(in srgb, currentColor 30%, transparent); } &:focus-visible > .toolbarbutton-icon { outline: var(--focus-outline); outline-offset: var(--focus-outline-inset); } } .titlebar-max { order: env(-moz-gtk-csd-maximize-button-position); > .toolbarbutton-icon { background-image: -moz-symbolic-icon(window-maximize-symbolic); } } .titlebar-restore { order: env(-moz-gtk-csd-maximize-button-position); > .toolbarbutton-icon { background-image: -moz-symbolic-icon(window-restore-symbolic); } } @media not (-moz-gtk-csd-maximize-button) { .titlebar-restore, .titlebar-max { display: none; } } .titlebar-close { order: env(-moz-gtk-csd-close-button-position); > .toolbarbutton-icon { background-image: -moz-symbolic-icon(window-close-symbolic); } @media not (-moz-gtk-csd-close-button) { display: none; } } .titlebar-min { order: env(-moz-gtk-csd-minimize-button-position); > .toolbarbutton-icon { background-image: -moz-symbolic-icon(window-minimize-symbolic); } @media not (-moz-gtk-csd-minimize-button) { display: none; } }