Panes
Open, place, focus, resize, stack, fullscreen, and close koshi panes from keys or the CLI.
Each pane owns one process, terminal screen, and scrollback buffer. Splitting a pane keeps the existing pane and places a new one beside it.
Open a pane
| Keys | Placement |
|---|---|
| <C-p> h | Left |
| <C-p> j | Below |
| <C-p> k | Above |
| <C-p> l | Right |
| <C-p> n | layout.new-pane-direction |
From a shell:
koshi new-pane --direction right
koshi new-pane --stacked
koshi run --direction down -- cargo watch -x testnew-pane starts the default shell. run starts the command after --.
Both print the new pane id. Omit a target inside koshi to split the current
pane; outside koshi, pass --pane, --tab, or --session unless exactly one
session is running.
A shell pane inherits the working directory of the pane it splits. A command
pane runs the command and arguments you gave after --.
Focus and resize
| Keys | Result |
|---|---|
| <C-p> ←↓↑→ | Focus the nearby pane |
| <C-s> ←↓↑→ | Move one border one cell |
Focus is per client: two terminals attached to one session may look at different panes.
koshi focus-pane --pane <PANE_ID>
koshi resize-pane --pane <PANE_ID> --direction right --size 4A positive resize grows toward the direction. A negative value shrinks from that side.
Stack and fullscreen
--stacked adds a pane to the focused pane's stack. Stack members share one
rectangle; one is expanded and the others appear as one-row headers.
Alt+f fills the tab with the focused pane. Press it again to restore the layout.
koshi toggle-pane-fullscreenClose a pane
<C-p> x closes the focused pane and its process tree.
koshi close-pane --pane <PANE_ID>
koshi close-pane --pane <PANE_ID> --forceClosing a pane promotes its sibling into the freed space. Closing the last pane closes its tab; closing the last tab ends the session.
Send input
koshi input --pane <PANE_ID> "cargo test"
koshi input --pane <PANE_ID> --no-enter "git status"input types text into a pane and presses Enter by default. --no-enter
leaves it at the prompt.