wraith/frontend/src/assets/css/terminal.css
Vantz Stockwell c3beb6df6b
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 1m4s
fix: revert CWD tracker from readLoop — corrupts ANSI escape sequences
ProcessOutput() in the readLoop was processing every byte of SSH output,
looking for OSC 7 sequences. When these sequences split across read
boundaries (common with 32KB buffer), partial sequences leaked through
and corrupted xterm.js parser state — producing red/green color blocks
instead of text, and characters rendering at wrong widths.

Reverted readLoop to direct passthrough (v0.7.3 behavior). Also removed
shell integration injection (stty -echo + PROMPT_COMMAND) which caused
terminal mode disruption on macOS. Also removed 4px xterm padding that
could cause fitAddon cell width miscalculation.

CWD tracking will be re-implemented via a separate SSH exec channel
that polls pwd without touching the terminal data stream.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 14:14:52 -04:00

50 lines
1009 B
CSS

/* xterm.js terminal container styling */
.terminal-container {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
background: var(--wraith-bg-primary);
}
.terminal-container .xterm {
height: 100%;
}
.terminal-container .xterm-viewport {
overflow-y: auto !important;
}
.terminal-container .xterm-screen {
height: 100%;
}
/* Selection styling */
.terminal-container .xterm-selection div {
background-color: rgba(88, 166, 255, 0.3) !important;
}
/* Cursor styling */
.terminal-container .xterm-cursor-layer {
z-index: 4;
}
/* Scrollbar inside terminal */
.terminal-container .xterm-viewport::-webkit-scrollbar {
width: 8px;
}
.terminal-container .xterm-viewport::-webkit-scrollbar-track {
background: var(--wraith-bg-primary);
}
.terminal-container .xterm-viewport::-webkit-scrollbar-thumb {
background: var(--wraith-border);
border-radius: 4px;
}
.terminal-container .xterm-viewport::-webkit-scrollbar-thumb:hover {
background: var(--wraith-text-muted);
}