Path: blob/main/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css
5318 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45.monaco-workbench .part.statusbar {6box-sizing: border-box;7cursor: default;8width: 100%;9height: 22px;10font-size: 12px;11display: flex;12overflow: hidden;13}1415.monaco-workbench.monaco-enable-motion .part.statusbar {16transition: background-color 0.15s ease-out;17}1819.monaco-workbench.mac:not(.fullscreen) .part.statusbar:focus {20/* Rounded corners to make focus outline appear properly (unless fullscreen) */21border-bottom-right-radius: 10px;22border-bottom-left-radius: 10px;23}24.monaco-workbench.mac.macos-tahoe:not(.fullscreen) .part.statusbar:focus {25/* macOS Tahoe increased rounded corners size */26border-bottom-right-radius: 16px;27border-bottom-left-radius: 16px;28}2930.monaco-workbench .part.statusbar:not(:focus).status-border-top::after {31/* Top border only visible unless focused to make room for focus outline */32content: '';33position: absolute;34top: 0;35left: 0;36z-index: 5;37pointer-events: none;38background-color: var(--status-border-top-color);39width: 100%;40height: 1px;41}4243.monaco-workbench .part.statusbar > .left-items,44.monaco-workbench .part.statusbar > .right-items {45display: flex;46}4748.monaco-workbench .part.statusbar > .right-items {49flex-wrap: wrap; /* overflow elements by wrapping */50flex-direction: row-reverse; /* let the elements to the left wrap first */51}5253.monaco-workbench .part.statusbar > .left-items {54flex-grow: 1; /* left items push right items to the far right end */55}5657.monaco-workbench .part.statusbar > .items-container > .statusbar-item {58display: inline-block;59line-height: 22px;60height: 100%;61vertical-align: top;62max-width: 40vw;63font-variant-numeric: tabular-nums;64}6566.monaco-workbench .part.statusbar > .items-container > .statusbar-item.has-beak {67position: relative;68}6970.monaco-workbench .part.statusbar > .items-container > .statusbar-item.has-beak > .status-bar-item-beak-container {71position: absolute;72left: calc(50% - 5px); /* centering relative to parent */73top: -5px;74width: 10px;75height: 5px;76}7778.monaco-workbench .part.statusbar > .items-container > .statusbar-item.has-beak > .status-bar-item-beak-container:before {79content: '';80position: fixed;81border-bottom-width: 5px;82border-bottom-style: solid;83border-left: 5px solid transparent;84border-right: 5px solid transparent;85}8687.monaco-workbench .part.statusbar > .items-container > .statusbar-item.left.first-visible-item,88.monaco-workbench .part.statusbar > .items-container > .statusbar-item.right.last-visible-item {89padding-right: 0;90padding-left: 0;91}9293.monaco-workbench .part.statusbar > .items-container > .statusbar-item > .statusbar-item-label {94cursor: pointer;95display: flex;96height: 100%;97margin-right: 3px;98margin-left: 3px;99padding: 0 5px;100white-space: pre; /* gives some degree of styling */101align-items: center;102text-overflow: ellipsis;103overflow: hidden;104outline-width: 0px; /* do not render focus outline, we already have background */105}106107.monaco-workbench .part.statusbar > .items-container > .statusbar-item.compact-left > .statusbar-item-label {108margin-left: 0;109margin-right: 5px; /* +2px because padding is smaller and we want to preserve spacing between items */110padding: 0 3px;111}112113.monaco-workbench .part.statusbar > .items-container > .statusbar-item.compact-right > .statusbar-item-label {114margin-left: 5px; /* +2px because padding is smaller and we want to preserve spacing between items */115margin-right: 0;116padding: 0 3px;117}118119.monaco-workbench .part.statusbar > .items-container > .statusbar-item.compact-left.compact-right > .statusbar-item-label {120margin-left: 0;121margin-right: 0;122}123124.monaco-workbench .part.statusbar > .items-container > .statusbar-item.left.first-visible-item > .statusbar-item-label,125.monaco-workbench .part.statusbar > .items-container > .statusbar-item.right.last-visible-item > .statusbar-item-label,126.monaco-workbench .part.statusbar > .items-container > .statusbar-item.has-background-color > .statusbar-item-label {127margin-left: 0; /* Reduce margin to let element attach to the corners */128margin-right: 0;129padding-left: 8px; /* But increase padding to preserve our usual spacing */130padding-right: 8px;131}132133.monaco-workbench .part.statusbar > .items-container > .statusbar-item.compact-left.has-background-color > .statusbar-item-label {134padding-left: 3px;135padding-right: 10px;136}137138.monaco-workbench .part.statusbar > .items-container > .statusbar-item.compact-right.has-background-color > .statusbar-item-label {139padding-left: 10px;140padding-right: 3px;141}142143.monaco-workbench .part.statusbar > .items-container > .statusbar-item > a:hover:not(.disabled) {144text-decoration: none;145color: var(--vscode-statusBarItem-hoverForeground);146}147148.monaco-workbench .part.statusbar > .items-container > .statusbar-item > a.disabled {149cursor: default;150}151152.monaco-workbench .part.statusbar > .items-container > .statusbar-item span.codicon {153text-align: center;154color: inherit;155}156157.monaco-workbench .part.statusbar > .items-container > .statusbar-item a:active:not(.disabled) {158outline: 1px solid var(--vscode-contrastActiveBorder) !important;159outline-offset: -1px;160}161162.monaco-workbench:not(.hc-light):not(.hc-black) .part.statusbar > .items-container > .statusbar-item a:active:not(.disabled) {163background-color: var(--vscode-statusBarItem-activeBackground) !important;164}165166.monaco-workbench .part.statusbar > .items-container > .statusbar-item a:hover:not(.disabled) {167outline: 1px dashed var(--vscode-contrastActiveBorder);168outline-offset: -1px;169}170171.monaco-workbench .part.statusbar > .items-container > .statusbar-item a:hover:not(.disabled) {172background-color: var(--vscode-statusBarItem-hoverBackground) !important;173}174175/** Status bar entry item kinds */176177.monaco-workbench .part.statusbar > .items-container > .statusbar-item.warning-kind {178color: var(--vscode-statusBarItem-warningForeground);179background-color: var(--vscode-statusBarItem-warningBackground);180}181182.monaco-workbench .part.statusbar > .items-container > .statusbar-item.warning-kind a:hover:not(.disabled) {183color: var(--vscode-statusBarItem-warningHoverForeground);184background-color: var(--vscode-statusBarItem-warningHoverBackground) !important;185}186187.monaco-workbench .part.statusbar > .items-container > .statusbar-item.error-kind {188color: var(--vscode-statusBarItem-errorForeground);189background-color: var(--vscode-statusBarItem-errorBackground);190}191192.monaco-workbench .part.statusbar > .items-container > .statusbar-item.error-kind a:hover:not(.disabled) {193color: var(--vscode-statusBarItem-errorHoverForeground);194background-color: var(--vscode-statusBarItem-errorHoverBackground) !important;195}196197.monaco-workbench .part.statusbar > .items-container > .statusbar-item.prominent-kind {198color: var(--vscode-statusBarItem-prominentForeground);199background-color: var(--vscode-statusBarItem-prominentBackground);200}201202/**203* Using :not(.compact-right):not(.compact-left) here to improve the visual appearance204* when a prominent item uses `compact: true` with other items. The presence of the205* !important directive for `background-color` otherwise blocks our special hover handling206* code here:207* https://github.com/microsoft/vscode/blob/c2037f152b2bb3119ce1d87f52987776540dd57f/src/vs/workbench/browser/parts/statusbar/statusbarPart.ts#L483-L505208*209* Note: this is currently only done for the prominent kind, but needs to be expanded if210* other kinds use compact feature.211*/212.monaco-workbench .part.statusbar > .items-container > .statusbar-item.prominent-kind:not(.compact-right):not(.compact-left) a:hover:not(.disabled) {213color: var(--vscode-statusBarItem-prominentHoverForeground);214background-color: var(--vscode-statusBarItem-prominentHoverBackground) !important;215}216217.monaco-workbench .part.statusbar > .items-container > .statusbar-item.remote-kind {218color: var(--vscode-statusBarItem-remoteForeground);219background-color: var(--vscode-statusBarItem-remoteBackground);220}221222.monaco-workbench .part.statusbar > .items-container > .statusbar-item.remote-kind a:hover:not(.disabled) {223color: var(--vscode-statusBarItem-remoteHoverForeground);224background-color: var(--vscode-statusBarItem-remoteHoverBackground) !important;225}226227.monaco-workbench .part.statusbar > .items-container > .statusbar-item.offline-kind {228color: var(--vscode-statusBarItem-offlineForeground);229background-color: var(--vscode-statusBarItem-offlineBackground);230}231232.monaco-workbench .part.statusbar > .items-container > .statusbar-item.offline-kind a:hover:not(.disabled) {233color: var(--vscode-statusBarItem-offlineHoverForeground);234background-color: var(--vscode-statusBarItem-offlineHoverBackground) !important;235}236237238