Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css
5221 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
/* Part Element */
7
.monaco-workbench .part.titlebar {
8
display: flex;
9
flex-direction: row;
10
}
11
12
.monaco-workbench.mac .part.titlebar {
13
flex-direction: row-reverse;
14
}
15
16
/* Root Container */
17
.monaco-workbench .part.titlebar > .titlebar-container {
18
box-sizing: border-box;
19
overflow: hidden;
20
flex-shrink: 1;
21
flex-grow: 1;
22
align-items: center;
23
justify-content: space-between;
24
user-select: none;
25
-webkit-user-select: none;
26
display: flex;
27
height: 100%;
28
width: 100%;
29
}
30
31
/* Account for zooming */
32
.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom {
33
zoom: calc(1.0 / var(--zoom-factor));
34
}
35
36
/* Platform specific root element */
37
.monaco-workbench.mac .part.titlebar > .titlebar-container {
38
line-height: 22px;
39
}
40
41
.monaco-workbench.web .part.titlebar > .titlebar-container,
42
.monaco-workbench.windows .part.titlebar > .titlebar-container,
43
.monaco-workbench.linux .part.titlebar > .titlebar-container {
44
line-height: 22px;
45
justify-content: left;
46
}
47
48
.monaco-workbench.web.safari .part.titlebar,
49
.monaco-workbench.web.safari .part.titlebar > .titlebar-container {
50
/* Must be scoped to safari due to #148851 */
51
/* Is required in safari due to #149476 */
52
overflow: visible;
53
}
54
55
/* Draggable region */
56
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-drag-region {
57
top: 0;
58
left: 0;
59
display: block;
60
position: absolute;
61
width: 100%;
62
height: 100%;
63
-webkit-app-region: drag;
64
}
65
66
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left,
67
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center,
68
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right {
69
display: flex;
70
height: 100%;
71
align-items: center;
72
}
73
74
.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-left {
75
order: 0;
76
width: 20%;
77
flex-grow: 2;
78
justify-content: flex-start;
79
}
80
81
.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-center {
82
order: 1;
83
width: 60%;
84
max-width: fit-content;
85
min-width: 0px;
86
margin: 0 10px;
87
/* flex-shrink: 10; */
88
justify-content: center;
89
}
90
91
.monaco-workbench .part.titlebar > .titlebar-container.has-center > .titlebar-right {
92
order: 2;
93
width: 20%;
94
min-width: min-content;
95
flex-grow: 2;
96
justify-content: flex-end;
97
}
98
99
.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-left {
100
flex: 1 1 0%;
101
min-width: 0;
102
}
103
104
.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-center {
105
display: none;
106
}
107
108
.monaco-workbench .part.titlebar > .titlebar-container:not(.has-center) > .titlebar-right {
109
flex: 0 0 auto;
110
padding-left: 16px; /* ensure there is some space between title and controls */
111
}
112
113
/* Window title text */
114
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title {
115
flex: 0 1 auto;
116
font-size: 12px;
117
overflow: hidden;
118
white-space: nowrap;
119
text-overflow: ellipsis;
120
margin-left: auto;
121
margin-right: auto;
122
}
123
124
.monaco-workbench.web .part.titlebar > .titlebar-container > .titlebar-center > .window-title,
125
.monaco-workbench.windows .part.titlebar > .titlebar-container > .titlebar-center > .window-title,
126
.monaco-workbench.linux .part.titlebar > .titlebar-container > .titlebar-center > .window-title {
127
cursor: default;
128
}
129
130
.monaco-workbench.linux .part.titlebar > .titlebar-container > .titlebar-center > .window-title {
131
font-size: inherit;
132
/* see #55435 */
133
}
134
135
.monaco-workbench .part.titlebar > .titlebar-container .monaco-toolbar .actions-container {
136
gap: 4px;
137
}
138
139
/* Window Title Menu */
140
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center {
141
z-index: 2500;
142
-webkit-app-region: no-drag;
143
}
144
145
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center.hide {
146
visibility: hidden;
147
}
148
149
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label,
150
.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 {
151
color: var(--vscode-titleBar-activeForeground);
152
}
153
154
.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label,
155
.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 {
156
color: var(--vscode-titleBar-inactiveForeground);
157
}
158
159
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center > .monaco-toolbar > .monaco-action-bar > .actions-container > .action-item > .action-label {
160
color: inherit;
161
}
162
163
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center {
164
display: flex;
165
align-items: stretch;
166
color: var(--vscode-commandCenter-foreground);
167
background-color: var(--vscode-commandCenter-background);
168
border: 1px solid var(--vscode-commandCenter-border);
169
overflow: hidden;
170
margin: 0 6px;
171
border-radius: 4px;
172
height: 22px;
173
width: 38vw;
174
max-width: 600px;
175
}
176
177
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center .action-item.command-center-quick-pick {
178
display: flex;
179
justify-content: start;
180
overflow: hidden;
181
margin: auto;
182
max-width: 600px;
183
}
184
185
.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 {
186
font-size: 14px;
187
opacity: .8;
188
margin: auto 3px;
189
color: var(--vscode-commandCenter-foreground);
190
}
191
192
.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 {
193
color: var(--vscode-titleBar-inactiveForeground);
194
}
195
196
.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 {
197
overflow: hidden;
198
text-overflow: ellipsis;
199
}
200
201
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple {
202
justify-content: flex-start;
203
padding: 0 12px;
204
}
205
206
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center.multiple.active .action-label {
207
background-color: inherit;
208
}
209
210
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:only-child {
211
margin-left: 0; /* no margin if there is only the command center, without nav buttons */
212
}
213
214
.monaco-workbench .part.titlebar.inactive > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center {
215
color: var(--vscode-titleBar-inactiveForeground);
216
border-color: var(--vscode-commandCenter-inactiveBorder) !important;
217
}
218
219
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-center > .window-title > .command-center .action-item.command-center-center:HOVER {
220
color: var(--vscode-commandCenter-activeForeground);
221
background-color: var(--vscode-commandCenter-activeBackground);
222
border-color: var(--vscode-commandCenter-activeBorder);
223
}
224
225
/* Menubar */
226
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .menubar {
227
/* move menubar above drag region as negative z-index on drag region cause greyscale AA */
228
z-index: 2500;
229
min-width: 36px;
230
flex-wrap: nowrap;
231
order: 2;
232
}
233
234
.monaco-workbench.web .part.titlebar > .titlebar-container > .titlebar-left > .menubar {
235
margin-left: 4px;
236
}
237
238
.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .menubar .menubar-menu-button > .menubar-menu-items-holder.monaco-menu-container,
239
.monaco-workbench .part.titlebar > .titlebar-container.counter-zoom .monaco-toolbar .dropdown-action-container {
240
zoom: var(--zoom-factor); /* helps to position the menu properly when counter zooming */
241
}
242
243
/* Resizer */
244
.monaco-workbench.windows .part.titlebar > .titlebar-container > .resizer,
245
.monaco-workbench.linux .part.titlebar > .titlebar-container > .resizer {
246
-webkit-app-region: no-drag;
247
position: absolute;
248
top: 0;
249
width: 100%;
250
height: 4px;
251
}
252
253
.monaco-workbench.windows.fullscreen .part.titlebar > .titlebar-container > .resizer,
254
.monaco-workbench.linux.fullscreen .part.titlebar > .titlebar-container > .resizer {
255
display: none;
256
}
257
258
/* App Icon */
259
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {
260
width: 35px;
261
height: 100%;
262
position: relative;
263
z-index: 2500;
264
flex-shrink: 0;
265
order: 1;
266
}
267
268
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon:not(.codicon) {
269
background-image: url('../../../media/code-icon.svg');
270
background-repeat: no-repeat;
271
background-position: center center;
272
background-size: 16px;
273
}
274
275
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon.codicon {
276
line-height: 30px;
277
}
278
279
.monaco-workbench.fullscreen .part.titlebar > .titlebar-container > .titlebar-left > .window-appicon {
280
display: none;
281
}
282
283
/* Window Controls Container */
284
.monaco-workbench .part.titlebar .window-controls-container {
285
display: flex;
286
flex-grow: 0;
287
flex-shrink: 0;
288
text-align: center;
289
z-index: 3000;
290
-webkit-app-region: no-drag;
291
width: 0px;
292
height: 100%;
293
}
294
295
.monaco-workbench.fullscreen .part.titlebar .window-controls-container {
296
display: none;
297
background-color: transparent;
298
}
299
300
/* Window Controls Container Web: Apply WCO environment variables (https://developer.mozilla.org/en-US/docs/Web/CSS/env#titlebar-area-x) */
301
.monaco-workbench.web .part.titlebar .titlebar-right .window-controls-container {
302
width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));
303
height: env(titlebar-area-height, 35px);
304
}
305
306
.monaco-workbench.web .part.titlebar .titlebar-left .window-controls-container {
307
width: env(titlebar-area-x, 0px);
308
height: env(titlebar-area-height, 35px);
309
}
310
311
.monaco-workbench.web.mac .part.titlebar .titlebar-left .window-controls-container {
312
order: 0;
313
}
314
315
.monaco-workbench.web.mac .part.titlebar .titlebar-right .window-controls-container {
316
order: 1;
317
}
318
319
/* Window Controls Container Desktop: apply zoom friendly size */
320
.monaco-workbench:not(.web):not(.mac) .part.titlebar .window-controls-container {
321
width: calc(138px / var(--zoom-factor, 1));
322
}
323
324
.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container.counter-zoom .window-controls-container {
325
width: 138px;
326
}
327
328
.monaco-workbench.linux:not(.web) .part.titlebar .window-controls-container.wco-enabled {
329
width: calc(100vw - env(titlebar-area-width, 100vw) - env(titlebar-area-x, 0px));
330
}
331
332
.monaco-workbench:not(.web):not(.mac) .part.titlebar .titlebar-container:not(.counter-zoom) .window-controls-container * {
333
zoom: calc(1 / var(--zoom-factor, 1));
334
}
335
336
.monaco-workbench:not(.web).mac .part.titlebar .window-controls-container {
337
width: 70px;
338
}
339
340
/* Window Control Icons */
341
.monaco-workbench .part.titlebar .window-controls-container > .window-icon {
342
display: flex;
343
justify-content: center;
344
align-items: center;
345
height: 100%;
346
width: 46px;
347
font-size: 16px;
348
color: var(--vscode-titleBar-activeForeground);
349
}
350
351
.monaco-workbench .part.titlebar.inactive .window-controls-container > .window-icon {
352
color: var(--vscode-titleBar-inactiveForeground);
353
}
354
355
.monaco-workbench .part.titlebar .window-controls-container > .window-icon::before {
356
height: 16px;
357
line-height: 16px;
358
}
359
360
.monaco-workbench .part.titlebar .window-controls-container > .window-icon:hover {
361
background-color: rgba(255, 255, 255, 0.1);
362
}
363
364
.monaco-workbench .part.titlebar.light .window-controls-container > .window-icon:hover {
365
background-color: rgba(0, 0, 0, 0.1);
366
}
367
368
.monaco-workbench .part.titlebar .window-controls-container > .window-icon.window-close:hover {
369
background-color: rgba(232, 17, 35, 0.9);
370
}
371
372
.monaco-workbench .part.titlebar .window-controls-container .window-icon.window-close:hover {
373
color: white;
374
}
375
376
/* Action Tool Bar Controls */
377
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {
378
display: none;
379
padding-right: 4px;
380
flex-grow: 0;
381
flex-shrink: 0;
382
text-align: center;
383
position: relative;
384
z-index: 2500;
385
-webkit-app-region: no-drag;
386
height: 100%;
387
}
388
389
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {
390
margin-left: auto;
391
}
392
393
.monaco-workbench.mac:not(.web) .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container {
394
right: 8px;
395
}
396
397
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container:not(.has-no-actions) {
398
display: flex;
399
justify-content: center;
400
}
401
402
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .codicon {
403
color: inherit;
404
}
405
406
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item {
407
display: flex;
408
}
409
410
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge {
411
margin-left: 8px;
412
display: flex;
413
align-items: center;
414
}
415
416
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge {
417
margin-left: 0px;
418
}
419
420
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .badge .badge-content {
421
padding: 3px 5px;
422
border-radius: 11px;
423
font-size: 9px;
424
min-width: 11px;
425
height: 16px;
426
line-height: 11px;
427
font-weight: normal;
428
text-align: center;
429
display: inline-block;
430
box-sizing: border-box;
431
position: relative;
432
}
433
434
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact {
435
position: absolute;
436
top: 0;
437
bottom: 0;
438
margin: auto;
439
left: 0;
440
overflow: hidden;
441
width: 100%;
442
height: 100%;
443
z-index: 2;
444
}
445
446
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content::before {
447
mask-size: 12px;
448
-webkit-mask-size: 12px;
449
top: 2px;
450
}
451
452
.monaco-workbench .part.titlebar > .titlebar-container > .titlebar-right > .action-toolbar-container .monaco-action-bar .action-item.icon .badge.compact .badge-content {
453
position: absolute;
454
top: 10px;
455
right: 0px;
456
font-size: 9px;
457
font-weight: 600;
458
min-width: 12px;
459
height: 12px;
460
line-height: 12px;
461
padding: 0 2px;
462
border-radius: 16px;
463
text-align: center;
464
}
465
466