Файли
openidea/src/features/terminal/Terminal.module.css
T
l0ng-ai c77d1a6de7 fix(terminal): Keep the cursor to the font height instead of the whole line
With a line height above 1, xterm's DOM renderer stretched the cursor cell
over the full row. Size it to the font's own height and centre it with the glyphs.
2026-10-28 11:33:16 +08:00

127 рядки
2.2 KiB
CSS

.root {
flex: 1;
display: flex;
flex-direction: column;
min-height: 0;
min-width: 0;
background: var(--bg-island, var(--bg-app));
}
.tabs {
min-width: 0;
display: flex;
align-items: center;
}
.tabStrip {
min-width: 0;
border: 0;
background: none;
}
.tabActions {
display: flex;
align-items: center;
gap: 2px;
padding: 0 2px;
}
.panels {
flex: 1;
position: relative;
min-height: 0;
}
.panel {
position: absolute;
inset: 0;
display: flex;
}
.panel[hidden] {
display: none;
}
.split {
flex: 1;
}
.splitPanel {
display: flex;
min-width: 0;
min-height: 0;
}
.pane {
flex: 1;
min-width: 0;
min-height: 0;
padding: 6px 0 0 8px;
overflow: hidden;
outline: none;
}
.exited :global(.xterm-cursor-layer),
.exited :global(.xterm-cursor) {
visibility: hidden;
}
.pane :global(.xterm) {
height: 100%;
}
/* xterm's DOM renderer stretches the cursor cell over the whole row (line height
included); keep it to the font's own height, centred like the glyphs. */
.pane :global(.xterm-rows .xterm-cursor) {
position: relative;
top: 50%;
height: auto;
max-height: 100%;
line-height: normal;
transform: translateY(-50%);
}
.pane :global(.xterm-viewport) {
background-color: var(--bg-island, var(--bg-app)) !important;
}
.pane :global(.xterm .xterm-scrollable-element > .scrollbar > .slider) {
box-sizing: border-box;
border: 2px solid transparent;
border-radius: 6px;
background: var(--scrollbar-thumb) content-box;
}
.pane :global(.xterm .xterm-scrollable-element > .scrollbar > .slider:hover),
.pane :global(.xterm .xterm-scrollable-element > .scrollbar > .slider.active) {
background: var(--scrollbar-thumb-hover) content-box;
}
.rename {
padding: 6px;
width: 220px;
}
/* Find bar (⌘F) */
.find {
flex: none;
display: flex;
align-items: center;
gap: 4px;
padding: 4px 8px;
background: var(--bg-elev);
border-bottom: 1px solid var(--border);
}
.findField {
flex: 0 1 360px;
min-width: 160px;
}
.findCount {
font-family: var(--font-mono);
font-size: var(--fs-small);
color: var(--fg-subtle);
padding: 0 6px;
white-space: nowrap;
min-width: 56px;
}
.findCountNone {
color: var(--danger);
}
.findSpacer {
flex: 1;
}