Skip to main content
TYBA’s terminal is xterm.js with GPU acceleration. If the graphics context drops, it falls back to normal rendering on its own — you don’t lose the session, at worst you lose a few frames per second.

Selecting

Drag to select. Right-click selects the word under the cursor before opening the menu — there’s no accidental “empty” selection.

When the app captures the mouse

Vim, tmux, less, agents with a TUI — many programs turn mouse mode on and start receiving the clicks themselves. In that state, dragging doesn’t select: it scrolls the program. The way out is to force the selection:
Hold Option and drag.
TYBA knows when this is happening. With mouse mode on and nothing selected, the context menu shows exactly that hint in place of the copy options — instead of handing you a disabled “Copy selection” with no explanation.

Copying

⌘C / Ctrl+Shift+C only acts when there is a selection. Without one, the key passes straight through to the shell and remains the same old SIGINT. Interrupting a process matters more than copying.

Copy as Markdown

In the context menu, Copy as Markdown copies the same selection wrapped in a code fence:
It’s for pasting straight into an agent’s chat, a PR or an issue without having to fix the indentation on the other side.

The context menu

Right-click in the terminal: Both copy items are disabled without a selection. URLs in the output become links. Clicking opens them in your default browser, not inside TYBA.
Only http:// and https:// open. Any other scheme — file:, javascript:, a custom protocol someone planted in the output — is silently ignored. A URL with embedded credentials (https://user:password@host) doesn’t open either.Terminal output is text any process can write. A click shouldn’t be able to do more than open a page.

Resizing

There’s nothing to do: the terminal fits itself to the pane. Drag the split divider, resize the window, switch tabs — TYBA recomputes the columns and rows and tells the process on the other side. If you were at the bottom when the number of rows changed, it keeps you at the bottom. If you had scrolled back to read something, it leaves you where you were.

Emoji, CJK and Nerd Fonts

The terminal uses the Unicode 11 width table: emoji and Chinese/Japanese/Korean characters take two columns, as they should. Prompts with Nerd Font glyphs (starship, powerlevel10k) render — the font family already includes Symbols Nerd Font Mono in the chain.

Font

Settings → Appearance → Font. Only the terminal’s size is configurable: 11, 12, 13, 14, 15 or 16 px. The default is 13.
The other picker on that same row (JetBrains Mono / Space Grotesk) is the interface font — sidebar, menus, dialogs. It doesn’t touch the terminal.
The terminal family is fixed, in this order:

What doesn’t exist

Notifications

Don’t confuse this with the bell: TYBA fires a native system notification when an agent session ends its turn or is waiting on your answer.
They only fire with the TYBA window out of focus. If you’re looking at the app, it doesn’t tell you what’s already in front of you. And the notification body goes through redaction — secrets that showed up in the output don’t leak into the system’s notification center.

See also

Safe paste

Why it sometimes asks before pasting.

Scrollback search

Finding what already scrolled by — and the limit on that.

Shortcuts

The whole list, and how to remap.

Split panes

Split, navigate, resize.