Last active
April 25, 2025 02:55
-
-
Save hypackel/fa95244f9dd57bf73a146b286042503f to your computer and use it in GitHub Desktop.
WIP Jetbrains/Trae Vscode theme
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
:root { | |
--border-radius: 7px; | |
--spacing: 3px; | |
--spacing-color: #000000; | |
--immersive: 0; | |
/* macOS: add extra top margin for sidebars below the system menu bar */ | |
--mac-titlebar-offset: 10px; | |
} | |
.monaco-workbench { | |
/* font-family: "JetBrains Mono" !important; */ | |
/* font-weight: 500 !important; */ | |
background-color: var(--spacing-color) !important; | |
} | |
/* #region-------rounded corners and spacing-------*/ | |
.part.activitybar { | |
&.bordered.left { | |
border-top-right-radius: var(--border-radius) !important; | |
border-bottom-right-radius: var(--border-radius) !important; | |
border: 0px solid transparent !important; | |
/* margin-left: calc(var(--spacing) * 2) !important; */ | |
} | |
&.bordered.right { | |
border-top-left-radius: var(--border-radius) !important; | |
border-bottom-left-radius: var(--border-radius) !important; | |
border: 0px solid transparent !important; | |
/* margin-right: calc(var(--spacing) * 2) !important; */ | |
} | |
} | |
.part.sidebar, | |
.part.auxiliarybar { | |
border-radius: var(--border-radius) !important; | |
display: flex; | |
flex-direction: column; | |
padding: 5px 5px !important; | |
&.left { | |
/* On macOS, add extra top and bottom margin for the menu bar and dock */ | |
margin-top: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-bottom: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-right: calc(var(--spacing) * 1) !important; | |
margin-left: calc(var(--spacing) * 2) !important; | |
width: calc(100% - var(--spacing) * 3) !important; | |
/* Set height to avoid stretching to window edge and ensure visible rounding */ | |
height: calc(100% - 2 * var(--mac-titlebar-offset)) !important; | |
border-bottom-left-radius: var(--border-radius) !important; | |
border-bottom-right-radius: var(--border-radius) !important; | |
} | |
&.right { | |
/* On macOS, add extra top and bottom margin for the menu bar and dock */ | |
margin-top: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-bottom: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-right: calc(var(--spacing) * 2) !important; | |
margin-left: calc(var(--spacing) * 1) !important; | |
width: calc(100% - var(--spacing) * 3) !important; | |
/* Set height to avoid stretching to window edge and ensure visible rounding */ | |
height: calc(100% - 2 * var(--mac-titlebar-offset)) !important; | |
border-bottom-left-radius: var(--border-radius) !important; | |
border-bottom-right-radius: var(--border-radius) !important; | |
} | |
/* -----some adjustments----- */ | |
/* Apply max-width: 100% to all sidebar content except the Cursor AI pane and its children */ | |
/* *:not(.aislash-editor-input):not(.aislash-editor-input *):not(.aislash-editor-placeholder) { | |
max-width: 100%; | |
} */ | |
.search-view .search-widgets-container, | |
.search-view .search-widget .replace-container { | |
width: calc(100% - var(--spacing) * 3 - 10px) !important; | |
} | |
.monaco-button-dropdown .monaco-button-dropdown-separator { | |
display: none !important; | |
} | |
} | |
.part.editor { | |
/* On macOS, add extra top and bottom margin for the menu bar and dock */ | |
margin-top: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-bottom: calc(var(--mac-titlebar-offset) + var(--spacing) * 0) !important; | |
margin-right: calc(var(--spacing) * 1) !important; | |
margin-left: calc(var(--spacing) * 1) !important; | |
width: calc(100% - var(--spacing) * 2) !important; | |
height: calc(100% - 2 * var(--mac-titlebar-offset)) !important; | |
border-radius: var(--border-radius) !important; | |
/* -----some adjustments----- */ | |
>.content .editor-group-container>.title { | |
width: calc(100% - var(--spacing) * 2) !important; | |
.editor-actions { | |
position: unset !important; | |
top: 0 !important; | |
} | |
} | |
.scrollbar.vertical { | |
margin-right: var(--spacing); | |
} | |
} | |
.part.panel { | |
/* Lower the height of the Cursor AI pane and all panels to match the sidebars and editor */ | |
height: calc(100% - 2 * var(--mac-titlebar-offset)) !important; | |
border-radius: var(--border-radius) !important; | |
display: flex; | |
flex-direction: column; | |
padding: 0px 5px !important; | |
&.bottom { | |
margin-top: calc(var(--spacing) * 0.5) !important; | |
margin-bottom: 20px !important; | |
margin-right: calc(var(--spacing) * 1) !important; | |
margin-left: calc(var(--spacing) * 1) !important; | |
width: calc(100% - var(--spacing) * 2) !important; | |
height: calc(100% - var(--spacing) * 2 - 10px) !important; | |
} | |
&.top { | |
margin-top: calc(var(--spacing) * 0) !important; | |
margin-bottom: calc(var(--spacing) * 2) !important; | |
margin-right: calc(var(--spacing) * 1) !important; | |
margin-left: calc(var(--spacing) * 1) !important; | |
width: calc(100% - var(--spacing) * 2) !important; | |
height: calc(100% - var(--spacing) * 2) !important; | |
} | |
/* -----some adjustments----- */ | |
.monaco-list-row { | |
max-width: 97% !important; | |
} | |
.integrated-terminal .tabs-container { | |
width: calc(100% - var(--spacing) * 2 - 10px) !important; | |
} | |
.repl:has(div.repl-tree.monaco-mouse-cursor-text.word-wrap) { | |
display: flex; | |
flex-direction: column-reverse; | |
.repl-input-wrapper { | |
position: absolute; | |
} | |
} | |
} | |
/* #endregion-------rounded corners and spacing-------*/ | |
/* #region-------rounded corners for lists and inputs-------*/ | |
.monaco-list-row, | |
.monaco-list-row.selected, | |
.monaco-list-row.focused, | |
.monaco-list.mouse-support, | |
.part.sidebar .pane-header, | |
.part.auxiliarybar .pane-header, | |
.monaco-menu .action-item a.focused, | |
.monaco-menu .action-item a:hover, | |
.monaco-button, | |
.notifications-center, | |
.notification-toast, | |
.notification-fade-in-done, | |
.monaco-inputbox, | |
.monaco-hover, | |
.suggest-details, | |
.suggest-widget, | |
.monaco-editor .find-widget, | |
.suggest-input-container, | |
.editor-widget.suggest-widget.visible, | |
.suggest-details, | |
.notificatin .editor-widget.parameter-hints-widget.visible { | |
border-radius: 6px !important; | |
/* margin-right: 4px !important; */ | |
/* max-width: calc(100% - 4px) !important; */ | |
} | |
/* #endregion-------rounded corners for lists and inputs-------*/ | |
/* #region-------active tab highlight------*/ | |
.part.editor .tabs-container { | |
padding: 7px 0px; | |
>* { | |
border-radius: 7px !important; | |
border: 1px solid transparent !important; | |
margin: 0px 7px !important; | |
} | |
.tab.selected { | |
border-radius: 7px !important; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
} | |
.tab-border-top-container, | |
.tab-border-bottom-container { | |
display: none !important; | |
} | |
} | |
/* .part.activitybar ul[role=tablist] .action-item:hover .action-label::after, */ | |
.part.activitybar ul[role=tablist] .action-item.checked .action-label::after { | |
width: 80%; | |
height: 80%; | |
position: absolute; | |
border-radius: 6px; | |
content: ''; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
} | |
.part.auxiliarybar ul[role=tablist] .action-item, | |
.part.sidebar ul[role=tablist] .action-item { | |
/* &.action-item:hover .action-label::after, */ | |
&.action-item.checked .action-label::after { | |
content: ''; | |
width: 110%; | |
height: 75%; | |
position: absolute; | |
left: 1px !important; | |
border-radius: 6px; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
} | |
.active-item-indicator { | |
display: none; | |
} | |
.action-label.codicon { | |
font-size: 20px; | |
} | |
.action-label:not(.codicon) { | |
font-size: 13px; | |
} | |
} | |
.part.sidebar .pane-header.expanded, | |
.part.auxiliarybar .pane-header.expanded { | |
border-radius: 6px !important; | |
border: 2px solid var(--vscode-sideBar-background) !important; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
} | |
.part.panel .action-item.checked { | |
height: 60%; | |
border-radius: 7px !important; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
.active-item-indicator { | |
display: none !important; | |
} | |
} | |
/* #endregion-------tabs------*/ | |
/* #region-------scrollbar sliders and minimap-------*/ | |
.scrollbar.vertical .slider { | |
width: 4px !important; | |
border-radius: 2px !important; | |
cursor: grab !important; | |
&:hover { | |
width: 6px !important; | |
border-radius: 3px !important; | |
} | |
&:active { | |
cursor: grabbing !important; | |
} | |
} | |
.scrollbar.horizontal .slider { | |
height: 4px !important; | |
border-radius: 2px !important; | |
cursor: grab !important; | |
&:hover { | |
height: 6px !important; | |
border-radius: 3px !important; | |
} | |
&:active { | |
cursor: grabbing !important; | |
} | |
} | |
.minimap-slider { | |
border-radius: 4px !important; | |
cursor: grab !important; | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
&:active { | |
cursor: grabbing !important; | |
} | |
} | |
/* #endregion-------scrollbar sliders-------*/ | |
/* #region-------miscellaneous tweaks-------*/ | |
/* center activity bar top */ | |
.part.sidebar .composite-bar-container, | |
.part.auxiliarybar .composite-bar-container { | |
.composite-bar { | |
width: 100%; | |
} | |
.actions-container { | |
justify-content: space-evenly !important; | |
} | |
} | |
/* gutter current line highlight */ | |
.monaco-editor .margin-view-overlays .current-line-exact-margin { | |
box-shadow: rgba(0, 0, 0, 0.20) 0px 20px 25px -5px, | |
rgba(0, 0, 0, 0.25) 0px 10px 10px -5px !important; | |
border-radius: 7px !important; | |
margin-left: 7px !important; | |
/* max-width: 77% !important; */ | |
/* max-height: 95% !important; */ | |
} | |
/* Sidebar bigger title */ | |
.monaco-workbench .part.sidebar>.title>.title-label h2, | |
.monaco-workbench .part.auxiliarybar>.title>.title-label h2 { | |
color: var(--vscode-sideBarTitle-foreground) !important; | |
text-transform: none !important; | |
font-size: 15px; | |
font-weight: 800; | |
} | |
/* Command palette bigger text input*/ | |
.quick-input-filter .monaco-inputbox { | |
border-radius: 8px !important; | |
padding: 4px !important; | |
background-color: var(--vscode-editor-background) !important; | |
font-size: 14px !important; | |
margin-bottom: 16px !important; | |
} | |
/* tweak editor find widget */ | |
.monaco-editor .find-widget { | |
top: 10px !important; | |
border-radius: 6px !important; | |
border: 1px solid var(--vscode-editorWidget-border) !important; | |
} | |
/* Remove tips from home page. */ | |
.editor-group-watermark .shortcuts { | |
display: none !important; | |
} | |
/* Remove vscode icon in the titlebar */ | |
.part.titlebar .window-appicon { | |
display: none; | |
} | |
/* accent colored icons in the titlebar */ | |
.part.titlebar .action-label.codicon:hover { | |
/* color: var(--accent-color) !important; */ | |
} | |
/* colorpicker */ | |
.colorpicker-color-decoration { | |
border: none !important; | |
border-radius: 30% !important; | |
} | |
/* colored icons in statusbar */ | |
.part.statusbar { | |
.codicon-error { | |
color: #ff3377 !important; | |
} | |
.codicon-warning { | |
color: #cccc00 !important; | |
} | |
.codicon-git-branch { | |
color: #9988ff !important | |
} | |
.codicon-sync { | |
color: #11cc99 !important; | |
} | |
.codicon-bell, | |
.codicon-bell-dot { | |
color: #0e80c0 !important; | |
} | |
} | |
/* immersive: hide titlebar and statusbar content */ | |
.part.titlebar .titlebar-center, | |
.part.titlebar .titlebar-right, | |
.part.titlebar .menubar, | |
.part.statusbar .items-container { | |
opacity: calc(1 - var(--immersive)) !important; | |
} | |
/* #endregion-------little tweaks-------*/ | |
/* #region-------animations-------*/ | |
/* settings icon animation in the activity bar */ | |
/* .codicon-settings-view-bar-icon { | |
transition: transform 250ms cubic-bezier(1, 1, 1, 1); | |
&.codicon-settings-view-bar-icon:hover { | |
transform: rotate(90deg); | |
background-color: transparent !important; | |
} | |
} */ | |
/* gutter active line number animation */ | |
/* .line-numbers.active-line-number { | |
transform: scale(1.25) translateX(-3px); | |
animation: .2s ease-out scaleSize; | |
} | |
@keyframes scaleSize { | |
0% { | |
transform: scale(.75) | |
} | |
100% { | |
transform: scale(1.35) translateX(-3px); | |
} | |
} */ | |
/* #endregion-------animations-------*/ | |
/* Fleet-like right panel content constraints */ | |
.part.sidebar.right .split-view-view, | |
.part.auxiliarybar.right .split-view-view { | |
max-height: 100%; | |
overflow: auto; | |
box-sizing: border-box; | |
margin-top: 10px; /* adjust as needed for Fleet-like spacing */ | |
} | |
.part.sidebar.right .pane-body, | |
.part.auxiliarybar.right .pane-body { | |
max-height: calc(100% - 20px); /* account for margins/padding */ | |
overflow-y: auto; | |
} | |
/* Ensure Cursor AI input box fills full width in right panel */ | |
.part.sidebar.right input, | |
.part.auxiliarybar.right input, | |
.part.sidebar.right textarea, | |
.part.auxiliarybar.right textarea { | |
width: 100% !important; | |
box-sizing: border-box !important; | |
flex: 1 1 auto !important; | |
min-width: 0 !important; | |
} | |
.aislash-editor-input, .aislash-editor-placeholder { | |
/* min-width: 100% !important; */ | |
max-width: none !important; | |
} | |
/* Fix for AI cursor input width and placeholder overlay */ | |
.aislash-editor-input-grid, /* use the actual class if different */ | |
.aislash-editor-input-parent { | |
width: 100% !important; | |
position: relative !important; | |
display: grid !important; | |
grid-template-columns: 1fr !important; | |
} | |
.aislash-editor-placeholder { | |
position: absolute !important; | |
left: 0 !important; | |
top: 0 !important; | |
width: 100% !important; | |
pointer-events: none !important; | |
z-index: 1; | |
} | |
.aislash-editor-input { | |
position: relative !important; | |
z-index: 2; | |
} | |
.part.sidebar.left * { | |
max-width: 100% !important; | |
} | |
/* .full-input-box, .composer-bar, .pane-body, .conversations, .part.sidebar.right, .split-view-container { | |
max-width: 100% !important; | |
} */ | |
.composer-bar{ | |
margin-left: -10.5px; | |
width: calc(100% - 3px) !important; | |
} | |
*:not(.full-input-box, *):not(.full-input-box) { | |
max-width: 100% !important; | |
} | |
/* Ensure caret is visible in left sidebar inputs */ | |
.part.sidebar.left input, | |
.part.sidebar.left textarea { | |
caret-color: #222 !important; | |
} | |
/* --- Fix for invisible input cursor in Monaco SCM input --- */ | |
.monaco-editor .cursor { | |
visibility: visible !important; | |
display: block !important; | |
} | |
.monaco-editor .editor-input, .monaco-editor input, .monaco-editor textarea { | |
caret-color: #00ff00 !important; /* Adjust to a color you prefer */ | |
} | |
.monaco-editor .git-message-input .cursor { | |
visibility: visible !important; | |
display: block !important; | |
} | |
/* Global fallback for ALL editable text inputs */ | |
textarea, | |
input, | |
.monaco-editor textarea { | |
caret-color: #ffffff !important; | |
color: #ffffff !important; /* adjust if text is also invisible */ | |
} | |
/* Specifically for SCM commit box */ | |
.monaco-workbench .scm-view .monaco-editor textarea { | |
caret-color: #ffffff !important; | |
} | |
/* --------------------------------- */ | |
/* --------------------------------- */ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment