vibetunnel/web/src/input.css
Mario Zechner 3ec417c8b1 Implement custom ScaleFitAddon for proper terminal scaling
- Create ScaleFitAddon that scales font size to fit columns to container width
- Calculates optimal rows for container height with scaled font
- Replace CSS transform scaling with proper font size calculation
- Apply to both session view and previews for consistent behavior
- Achieve 95-98% width utilization instead of arbitrary 80% scaling
- Prevent stack overflow with font size change detection

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 12:06:42 +02:00

75 lines
No EOL
1.6 KiB
CSS

@tailwind base;
@tailwind components;
@tailwind utilities;
/* XTerm terminal styling */
.xterm {
padding: 0 !important;
}
.xterm .xterm-viewport {
background-color: transparent !important;
}
/* Hide XTerm input textarea in session views (we handle input separately) */
session-view .xterm-helper-textarea {
display: none !important;
opacity: 0 !important;
pointer-events: none !important;
}
/* Ensure terminal container has proper size */
#terminal-player,
#interactive-terminal {
min-height: 480px;
min-width: 640px;
width: 100%;
}
/* Terminal focus indicator */
.terminal-focused {
box-shadow: 0 0 0 2px #00ff00;
border-color: #00ff00 !important;
}
/* Keyboard capture indicator */
.keyboard-capture-indicator {
position: fixed;
top: 10px;
right: 10px;
background: rgba(0, 255, 0, 0.1);
border: 1px solid #00ff00;
color: #00ff00;
padding: 4px 8px;
border-radius: 4px;
font-size: 12px;
z-index: 1000;
}
/* Force XTerm terminal to fit within session card bounds */
.session-preview .xterm {
min-width: unset !important;
min-height: unset !important;
max-width: 100% !important;
max-height: 100% !important;
width: 100% !important;
height: 100% !important;
overflow: hidden !important;
}
.session-preview .xterm .xterm-screen {
max-width: 100% !important;
max-height: 100% !important;
/* Scaling now handled by ScaleFitAddon */
}
.session-preview .xterm .xterm-viewport {
overflow: hidden !important;
}
/* Hide the helper textarea in session previews too */
.session-preview .xterm-helper-textarea {
display: none !important;
opacity: 0 !important;
pointer-events: none !important;
}