Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/browser/media/style.css
3296 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
/* Animations */
7
8
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
9
10
/* Font Families (with CJK support) */
11
12
.monaco-workbench.mac { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }
13
.monaco-workbench.mac:lang(zh-Hans) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }
14
.monaco-workbench.mac:lang(zh-Hant) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }
15
.monaco-workbench.mac:lang(ja) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }
16
.monaco-workbench.mac:lang(ko) { font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Nanum Gothic", "AppleGothic", sans-serif; }
17
18
.monaco-workbench.windows { font-family: "Segoe WPC", "Segoe UI", sans-serif; }
19
.monaco-workbench.windows:lang(zh-Hans) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }
20
.monaco-workbench.windows:lang(zh-Hant) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }
21
.monaco-workbench.windows:lang(ja) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }
22
.monaco-workbench.windows:lang(ko) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }
23
24
/* Linux: add `system-ui` as first font and not `Ubuntu` to allow other distribution pick their standard OS font */
25
.monaco-workbench.linux { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }
26
.monaco-workbench.linux:lang(zh-Hans) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }
27
.monaco-workbench.linux:lang(zh-Hant) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }
28
.monaco-workbench.linux:lang(ja) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }
29
.monaco-workbench.linux:lang(ko) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }
30
31
.monaco-workbench.mac { --monaco-monospace-font: "SF Mono", Monaco, Menlo, Courier, monospace; }
32
.monaco-workbench.windows { --monaco-monospace-font: Consolas, "Courier New", monospace; }
33
.monaco-workbench.linux { --monaco-monospace-font: "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", monospace; }
34
35
/* Global Styles */
36
37
body {
38
height: 100%;
39
width: 100%;
40
margin: 0;
41
padding: 0;
42
overflow: hidden;
43
font-size: 11px;
44
user-select: none;
45
-webkit-user-select: none;
46
}
47
48
.monaco-workbench {
49
font-size: 13px;
50
line-height: 1.4em;
51
position: relative;
52
inset: 0;
53
z-index: 1;
54
overflow: hidden;
55
color: var(--vscode-foreground);
56
}
57
58
.monaco-workbench.web {
59
touch-action: none; /* Disable browser handling of all panning and zooming gestures. Removes 300ms touch delay. */
60
overscroll-behavior: none; /* Prevent bounce effect */
61
}
62
63
.monaco-workbench.border:not(.fullscreen) {
64
box-sizing: border-box;
65
border: 1px solid var(--window-border-color);
66
}
67
68
.monaco-workbench.border.mac {
69
border-radius: 5px;
70
}
71
72
.monaco-workbench.border.mac.macos-bigsur-or-newer {
73
border-radius: 10px; /* macOS Big Sur increased rounded corners size */
74
}
75
76
.monaco-workbench img {
77
border: 0;
78
}
79
80
.monaco-workbench label {
81
cursor: pointer;
82
}
83
84
.monaco-workbench a {
85
text-decoration: none;
86
}
87
88
89
.monaco-workbench p > a {
90
text-decoration: var(--text-link-decoration);
91
}
92
93
.monaco-workbench.underline-links {
94
--text-link-decoration: underline;
95
}
96
97
.monaco-workbench.hc-black p > a,
98
.monaco-workbench.hc-light p > a {
99
text-decoration: underline !important;
100
}
101
102
.monaco-workbench a:active {
103
color: inherit;
104
background-color: inherit;
105
}
106
107
.monaco-workbench a.plain {
108
color: inherit;
109
text-decoration: none;
110
}
111
112
.monaco-workbench a.plain:hover,
113
.monaco-workbench a.plain.hover {
114
color: inherit;
115
text-decoration: none;
116
}
117
118
.monaco-workbench input {
119
color: inherit;
120
font-family: inherit;
121
font-size: 100%;
122
}
123
124
.monaco-workbench table {
125
/*
126
* Somehow this is required when tables show in floating windows
127
* to override the user-agent style which sets a specific color
128
* and font-size
129
*/
130
color: inherit;
131
font-size: inherit;
132
}
133
134
.monaco-workbench input::placeholder { color: var(--vscode-input-placeholderForeground); }
135
.monaco-workbench input::-webkit-input-placeholder { color: var(--vscode-input-placeholderForeground); }
136
.monaco-workbench input::-moz-placeholder { color: var(--vscode-input-placeholderForeground); }
137
138
.monaco-workbench textarea::placeholder { color: var(--vscode-input-placeholderForeground); }
139
.monaco-workbench textarea::-webkit-input-placeholder { color: var(--vscode-input-placeholderForeground); }
140
.monaco-workbench textarea::-moz-placeholder { color: var(--vscode-input-placeholderForeground); }
141
142
.monaco-workbench .pointer {
143
cursor: pointer;
144
}
145
146
.monaco-workbench.mac.monaco-font-aliasing-antialiased {
147
-webkit-font-smoothing: antialiased;
148
-moz-osx-font-smoothing: grayscale;
149
}
150
151
.monaco-workbench.mac.monaco-font-aliasing-none {
152
-webkit-font-smoothing: none;
153
-moz-osx-font-smoothing: unset;
154
}
155
156
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
157
.monaco-workbench.mac.monaco-font-aliasing-auto {
158
-webkit-font-smoothing: antialiased;
159
-moz-osx-font-smoothing: grayscale;
160
}
161
}
162
163
.monaco-workbench .context-view {
164
-webkit-app-region: no-drag;
165
}
166
167
.monaco-workbench .codicon {
168
color: var(--vscode-icon-foreground);
169
}
170
171
.monaco-workbench .codicon[class*='codicon-'] {
172
font-size: 16px; /* sets font-size for codicons in workbench (https://github.com/microsoft/vscode/issues/98495) */
173
}
174
175
.monaco-workbench .predefined-file-icon[class*='codicon-']::before {
176
width: 16px;
177
padding-left: 3px; /* width (16px) - font-size (13px) = padding-left (3px) */
178
padding-right: 3px;
179
}
180
181
.predefined-file-icon::before { /* do add additional specificity to this selector, so it can be overridden by product themes */
182
font-family: 'codicon';
183
}
184
185
.monaco-workbench:not(.file-icons-enabled) .predefined-file-icon[class*='codicon-']::before {
186
content: unset !important;
187
}
188
189
.monaco-workbench.modal-dialog-visible .monaco-progress-container.infinite .progress-bit {
190
display: none; /* stop progress animations when dialogs are visible (https://github.com/microsoft/vscode/issues/138396) */
191
}
192
193
/* Custom Dropdown (select) Arrows */
194
195
.monaco-workbench select {
196
font-family: inherit;
197
appearance: none;
198
-webkit-appearance: none;
199
-moz-appearance: none;
200
/* Hides inner border from FF */
201
border: 1px solid;
202
}
203
204
.monaco-workbench .select-container {
205
position: relative;
206
}
207
208
.monaco-workbench .select-container:after {
209
content: var(--vscode-icon-chevron-down-content);
210
font-family: var(--vscode-icon-chevron-down-font-family);
211
font-size: 16px;
212
width: 16px;
213
height: 16px;
214
line-height: 16px;
215
position: absolute;
216
top: 0;
217
bottom: 0;
218
right: 6px;
219
margin: auto;
220
pointer-events: none;
221
}
222
223
/* Keyboard Focus Indication Styles */
224
225
.monaco-workbench [tabindex="0"]:focus,
226
.monaco-workbench [tabindex="-1"]:focus,
227
.monaco-workbench .synthetic-focus,
228
.monaco-workbench select:focus,
229
.monaco-workbench input[type="button"]:focus,
230
.monaco-workbench input[type="text"]:focus,
231
.monaco-workbench button:focus,
232
.monaco-workbench textarea:focus,
233
.monaco-workbench input[type="search"]:focus,
234
.monaco-workbench input[type="checkbox"]:focus {
235
outline-width: 1px;
236
outline-style: solid;
237
outline-offset: -1px;
238
outline-color: var(--vscode-focusBorder);
239
opacity: 1;
240
}
241
242
.monaco-workbench.hc-black .synthetic-focus input,
243
.monaco-workbench.hc-light .synthetic-focus input {
244
background: transparent; /* Search input focus fix when in high contrast */
245
}
246
247
.monaco-workbench input[type="checkbox"]:focus {
248
outline-offset: 2px;
249
}
250
251
.monaco-workbench [tabindex="0"]:active,
252
.monaco-workbench [tabindex="-1"]:active,
253
.monaco-workbench select:active,
254
.monaco-workbench input[type="button"]:active,
255
.monaco-workbench input[type="checkbox"]:active {
256
outline: 0 !important; /* fixes some flashing outlines from showing up when clicking */
257
}
258
259
.monaco-workbench.mac select:focus {
260
border-color: transparent; /* outline is a square, but border has a radius, so we avoid this glitch when focused (https://github.com/microsoft/vscode/issues/26045) */
261
}
262
263
.monaco-workbench .monaco-list:not(.element-focused):focus:before {
264
position: absolute;
265
top: 0;
266
left: 0;
267
width: 100%;
268
height: 100%;
269
z-index: 15; /* make sure we are on top of the tree sticky scroll widget */
270
content: "";
271
pointer-events: none; /* enable click through */
272
outline: 1px solid; /* we still need to handle the empty tree or no focus item case */
273
outline-width: 1px;
274
outline-style: solid;
275
outline-offset: -1px;
276
outline-color: var(--vscode-focusBorder);
277
}
278
279
.monaco-workbench .monaco-list .monaco-list-row .monaco-highlighted-label .highlight {
280
color: var(--vscode-list-highlightForeground);
281
}
282
283
.monaco-workbench .monaco-list .monaco-list-row.focused .monaco-highlighted-label .highlight {
284
color: var(--vscode-list-focusHighlightForeground);
285
}
286
287
.monaco-workbench .synthetic-focus :focus {
288
outline: 0 !important; /* elements within widgets that draw synthetic-focus should never show focus */
289
}
290
291
.monaco-workbench .monaco-inputbox.info.synthetic-focus,
292
.monaco-workbench .monaco-inputbox.warning.synthetic-focus,
293
.monaco-workbench .monaco-inputbox.error.synthetic-focus,
294
.monaco-workbench .monaco-inputbox.info input[type="text"]:focus,
295
.monaco-workbench .monaco-inputbox.warning input[type="text"]:focus,
296
.monaco-workbench .monaco-inputbox.error input[type="text"]:focus {
297
outline: 0 !important; /* outline is not going well with decoration */
298
}
299
300
.monaco-workbench .monaco-list:focus {
301
outline: 0 !important; /* tree indicates focus not via outline but through the focused item */
302
}
303
304
.monaco-workbench a.monaco-link:hover {
305
text-decoration: underline; /* render underline on hover for accessibility requirements */
306
}
307
308
.monaco-workbench .monaco-action-bar:not(.vertical) .action-label:not(.disabled):hover,
309
.monaco-workbench .monaco-action-bar:not(.vertical) .monaco-dropdown-with-primary:not(.disabled):hover {
310
background-color: var(--vscode-toolbar-hoverBackground);
311
}
312
313
.monaco-workbench .monaco-action-bar:not(.vertical) .action-item.active .action-label:not(.disabled),
314
.monaco-workbench .monaco-action-bar:not(.vertical) .monaco-dropdown.active .action-label:not(.disabled) {
315
background-color: var(--vscode-toolbar-activeBackground);
316
}
317
318
.monaco-workbench .monaco-action-bar:not(.vertical) .action-item .action-label:hover:not(.disabled) {
319
outline: 1px dashed var(--vscode-toolbar-hoverOutline);
320
outline-offset: -1px;
321
}
322
323