Path: blob/main/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css
3296 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/* Part Element */6.monaco-workbench .part.titlebar {7display: flex;8flex-direction: row;9}1011.monaco-workbench.mac .part.titlebar {12flex-direction: row-reverse;13}1415/* Root Container */16.monaco-workbench .part.titlebar > .titlebar-container {17box-sizing: border-box;18overflow: hidden;19flex-shrink: 1;20flex-grow: 1;21align-items: center;22justify-content: space-between;23user-select: none;24-webkit-user-select: none;25display: flex;26height: 100%;27width: 100%;28}2930/* Account for zooming */31.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom {32zoom: calc(1.0 / var(--zoom-factor));33}3435/* Platform specific root element */36.monaco-workbench.mac .part.titlebar > .titlebar-container {37line-height: 22px;38}3940.monaco-workbench.web .part.titlebar > .titlebar-container,41.monaco-workbench.windows .part.titlebar > .titlebar-container,42.monaco-workbench.linux .part.titlebar > .titlebar-container {43line-height: 22px;44justify-content: left;45}4647.monaco-workbench.web.safari .part.titlebar,48.monaco-workbench.web.safari .part.titlebar > .titlebar-container {49/* Must be scoped to safari due to #148851 */50/* Is required in safari due to #149476 */51overflow: visible;52}5354/* Draggable region */55.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-drag-region {56top: 0;57left: 0;58display: block;59position: absolute;60width: 100%;61height: 100%;62-webkit-app-region: drag;63}6465.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left,66.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center,67.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right {68display: flex;69height: 100%;70align-items: center;71}7273.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-left {74order: 0;75width: 20%;76flex-grow: 2;77justify-content: flex-start;78}7980.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-center {81order: 1;82width: 60%;83max-width: fit-content;84min-width: 0px;85margin: 0 10px;86/* flex-shrink: 10; */87justify-content: center;88}8990.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-right {91order: 2;92width: 20%;93min-width: min-content;94flex-grow: 2;95justify-content: flex-end;96}9798.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-left {99flex: 1 1 0%;100min-width: 0;101}102103.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-center {104display: none;105}106107.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-right {108flex: 0 0 auto;109padding-left: 16px; /* ensure there is some space between title and controls */110}111112/* Window title text */113.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title {114flex: 0 1 auto;115font-size: 12px;116overflow: hidden;117white-space: nowrap;118text-overflow: ellipsis;119margin-left: auto;120margin-right: auto;121}122123.monaco-workbench.web .part.titlebar > .titlebar-container > .titlebar-center > .window-title,124.monaco-workbench.windows .part.titlebar > .titlebar-container > .titlebar-center > .window-title,125.monaco-workbench.linux .part.titlebar > .titlebar-container > .titlebar-center > .window-title {126cursor: default;127}128129.monaco-workbench.linux .part.titlebar > .titlebar-container > .titlebar-center > .window-title {130font-size: inherit;131/* see #55435 */132}133134.monaco-workbench .part.titlebar > .titlebar-container .monaco-toolbar .actions-container {135gap: 4px;136}137138/* Window Title Menu */139.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center {140z-index: 2500;141-webkit-app-region: no-drag;142}143144.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center.hide {145visibility: hidden;146}147148.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label,149.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item.monaco-dropdown-with-primary .action-label {150color: var(--vscode-titleBar-activeForeground);151}152153.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label,154.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item.monaco-dropdown-with-primary .action-label {155color: var(--vscode-titleBar-inactiveForeground);156}157158.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label {159color: inherit;160}161162.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center {163display: flex;164align-items: stretch;165color: var(--vscode-commandCenter-foreground);166background-color: var(--vscode-commandCenter-background);167border: 1px solid var(--vscode-commandCenter-border);168overflow: hidden;169margin: 0 6px;170border-top-left-radius: 6px;171border-bottom-left-radius: 6px;172border-top-right-radius: 6px;173border-bottom-right-radius: 6px;174height: 22px;175width: 38vw;176max-width: 600px;177}178179.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick {180display: flex;181justify-content: start;182overflow: hidden;183margin: auto;184max-width: 600px;185}186187.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-icon {188font-size: 14px;189opacity: .8;190margin: auto 3px;191color: var(--vscode-commandCenter-foreground);192}193194.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-icon {195color: var(--vscode-titleBar-inactiveForeground);196}197198.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick .search-label {199overflow: hidden;200text-overflow: ellipsis;201}202203.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple {204justify-content: flex-start;205padding: 0 12px;206}207208.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple.active .action-label {209background-color: inherit;210}211212.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:only-child {213margin-left: 0; /* no margin if there is only the command center, without nav buttons */214}215216.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center {217color: var(--vscode-titleBar-inactiveForeground);218border-color: var(--vscode-commandCenter-inactiveBorder) !important;219}220221.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:HOVER {222color: var(--vscode-commandCenter-activeForeground);223background-color: var(--vscode-commandCenter-activeBackground);224border-color: var(--vscode-commandCenter-activeBorder);225}226227/* Menubar */228.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .menubar {229/* move menubar above drag region as negative z-index on drag region cause greyscale AA */230z-index: 2500;231min-width: 36px;232flex-wrap: nowrap;233order: 2;234}235236.monaco-workbench.web .part.titlebar > .titlebar-container > .titlebar-left > .menubar {237margin-left: 4px;238}239240.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .menubar .menubar-menu-button > .menubar-menu-items-holder.monaco-menu-container,241.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .monaco-toolbar .dropdown-action-container {242zoom: var(--zoom-factor); /* helps to position the menu properly when counter zooming */243}244245/* Resizer */246.monaco-workbench.windows .part.titlebar > .titlebar-container > .resizer,247.monaco-workbench.linux .part.titlebar > .titlebar-container > .resizer {248-webkit-app-region: no-drag;249position: absolute;250top: 0;251width: 100%;252height: 4px;253}254255.monaco-workbench.windows.fullscreen .part.titlebar > .titlebar-container > .resizer,256.monaco-workbench.linux.fullscreen .part.titlebar > .titlebar-container > .resizer {257display: none;258}259260/* App Icon */261.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {262width: 35px;263height: 100%;264position: relative;265z-index: 2500;266flex-shrink: 0;267order: 1;268}269270.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon:not(.codicon) {271background-image: url('../../../media/code-icon.svg');272background-repeat: no-repeat;273background-position: center center;274background-size: 16px;275}276277.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon.codicon {278line-height: 30px;279}280281.monaco-workbench.fullscreen .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {282display: none;283}284285/* Window Controls Container */286.monaco-workbench .part.titlebar .window-controls-container {287display: flex;288flex-grow: 0;289flex-shrink: 0;290text-align: center;291z-index: 3000;292-webkit-app-region: no-drag;293width: 0px;294height: 100%;295}296297.monaco-workbench.fullscreen .part.titlebar .window-controls-container {298display: none;299background-color: transparent;300}301302/* Window Controls Container Web: Apply WCO environment variables (https://developer.mozilla.org/en-US/docs/Web/CSS/env#titlebar-area-x) */303.monaco-workbench.web .part.titlebar .titlebar-right .window-controls-container {304width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));305height: env(titlebar-area-height, 35px);306}307308.monaco-workbench.web .part.titlebar .titlebar-left .window-controls-container {309width: env(titlebar-area-x, 0px);310height: env(titlebar-area-height, 35px);311}312313.monaco-workbench.web.mac .part.titlebar .titlebar-left .window-controls-container {314order: 0;315}316317.monaco-workbench.web.mac .part.titlebar .titlebar-right .window-controls-container {318order: 1;319}320321/* Window Controls Container Desktop: apply zoom friendly size */322.monaco-workbench:not(.web):not(.mac) .part.titlebar .window-controls-container {323width: calc(138px / var(--zoom-factor, 1));324}325326.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container.counter-zoom .window-controls-container {327width: 138px;328}329330.monaco-workbench.linux:not(.web) .part.titlebar .window-controls-container.wco-enabled {331width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));332}333334.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container:not(.counter-zoom) .window-controls-container * {335zoom: calc(1 / var(--zoom-factor, 1));336}337338.monaco-workbench:not(.web).mac .part.titlebar .window-controls-container {339width: 70px;340}341342/* Window Control Icons */343.monaco-workbench .part.titlebar .window-controls-container > .window-icon {344display: flex;345justify-content: center;346align-items: center;347height: 100%;348width: 46px;349font-size: 16px;350color: var(--vscode-titleBar-activeForeground);351}352353.monaco-workbench .part.titlebar.inactive .window-controls-container > .window-icon {354color: var(--vscode-titleBar-inactiveForeground);355}356357.monaco-workbench .part.titlebar .window-controls-container > .window-icon::before {358height: 16px;359line-height: 16px;360}361362.monaco-workbench .part.titlebar .window-controls-container > .window-icon:hover {363background-color: rgba(255, 255, 255, 0.1);364}365366.monaco-workbench .part.titlebar.light .window-controls-container > .window-icon:hover {367background-color: rgba(0, 0, 0, 0.1);368}369370.monaco-workbench .part.titlebar .window-controls-container > .window-icon.window-close:hover {371background-color: rgba(232, 17, 35, 0.9);372}373374.monaco-workbench .part.titlebar .window-controls-container .window-icon.window-close:hover {375color: white;376}377378/* Action Tool Bar Controls */379.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {380display: none;381padding-right: 4px;382flex-grow: 0;383flex-shrink: 0;384text-align: center;385position: relative;386z-index: 2500;387-webkit-app-region: no-drag;388height: 100%;389}390391.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {392margin-left: auto;393}394395.monaco-workbench.mac:not(.web) .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {396right: 8px;397}398399.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container:not(.has-no-actions) {400display: flex;401justify-content: center;402}403404.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .codicon {405color: inherit;406}407408.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item {409display: flex;410}411412.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge {413margin-left: 8px;414display: flex;415align-items: center;416}417418.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge {419margin-left: 0px;420}421422.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge .badge-content {423padding: 3px 5px;424border-radius: 11px;425font-size: 9px;426min-width: 11px;427height: 16px;428line-height: 11px;429font-weight: normal;430text-align: center;431display: inline-block;432box-sizing: border-box;433position: relative;434}435436.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact {437position: absolute;438top: 0;439bottom: 0;440margin: auto;441left: 0;442overflow: hidden;443width: 100%;444height: 100%;445z-index: 2;446}447448.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content::before {449mask-size: 12px;450-webkit-mask-size: 12px;451top: 2px;452}453454.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content {455position: absolute;456top: 10px;457right: 0px;458font-size: 9px;459font-weight: 600;460min-width: 12px;461height: 12px;462line-height: 12px;463padding: 0 2px;464border-radius: 16px;465text-align: center;466}467468469