Rust SSH service: russh async client, DashMap session registry, TOFU host key verification, CWD tracking via separate exec channel (never touches terminal stream), base64 event emission for terminal I/O. 52/52 tests passing. Vue 3 frontend: ported from Wails v3 to Tauri v2 — useTerminal composable with streaming TextDecoder + rAF batching, session store with multi-connection support, connection store/tree, sidebar, tab bar, status bar, keyboard shortcuts. All Wails imports replaced with Tauri API equivalents. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
50 lines
1009 B
CSS
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);
|
|
}
|