Add comprehensive PRD and terminal UX improvements
- Add PRD.md with detailed product requirements documentation - Unify tmux screen size presets to consistent 24-row height - Add Ctrl+Down keyboard shortcut to scroll terminal to bottom Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -198,6 +198,13 @@
|
||||
}
|
||||
|
||||
async function handleKeydown(event: KeyboardEvent) {
|
||||
// Ctrl+Down scrolls to bottom (don't send to tmux)
|
||||
if (event.ctrlKey && event.key === 'ArrowDown') {
|
||||
event.preventDefault();
|
||||
scrollToBottom();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!isAlive) return;
|
||||
|
||||
// Prevent default for all keys we handle
|
||||
@@ -450,7 +457,7 @@
|
||||
class="px-1 py-0.5 rounded-sm text-[10px] font-mono transition-colors {screenMode === 'portrait' ? 'bg-cyan-600 text-white' : 'bg-zinc-700 hover:bg-zinc-600 text-zinc-200'} disabled:opacity-50"
|
||||
title="Portrait (50x60)"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-2.5 inline-block" fill="none" viewBox="0 0 10 16" stroke="currentColor" stroke-width="1.5">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-2.5 w-2 inline-block" fill="none" viewBox="0 0 10 16" stroke="currentColor" stroke-width="1.5">
|
||||
<rect x="1" y="1" width="8" height="14" rx="1" />
|
||||
</svg>
|
||||
</button>
|
||||
@@ -470,7 +477,7 @@
|
||||
class="px-1 py-0.5 rounded-sm text-[10px] font-mono transition-colors {screenMode === 'desktop' ? 'bg-cyan-600 text-white' : 'bg-zinc-700 hover:bg-zinc-600 text-zinc-200'} disabled:opacity-50"
|
||||
title="Split screen (100x40)"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-3.5 inline-block" fill="none" viewBox="0 0 20 14" stroke="currentColor" stroke-width="1.5">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-2.5 w-3.5 inline-block" fill="none" viewBox="0 0 20 14" stroke="currentColor" stroke-width="1.5">
|
||||
<rect x="1" y="1" width="8" height="12" rx="1" />
|
||||
<rect x="11" y="1" width="8" height="12" rx="1" />
|
||||
</svg>
|
||||
@@ -481,7 +488,7 @@
|
||||
class="px-1 py-0.5 rounded-sm text-[10px] font-mono transition-colors {screenMode === 'fullscreen' ? 'bg-cyan-600 text-white' : 'bg-zinc-700 hover:bg-zinc-600 text-zinc-200'} disabled:opacity-50"
|
||||
title="Fullscreen (180x60)"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-4 inline-block" fill="none" viewBox="0 0 22 14" stroke="currentColor" stroke-width="1.5">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-2.5 w-4 inline-block" fill="none" viewBox="0 0 22 14" stroke="currentColor" stroke-width="1.5">
|
||||
<rect x="1" y="1" width="20" height="12" rx="1" />
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
@@ -339,10 +339,10 @@
|
||||
|
||||
;; Screen size presets for different device orientations
|
||||
(def ^:private screen-sizes
|
||||
{:fullscreen {:width 180 :height 60}
|
||||
:desktop {:width 100 :height 40}
|
||||
{:fullscreen {:width 180 :height 24}
|
||||
:desktop {:width 100 :height 24}
|
||||
:landscape {:width 65 :height 24}
|
||||
:portrait {:width 40 :height 35}})
|
||||
:portrait {:width 40 :height 24}})
|
||||
|
||||
(defn resize-session
|
||||
"Resize a tmux session window to a preset size.
|
||||
|
||||
Reference in New Issue
Block a user