Skip to content

Instantly share code, notes, and snippets.

@hypackel
Last active April 25, 2025 02:55
Show Gist options
  • Save hypackel/fa95244f9dd57bf73a146b286042503f to your computer and use it in GitHub Desktop.
Save hypackel/fa95244f9dd57bf73a146b286042503f to your computer and use it in GitHub Desktop.
WIP Jetbrains/Trae Vscode theme
: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