fix: change split-down shortcut to Alt+S to avoid system conflict

- Change split-down from Alt+Shift+D to Alt+S (Alt+Shift is Windows
  keyboard layout switch shortcut)
- Use event.code for keyboard-layout-independent key detection
- Add red theme to dark theme scrollbar selectors
- Add red-themed scrollbar styling with dark red colors
- Tone down white/bright colors in red terminal theme

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
SuperComboGamer
2025-12-13 01:54:04 -05:00
parent 951010b64d
commit cbca6fa6e4
4 changed files with 37 additions and 20 deletions

View File

@@ -1177,12 +1177,12 @@
} }
/* Custom scrollbar for dark themes */ /* Custom scrollbar for dark themes */
:is(.dark, .retro, .dracula, .nord, .monokai, .tokyonight, .solarized, .gruvbox, .catppuccin, .onedark, .synthwave) ::-webkit-scrollbar { :is(.dark, .retro, .dracula, .nord, .monokai, .tokyonight, .solarized, .gruvbox, .catppuccin, .onedark, .synthwave, .red) ::-webkit-scrollbar {
width: 8px; width: 8px;
height: 8px; height: 8px;
} }
:is(.dark, .retro, .dracula, .nord, .monokai, .tokyonight, .solarized, .gruvbox, .catppuccin, .onedark, .synthwave) ::-webkit-scrollbar-track { :is(.dark, .retro, .dracula, .nord, .monokai, .tokyonight, .solarized, .gruvbox, .catppuccin, .onedark, .synthwave, .red) ::-webkit-scrollbar-track {
background: var(--muted); background: var(--muted);
} }
@@ -1204,6 +1204,20 @@
background: var(--background); background: var(--background);
} }
/* Red theme scrollbar */
.red ::-webkit-scrollbar-thumb {
background: oklch(0.35 0.15 25);
border-radius: 4px;
}
.red ::-webkit-scrollbar-thumb:hover {
background: oklch(0.45 0.18 25);
}
.red ::-webkit-scrollbar-track {
background: oklch(0.15 0.05 25);
}
/* Always visible scrollbar for file diffs and code blocks */ /* Always visible scrollbar for file diffs and code blocks */
.scrollbar-visible { .scrollbar-visible {
overflow-y: auto !important; overflow-y: auto !important;

View File

@@ -193,8 +193,11 @@ export function TerminalPanel({
const now = Date.now(); const now = Date.now();
const canTrigger = now - lastShortcutTimeRef.current > SHORTCUT_COOLDOWN_MS; const canTrigger = now - lastShortcutTimeRef.current > SHORTCUT_COOLDOWN_MS;
// Use event.code for keyboard-layout-independent key detection
const code = event.code;
// Alt+D - Split right // Alt+D - Split right
if (event.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey && event.key.toLowerCase() === 'd') { if (event.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey && code === 'KeyD') {
event.preventDefault(); event.preventDefault();
if (canTrigger) { if (canTrigger) {
lastShortcutTimeRef.current = now; lastShortcutTimeRef.current = now;
@@ -203,8 +206,8 @@ export function TerminalPanel({
return false; return false;
} }
// Alt+Shift+D - Split down // Alt+S - Split down
if (event.altKey && event.shiftKey && !event.ctrlKey && !event.metaKey && event.key.toLowerCase() === 'd') { if (event.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey && code === 'KeyS') {
event.preventDefault(); event.preventDefault();
if (canTrigger) { if (canTrigger) {
lastShortcutTimeRef.current = now; lastShortcutTimeRef.current = now;
@@ -214,7 +217,7 @@ export function TerminalPanel({
} }
// Alt+W - Close terminal // Alt+W - Close terminal
if (event.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey && event.key.toLowerCase() === 'w') { if (event.altKey && !event.shiftKey && !event.ctrlKey && !event.metaKey && code === 'KeyW') {
event.preventDefault(); event.preventDefault();
if (canTrigger) { if (canTrigger) {
lastShortcutTimeRef.current = now; lastShortcutTimeRef.current = now;

View File

@@ -334,26 +334,26 @@ const synthwaveTheme: TerminalTheme = {
// Red theme - Dark theme with red accents // Red theme - Dark theme with red accents
const redTheme: TerminalTheme = { const redTheme: TerminalTheme = {
background: "#1a0a0a", background: "#1a0a0a",
foreground: "#e0d0d0", foreground: "#c8b0b0",
cursor: "#ff4444", cursor: "#ff4444",
cursorAccent: "#1a0a0a", cursorAccent: "#1a0a0a",
selectionBackground: "#5a2020", selectionBackground: "#5a2020",
black: "#2a1010", black: "#2a1010",
red: "#ff4444", red: "#ff4444",
green: "#88cc88", green: "#6a9a6a",
yellow: "#ffcc66", yellow: "#ccaa55",
blue: "#7799cc", blue: "#6688aa",
magenta: "#cc6699", magenta: "#aa5588",
cyan: "#66aaaa", cyan: "#558888",
white: "#e0d0d0", white: "#b0a0a0",
brightBlack: "#6a4040", brightBlack: "#6a4040",
brightRed: "#ff6666", brightRed: "#ff6666",
brightGreen: "#aaddaa", brightGreen: "#88bb88",
brightYellow: "#ffdd88", brightYellow: "#ddbb66",
brightBlue: "#99bbdd", brightBlue: "#88aacc",
brightMagenta: "#dd88bb", brightMagenta: "#cc77aa",
brightCyan: "#88cccc", brightCyan: "#77aaaa",
brightWhite: "#fff0f0", brightWhite: "#d0c0c0",
}; };
// Theme mapping // Theme mapping

View File

@@ -199,7 +199,7 @@ export const DEFAULT_KEYBOARD_SHORTCUTS: KeyboardShortcuts = {
// Terminal shortcuts (only active in terminal view) // Terminal shortcuts (only active in terminal view)
// Using Alt modifier to avoid conflicts with both terminal signals AND browser shortcuts // Using Alt modifier to avoid conflicts with both terminal signals AND browser shortcuts
splitTerminalRight: "Alt+D", splitTerminalRight: "Alt+D",
splitTerminalDown: "Alt+Shift+D", splitTerminalDown: "Alt+S",
closeTerminal: "Alt+W", closeTerminal: "Alt+W",
}; };