# Shell Window Feature **Purpose**: Interactive pseudo‑terminal session inside a krate. **Implementation**: - Front‑end component uses **xterm.js** (or equivalent) for terminal UI. - Backend opens a WebSocket that proxies to `kubectl exec -it -n -- sh` (or the container's default shell). - Input handling: when the mouse is over the shell window, all keypresses are forwarded to the terminal; space does not trigger Spotlight. - Scroll wheel over the terminal scrolls its content; `Ctrl/⌘+scroll` still zooms the canvas. - No PTY needed on the server side beyond the exec stream; the WebSocket carries stdin/stdout/stderr. **Interaction**: - Click a result in Spotlight or Collection and press **Alt+S** to open a Shell window in a new/existing Krate. - Resize like any Detail Window; sibling windows resize proportionally. - Double‑click header or press `z` to maximize to the viewport. - The shell window obeys the global pan/zoom shortcuts (Space‑drag pans, Ctrl‑scroll zooms) when the cursor is inside it. **State** (`Window` type `shell`).