mirror of
https://github.com/samsonjs/vibetunnel.git
synced 2026-04-27 15:17:38 +00:00
fix: handle inverse video rendering for nano's white bar
Fixed the terminal renderer to properly handle inverse video attributes when no explicit colors are set. Nano's header bar uses SGR 7 (inverse) without explicit foreground/background colors, which now correctly swaps the default terminal colors (#e4e4e4 foreground, #0a0a0a background). 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
5593ee39ef
commit
dc2e72e052
1 changed files with 15 additions and 7 deletions
|
|
@ -800,13 +800,21 @@ export class Terminal extends LitElement {
|
||||||
// Swap foreground and background colors
|
// Swap foreground and background colors
|
||||||
const tempFg = style.match(/color: ([^;]+);/)?.[1];
|
const tempFg = style.match(/color: ([^;]+);/)?.[1];
|
||||||
const tempBg = style.match(/background-color: ([^;]+);/)?.[1];
|
const tempBg = style.match(/background-color: ([^;]+);/)?.[1];
|
||||||
if (tempFg && tempBg) {
|
|
||||||
style = style.replace(/color: [^;]+;/, `color: ${tempBg};`);
|
// Default terminal colors
|
||||||
style = style.replace(/background-color: [^;]+;/, `background-color: ${tempFg};`);
|
const defaultFg = '#e4e4e4';
|
||||||
} else if (tempFg) {
|
const defaultBg = '#0a0a0a';
|
||||||
style = style.replace(/color: [^;]+;/, 'color: #1e1e1e;');
|
|
||||||
style += `background-color: ${tempFg};`;
|
// Determine actual foreground and background
|
||||||
}
|
const actualFg = tempFg || defaultFg;
|
||||||
|
const actualBg = tempBg || defaultBg;
|
||||||
|
|
||||||
|
// Clear existing style and rebuild with swapped colors
|
||||||
|
style = '';
|
||||||
|
|
||||||
|
// Set swapped colors
|
||||||
|
style += `color: ${actualBg};`;
|
||||||
|
style += `background-color: ${actualFg};`;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle invisible text
|
// Handle invisible text
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue