mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-10-01 08:01:47 +00:00
The + menu listed every shell the machine reports (nine on a stock macOS box)
above the SSH hosts. The Local section now names the default shell, always
first, then only shells that have actually been opened, by frecency, three rows
at most, the same way the SSH section caps its hosts.
Shell usage is recorded in a new `shell_frecency` config map, keyed by the
inventory label, bumped from both the menu row and the palette. Every shell is
now a palette command titled "Shell: {label}" (same word in every locale), and
an "Other Shells…" row opens the palette pre-filtered to them. That row is
hidden when the menu already names the whole inventory. Running a shell command
from the palette respects the ⌥/Alt split modifier like the menu row.
60 lines
2.7 KiB
Plaintext
60 lines
2.7 KiB
Plaintext
---
|
|
title: "Command palette"
|
|
description: "One key for every action in the app — including the ones with no shortcut."
|
|
---
|
|
|
|
<kbd>⌘ P</kbd> opens the command palette. Type to filter, <kbd>↑</kbd>
|
|
<kbd>↓</kbd> to move, <kbd>⏎</kbd> to run.
|
|
|
|
Every action tty7 can perform is in here, whether or not it has a keybinding —
|
|
which makes it the fastest way to reach the ones that deliberately ship unbound,
|
|
like pane resize and swap.
|
|
|
|
<Frame caption="The command palette over a terminal, filtered to pane actions">
|
|
<img src="/images/command-palette.webp" alt="The tty7 command palette" />
|
|
</Frame>
|
|
|
|
## What is in it
|
|
|
|
Results are grouped, and the groups are the map of the app:
|
|
|
|
| Group | Examples |
|
|
|---|---|
|
|
| **Tabs & Panes** | New Tab · Shell: zsh · New Worktree Tab… · Split Right · Zoom Pane · Focus Pane Left · Resize Pane Up · Swap Pane Next · Reopen Closed Tab · Copy Working Directory · Fork Session |
|
|
| **Workspaces** | New Workspace… · Switch Workspace… · Rename Workspace… · Stop Workspace… · Delete Workspace… |
|
|
| **View** | Show/Hide Left Sidebar · Show/Hide Right Panel · Show Code Panel · Tab Bar: Move to Top · Right Panel: Info / Changes / Files · Change Theme… · Enter Full Screen · Toggle Unified / Side-by-Side Diff |
|
|
| **Git** | Commit · Stage All Changes · Unstage All · Discard All · Create Branch… · Sync · Push · Pull · Fetch |
|
|
| **Terminal** | Clear Scrollback · Find in Terminal… · Find Next / Previous · Copy · Cut · Paste · Select All |
|
|
| **SSH** | Add Connection… · Manage Profiles… · Reconnect · Remote Files · Port Forwarding |
|
|
| **Agents** | Send Selection · Send Git Diff for Review · Copy Session ID |
|
|
| **Application** | Settings… · Keyboard Shortcuts · Check for Updates… · Documentation · Join the Discord · Report an Issue… · Restart Server… |
|
|
|
|
Entries that do something destructive say so under the name — *Delete
|
|
Workspace…* is subtitled "ends its shells and forgets the layout", *Restart
|
|
Server…* is "ends every running shell; layout is kept".
|
|
|
|
## Connecting from the palette
|
|
|
|
Type an SSH address and the palette offers to connect to it:
|
|
|
|
```
|
|
me@devbox
|
|
me@devbox:2222
|
|
[::1]:22
|
|
```
|
|
|
|
Saved profiles show up the same way — start typing the name. A host that only
|
|
exists in `~/.ssh/config` does not: import it into a profile first, or reach it
|
|
from the workspace switcher. [SSH →](/remote/ssh)
|
|
|
|
## Sending context to an agent
|
|
|
|
Two palette commands hand what is in front of you to the coding agent running in
|
|
the pane, as a ready-made prompt:
|
|
|
|
- **Agent: Send Selection** — the current selection.
|
|
- **Agent: Send Git Diff for Review** — the repository's `git diff`.
|
|
|
|
If no agent is running, tty7 says so rather than typing into your shell.
|
|
[Agents →](/agents/overview)
|