Path: blob/main/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css
5221 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-radius: 4px;171height: 22px;172width: 38vw;173max-width: 600px;174}175176.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick {177display: flex;178justify-content: start;179overflow: hidden;180margin: auto;181max-width: 600px;182}183184.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 {185font-size: 14px;186opacity: .8;187margin: auto 3px;188color: var(--vscode-commandCenter-foreground);189}190191.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 {192color: var(--vscode-titleBar-inactiveForeground);193}194195.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 {196overflow: hidden;197text-overflow: ellipsis;198}199200.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple {201justify-content: flex-start;202padding: 0 12px;203}204205.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple.active .action-label {206background-color: inherit;207}208209.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:only-child {210margin-left: 0; /* no margin if there is only the command center, without nav buttons */211}212213.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center {214color: var(--vscode-titleBar-inactiveForeground);215border-color: var(--vscode-commandCenter-inactiveBorder) !important;216}217218.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:HOVER {219color: var(--vscode-commandCenter-activeForeground);220background-color: var(--vscode-commandCenter-activeBackground);221border-color: var(--vscode-commandCenter-activeBorder);222}223224/* Menubar */225.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .menubar {226/* move menubar above drag region as negative z-index on drag region cause greyscale AA */227z-index: 2500;228min-width: 36px;229flex-wrap: nowrap;230order: 2;231}232233.monaco-workbench.web .part.titlebar > .titlebar-container > .titlebar-left > .menubar {234margin-left: 4px;235}236237.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .menubar .menubar-menu-button > .menubar-menu-items-holder.monaco-menu-container,238.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .monaco-toolbar .dropdown-action-container {239zoom: var(--zoom-factor); /* helps to position the menu properly when counter zooming */240}241242/* Resizer */243.monaco-workbench.windows .part.titlebar > .titlebar-container > .resizer,244.monaco-workbench.linux .part.titlebar > .titlebar-container > .resizer {245-webkit-app-region: no-drag;246position: absolute;247top: 0;248width: 100%;249height: 4px;250}251252.monaco-workbench.windows.fullscreen .part.titlebar > .titlebar-container > .resizer,253.monaco-workbench.linux.fullscreen .part.titlebar > .titlebar-container > .resizer {254display: none;255}256257/* App Icon */258.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {259width: 35px;260height: 100%;261position: relative;262z-index: 2500;263flex-shrink: 0;264order: 1;265}266267.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon:not(.codicon) {268background-image: url('../../../media/code-icon.svg');269background-repeat: no-repeat;270background-position: center center;271background-size: 16px;272}273274.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon.codicon {275line-height: 30px;276}277278.monaco-workbench.fullscreen .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {279display: none;280}281282/* Window Controls Container */283.monaco-workbench .part.titlebar .window-controls-container {284display: flex;285flex-grow: 0;286flex-shrink: 0;287text-align: center;288z-index: 3000;289-webkit-app-region: no-drag;290width: 0px;291height: 100%;292}293294.monaco-workbench.fullscreen .part.titlebar .window-controls-container {295display: none;296background-color: transparent;297}298299/* Window Controls Container Web: Apply WCO environment variables (https://developer.mozilla.org/en-US/docs/Web/CSS/env#titlebar-area-x) */300.monaco-workbench.web .part.titlebar .titlebar-right .window-controls-container {301width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));302height: env(titlebar-area-height, 35px);303}304305.monaco-workbench.web .part.titlebar .titlebar-left .window-controls-container {306width: env(titlebar-area-x, 0px);307height: env(titlebar-area-height, 35px);308}309310.monaco-workbench.web.mac .part.titlebar .titlebar-left .window-controls-container {311order: 0;312}313314.monaco-workbench.web.mac .part.titlebar .titlebar-right .window-controls-container {315order: 1;316}317318/* Window Controls Container Desktop: apply zoom friendly size */319.monaco-workbench:not(.web):not(.mac) .part.titlebar .window-controls-container {320width: calc(138px / var(--zoom-factor, 1));321}322323.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container.counter-zoom .window-controls-container {324width: 138px;325}326327.monaco-workbench.linux:not(.web) .part.titlebar .window-controls-container.wco-enabled {328width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));329}330331.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container:not(.counter-zoom) .window-controls-container * {332zoom: calc(1 / var(--zoom-factor, 1));333}334335.monaco-workbench:not(.web).mac .part.titlebar .window-controls-container {336width: 70px;337}338339/* Window Control Icons */340.monaco-workbench .part.titlebar .window-controls-container > .window-icon {341display: flex;342justify-content: center;343align-items: center;344height: 100%;345width: 46px;346font-size: 16px;347color: var(--vscode-titleBar-activeForeground);348}349350.monaco-workbench .part.titlebar.inactive .window-controls-container > .window-icon {351color: var(--vscode-titleBar-inactiveForeground);352}353354.monaco-workbench .part.titlebar .window-controls-container > .window-icon::before {355height: 16px;356line-height: 16px;357}358359.monaco-workbench .part.titlebar .window-controls-container > .window-icon:hover {360background-color: rgba(255, 255, 255, 0.1);361}362363.monaco-workbench .part.titlebar.light .window-controls-container > .window-icon:hover {364background-color: rgba(0, 0, 0, 0.1);365}366367.monaco-workbench .part.titlebar .window-controls-container > .window-icon.window-close:hover {368background-color: rgba(232, 17, 35, 0.9);369}370371.monaco-workbench .part.titlebar .window-controls-container .window-icon.window-close:hover {372color: white;373}374375/* Action Tool Bar Controls */376.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {377display: none;378padding-right: 4px;379flex-grow: 0;380flex-shrink: 0;381text-align: center;382position: relative;383z-index: 2500;384-webkit-app-region: no-drag;385height: 100%;386}387388.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {389margin-left: auto;390}391392.monaco-workbench.mac:not(.web) .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {393right: 8px;394}395396.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container:not(.has-no-actions) {397display: flex;398justify-content: center;399}400401.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .codicon {402color: inherit;403}404405.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item {406display: flex;407}408409.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge {410margin-left: 8px;411display: flex;412align-items: center;413}414415.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge {416margin-left: 0px;417}418419.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge .badge-content {420padding: 3px 5px;421border-radius: 11px;422font-size: 9px;423min-width: 11px;424height: 16px;425line-height: 11px;426font-weight: normal;427text-align: center;428display: inline-block;429box-sizing: border-box;430position: relative;431}432433.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact {434position: absolute;435top: 0;436bottom: 0;437margin: auto;438left: 0;439overflow: hidden;440width: 100%;441height: 100%;442z-index: 2;443}444445.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content::before {446mask-size: 12px;447-webkit-mask-size: 12px;448top: 2px;449}450451.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content {452position: absolute;453top: 10px;454right: 0px;455font-size: 9px;456font-weight: 600;457min-width: 12px;458height: 12px;459line-height: 12px;460padding: 0 2px;461border-radius: 16px;462text-align: center;463}464465466