|
111 | 111 | }
|
112 | 112 |
|
113 | 113 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.has-icon.tab-actions-right,
|
114 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.has-icon.tab-actions-off:not(.sticky-compact) { |
| 114 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.has-icon.tab-actions-off:not(.sticky-compact), |
| 115 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.has-icon.tab-actions-right, |
| 116 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.has-icon.tab-actions-off:not(.sticky-compact) { |
115 | 117 | padding-left: 5px; /* reduce padding when we show icons and are in shrinking mode and tab actions is not left (unless sticky-compact) */
|
116 | 118 | }
|
117 | 119 |
|
|
121 | 123 | flex-shrink: 0;
|
122 | 124 | }
|
123 | 125 |
|
| 126 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed { |
| 127 | + min-width: var(--tab-sizing-current-width, 50px); |
| 128 | + max-width: var(--tab-sizing-current-width, var(--tab-sizing-fixed-max-width, 160px)); |
| 129 | + flex: 1 0 0; /* all tabs are evenly sized and grow */ |
| 130 | +} |
| 131 | + |
| 132 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.last-in-row { |
| 133 | + /* prevent last tab in a row from moving to next row when tab widths are |
| 134 | + * fixed in case rounding errors make the fixed tabs grow over the size |
| 135 | + * of the tabs container */ |
| 136 | + min-width: calc(var(--tab-sizing-current-width, 50px) - 1px); |
| 137 | +} |
| 138 | + |
124 | 139 | .monaco-workbench .part.editor > .content .editor-group-container > .title > .tabs-and-actions-container.wrapping .tabs-container > .tab.sizing-fit.last-in-row:not(:last-child) {
|
125 | 140 | flex-grow: 1; /* grow the last tab in a row for a more homogeneous look except for last row (#113801) */
|
126 | 141 | }
|
|
134 | 149 |
|
135 | 150 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit.sticky-compact,
|
136 | 151 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-compact,
|
| 152 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.sticky-compact, |
137 | 153 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit.sticky-shrink,
|
138 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-shrink { |
| 154 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-shrink, |
| 155 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.sticky-shrink { |
139 | 156 |
|
140 |
| - /** Sticky compact/shrink tabs do not scroll in case of overflow and are always above unsticky tabs which scroll under */ |
| 157 | + /** Sticky compact/shrink/fixed tabs do not scroll in case of overflow and are always above unsticky tabs which scroll under */ |
141 | 158 | position: sticky;
|
142 | 159 | z-index: 8;
|
143 | 160 |
|
144 |
| - /** Sticky compact/shrink tabs are even and never grow */ |
| 161 | + /** Sticky compact/shrink/fixed tabs are even and never grow */ |
145 | 162 | flex-basis: 0;
|
146 | 163 | flex-grow: 0;
|
147 | 164 | }
|
148 | 165 |
|
149 | 166 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit.sticky-compact,
|
150 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-compact { |
| 167 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-compact, |
| 168 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.sticky-compact { |
151 | 169 |
|
152 | 170 | /** Sticky compact tabs have a fixed width of 38px */
|
153 | 171 | width: 38px;
|
|
156 | 174 | }
|
157 | 175 |
|
158 | 176 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fit.sticky-shrink,
|
159 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-shrink { |
| 177 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.sticky-shrink, |
| 178 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.sticky-shrink { |
160 | 179 |
|
161 | 180 | /** Sticky shrink tabs have a fixed width of 80px */
|
162 | 181 | width: 80px;
|
|
166 | 185 |
|
167 | 186 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-fit.sticky-compact,
|
168 | 187 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-shrink.sticky-compact,
|
| 188 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-fixed.sticky-compact, |
169 | 189 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-fit.sticky-shrink,
|
170 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-shrink.sticky-shrink { |
171 |
| - position: static; /** disable sticky positions for sticky compact/shrink tabs if the available space is too little */ |
| 190 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-shrink.sticky-shrink, |
| 191 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container.disable-sticky-tabs > .tab.sizing-fixed.sticky-shrink { |
| 192 | + position: static; /** disable sticky positions for sticky compact/shrink/fixed tabs if the available space is too little */ |
172 | 193 | }
|
173 | 194 |
|
174 | 195 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-left::after,
|
175 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-off::after { |
| 196 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-off::after, |
| 197 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.tab-actions-left::after, |
| 198 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.tab-actions-off::after { |
176 | 199 | content: '';
|
177 | 200 | display: flex;
|
178 | 201 | flex: 0;
|
179 | 202 | width: 5px; /* reserve space to hide tab fade when close button is left or off (fixes https://github.com/microsoft/vscode/issues/45728) */
|
180 | 203 | }
|
181 | 204 |
|
182 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-left { |
| 205 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-left, |
| 206 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.tab-actions-left { |
183 | 207 | min-width: 80px; /* make more room for close button when it shows to the left */
|
184 |
| - padding-right: 5px; /* we need less room when sizing is shrink */ |
| 208 | + padding-right: 5px; /* we need less room when sizing is shrink/fixed */ |
185 | 209 | }
|
186 | 210 |
|
187 | 211 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dragged {
|
|
244 | 268 | line-height: 35px; /* aligns icon and label vertically centered in the tab */
|
245 | 269 | }
|
246 | 270 |
|
247 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink .tab-label { |
| 271 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink .tab-label, |
| 272 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed .tab-label { |
248 | 273 | position: relative;
|
249 | 274 | }
|
250 | 275 |
|
251 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .tab-label > .monaco-icon-label-container::after { |
| 276 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .tab-label > .monaco-icon-label-container::after, |
| 277 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed > .tab-label > .monaco-icon-label-container::after { |
252 | 278 | content: ''; /* enables a linear gradient to overlay the end of the label when tabs overflow */
|
253 | 279 | position: absolute;
|
254 | 280 | right: 0;
|
|
261 | 287 | height: calc(100% - 2px);
|
262 | 288 | }
|
263 | 289 |
|
264 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink:focus > .tab-label > .monaco-icon-label-container::after { |
| 290 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink:focus > .tab-label > .monaco-icon-label-container::after, |
| 291 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed:focus > .tab-label > .monaco-icon-label-container::after { |
265 | 292 | opacity: 0; /* when tab has the focus this shade breaks the tab border (fixes https://github.com/microsoft/vscode/issues/57819) */
|
266 | 293 | }
|
267 | 294 |
|
268 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .tab-label.tab-label-has-badge::after { |
269 |
| - padding-right: 5px; /* with tab sizing shrink and badges, we want a right-padding because the close button is hidden */ |
| 295 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .tab-label.tab-label-has-badge::after, |
| 296 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed > .tab-label.tab-label-has-badge::after { |
| 297 | + padding-right: 5px; /* with tab sizing shrink/fixed and badges, we want a right-padding because the close button is hidden */ |
270 | 298 | }
|
271 | 299 |
|
272 | 300 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sticky-compact:not(.has-icon) .monaco-icon-label {
|
|
278 | 306 | overflow: visible; /* fixes https://github.com/microsoft/vscode/issues/20182 */
|
279 | 307 | }
|
280 | 308 |
|
281 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container { |
| 309 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container, |
| 310 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed > .monaco-icon-label > .monaco-icon-label-container { |
282 | 311 | text-overflow: clip;
|
283 | 312 | flex: none;
|
284 | 313 | }
|
285 | 314 |
|
286 | 315 | .monaco-workbench.hc-black .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container,
|
287 |
| -.monaco-workbench.hc-light .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container { |
| 316 | +.monaco-workbench.hc-light .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink > .monaco-icon-label > .monaco-icon-label-container, |
| 317 | +.monaco-workbench.hc-black .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed > .monaco-icon-label > .monaco-icon-label-container, |
| 318 | +.monaco-workbench.hc-light .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed > .monaco-icon-label > .monaco-icon-label-container { |
288 | 319 | text-overflow: ellipsis;
|
289 | 320 | }
|
290 | 321 |
|
|
300 | 331 | width: 28px;
|
301 | 332 | }
|
302 | 333 |
|
303 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-shrink > .tab-actions { |
| 334 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-shrink > .tab-actions, |
| 335 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-fixed > .tab-actions { |
304 | 336 | flex: 0;
|
305 |
| - overflow: hidden; /* let the tab actions be pushed out of view when sizing is set to shrink to make more room */ |
| 337 | + overflow: hidden; /* let the tab actions be pushed out of view when sizing is set to shrink/fixed to make more room */ |
306 | 338 | }
|
307 | 339 |
|
308 | 340 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dirty.tab-actions-right.sizing-shrink > .tab-actions,
|
309 | 341 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sticky.tab-actions-right.sizing-shrink > .tab-actions,
|
310 | 342 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-shrink:hover > .tab-actions,
|
311 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-shrink > .tab-actions:focus-within { |
| 343 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-shrink > .tab-actions:focus-within, |
| 344 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.dirty.tab-actions-right.sizing-fixed > .tab-actions, |
| 345 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sticky.tab-actions-right.sizing-fixed > .tab-actions, |
| 346 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-fixed:hover > .tab-actions, |
| 347 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-right.sizing-fixed > .tab-actions:focus-within { |
312 | 348 | overflow: visible; /* ...but still show the tab actions on hover, focus and when dirty or sticky */
|
313 | 349 | }
|
314 | 350 |
|
|
366 | 402 | padding-right: 10px; /* give a little bit more room if tab actions is off */
|
367 | 403 | }
|
368 | 404 |
|
369 |
| -.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-off:not(.sticky-compact) { |
370 |
| - padding-right: 5px; /* we need less room when sizing is shrink (unless tab is sticky-compact) */ |
| 405 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-shrink.tab-actions-off:not(.sticky-compact), |
| 406 | +.monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.sizing-fixed.tab-actions-off:not(.sticky-compact) { |
| 407 | + padding-right: 5px; /* we need less room when sizing is shrink/fixed (unless tab is sticky-compact) */ |
371 | 408 | }
|
372 | 409 |
|
373 | 410 | .monaco-workbench .part.editor > .content .editor-group-container > .title .tabs-container > .tab.tab-actions-off.dirty-border-top > .tab-actions {
|
|
0 commit comments