firefox-gnome-theme/theme/parts/csd.css

183 lines
6.0 KiB
CSS

/* GNOME CSD styles for headerbar on Firefox [tabsintitlebar] */
@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#main-window {
-moz-appearance: -moz-window-titlebar !important;
}
/* Headerbar top border corners rounded */
:root[tabsintitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #nav-bar {
border-radius: env(-moz-gtk-csd-titlebar-radius) env(-moz-gtk-csd-titlebar-radius) 0 0 !important;
}
/* Window buttons: at least 1 button */
@media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) {
:root {
--gnome-navbar-csd-offset: 43px;
}
}
/* Window buttons: at least 2 buttons */
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
(-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
(-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
:root {
--gnome-navbar-csd-offset: 80px;
}
}
/* Window buttons: 3 buttons */
@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
:root {
--gnome-navbar-csd-offset: 117px;
}
}
/* Right window buttons offset by button count */
:root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
padding-left: 3px !important;
padding-right: var(--gnome-navbar-csd-offset) !important;
}
/* Fullscreen headerbar padding for 1 button */
:root[tabsintitlebar][inFullscreen] #nav-bar {
padding-right: 43px !important;
}
/* Left window buttons */
@media (-moz-gtk-csd-reversed-placement) {
/* Window controls offset by button count */
:root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
padding-left: var(--gnome-navbar-csd-offset) !important;
padding-right: 3px !important;
}
/* Window buttons box */
:root[tabsintitlebar] #titlebar .titlebar-buttonbox-container {
left: 0;
right: auto !important;
}
/* Fullscreen headerbar padding for 1 button */
:root[tabsintitlebar][inFullscreen] #nav-bar {
padding-left: 50px !important;
padding-right: 3px !important
}
}
/* Remove close and minimize buttons from fullscreen buttons */
:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox-container .titlebar-min,
:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox-container .titlebar-close {
display: none !important;
}
/* Force the restore button to appear regardless of maximize button's status */
:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox-container {
visibility: visible !important;
}
:root[tabsintitlebar][inFullscreen]:not([inDOMFullscreen]) #titlebar .titlebar-buttonbox-container .titlebar-restore {
display: inherit !important;
}
/* Hide window controls when navbar is hidden */
:root[tabsintitlebar][inFullscreen] #navigator-toolbox[style*='margin-top:'] #titlebar .titlebar-buttonbox-container {
top: -999px;
}
/* Remove tabsbar titlebar blank spaces */
:root[tabsintitlebar] #TabsToolbar .titlebar-placeholder {
display: none !important;
}
/* Prevent menubar from breaking */
:root[tabsintitlebar] #toolbar-menubar:not([inactive=true]) {
height: 30px !important;
margin-bottom: 8px;
}
/* Remove default style of titlebar */
:root[tabsintitlebar] #titlebar {
-moz-appearance: none !important;
}
/* Fix the issue when dragging tabs */
:root[tabsintitlebar] #navigator-toolbox[movingtab] #TabsToolbar {
padding-bottom: 0 !important;
}
/* Window buttons box */
:root[tabsintitlebar] #titlebar .titlebar-buttonbox-container {
-moz-appearance: none !important;
padding: 5px;
position: absolute !important;
right: 0;
top: 0;
display: block !important;
}
:root[tabsintitlebar] #titlebar .titlebar-buttonbox {
-moz-appearance: none !important;
}
/* Window buttons style */
:root[tabsintitlebar] #titlebar .titlebar-button,
:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton {
-moz-appearance: none !important;
padding: 0 2px !important;
background: var(--gnome-button-close-background);
transition: background 0.3s;
}
:root[tabsintitlebar] #titlebar .titlebar-button {
border-radius: 100% !important;
height: 24px !important;
margin: 6px 6.5px !important;
width: 24px !important;
}
:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton {
border-radius: 6px !important;
height: 34px;
margin: 0 3px !important;
width: 34px;
}
:root[tabsintitlebar] #titlebar toolbarbutton > .toolbarbutton-icon {
padding: 0 !important;
stroke: none !important;
-moz-context-properties: fill, fill-opacity !important;
}
:root[tabsintitlebar] #titlebar .titlebar-button .toolbarbutton-icon,
:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton .toolbarbutton-icon {
width: 16px;
}
:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-button,
:root[tabsintitlebar][inFullscreen] #window-controls:-moz-window-inactive toolbarbutton {
background: var(--gnome-inactive-tabbar-tab-active-background);
}
:root[tabsintitlebar] #titlebar:not(:-moz-window-inactive) .titlebar-button:not([disabled]):hover,
:root[tabsintitlebar][inFullscreen] #window-controls:not(:-moz-window-inactive) toolbarbutton:not([disabled]):hover {
background: var(--gnome-button-hover-background);
}
:root[tabsintitlebar] #titlebar:not(:-moz-window-inactive) .titlebar-button:not([disabled]):active,
:root[tabsintitlebar][inFullscreen] #window-controls:not(:-moz-window-inactive) toolbarbutton:not([disabled]):active {
background: var(--gnome-button-active-close-background);
}
:root[tabsintitlebar] #titlebar .titlebar-button:where(:hover):not(:hover) {
background: var(--gnome-button-hover-close-background) !important;
}
/* OPTIONAL: Allow draging the window from headerbar buttons */
@supports -moz-bool-pref("gnomeTheme.dragWindowHeaderbarButtons") {
:root[tabsintitlebar] #nav-bar *,
:root[tabsintitlebar] #titlebar .titlebar-button,
:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton {
-moz-window-dragging: drag;
}
/* Avoid window dragging from urlbar */
:root[tabsintitlebar] #nav-bar .urlbar-input-box,
:root[tabsintitlebar] #nav-bar .urlbar-input-box * {
-moz-window-dragging: no-drag !important;
}
}