Files

105 lines
4.0 KiB
Plaintext

---
title: "Settings"
description: "What lives in each section, and how the settings file works."
---
<kbd>⌘ ,</kbd> opens Settings. There is a search box at the top that matches
setting names *and* keywords, which is usually faster than remembering which
section something is in.
<Frame caption="Placeholder — screenshot: the Settings window with the section list on the left">
<img src="/images/placeholder.svg" alt="tty7 Settings" />
</Frame>
## The eight sections
<CardGroup cols={2}>
<Card title="General" icon="sliders">
Interface language, startup and layout restore, tray icon, default terminal,
command completion notifications, update preferences and proxy, and the
tty7 server.
</Card>
<Card title="Appearance" icon="palette" href="/customization/themes">
Theme and colors, interface and terminal fonts, cursor, background image,
transparency, and inactive panes.
</Card>
<Card title="Terminal" icon="terminal">
Shell and starting directory, prompt editor, completion and command history,
scrollback, scrolling, bell, and opening links and files.
</Card>
<Card title="Keyboard & Mouse" icon="keyboard" href="/customization/keybindings">
Keyboard shortcuts, Option as Meta, mouse behavior, selection, and clipboard.
</Card>
<Card title="Window & Tabs" icon="window-maximize">
Tab position and placement, sidebar grouping, and diff previews.
</Card>
<Card title="SSH" icon="server" href="/remote/ssh">
Hosts, connection defaults, security, authentication, proxies, and forwarding.
</Card>
<Card title="Integrations" icon="robot" href="/agents/status">
AI agent hooks per machine and the tty7 command on PATH.
</Card>
<Card title="About" icon="circle-info" href="/reference/updates">
App information, version, manual update checks, and available updates.
</Card>
</CardGroup>
## Search and edit
Search matches setting names, descriptions, English aliases, and configuration
keys such as `mouse_zoom_modifier`. Ordinary results are editable directly;
use the path above a result to open its category. SSH, theme editors, and
keyboard shortcuts have dedicated views.
Use **Modified only** to find settings that differ from their defaults. A
modified setting offers **Reset setting**; installation and maintenance actions
do not have a generic reset.
Ordinary controls save automatically. Text fields commit valid values on Enter
or when focus leaves the field. Custom theme edits are previewed until you save;
cancel restores the original theme. SSH profiles also use explicit saving.
Leaving an edited form offers save, discard, or continue editing.
## The settings file
Everything the Settings window writes goes to one file:
| | |
|---|---|
| macOS / Linux | `~/.config/tty7/config.json` |
| Windows | `%APPDATA%\tty7\config.json` |
Set `TTY7_CONFIG_DIR` to point the whole directory — config, themes, state —
somewhere else.
You can edit the file by hand; a handful of options exist only there. See the
[configuration reference](/reference/configuration) for every key, its type, and
its default.
### How it handles mistakes
The file is written atomically, and read forgivingly:
- **A missing key** means the default — you only have to write what you change.
- **An out-of-range number** is clamped into its band, not rejected.
- **An unrecognised enum value** falls back to the default with a log line,
rather than failing the whole file.
- **An unparseable file** is not overwritten. tty7 starts on defaults, keeps a
copy at `config.json.corrupt`, and says so in the log.
<Note>
A UTF-8 BOM at the start of the file is tolerated, which matters if you edited
it in a Windows editor.
</Note>
## Language
**Settings → General → Language** switches the interface between English,
简体中文, and 日本語. The choice is explicit — the system language is never
inferred — and CLI output stays English regardless, so agent and script
integrations keep a stable surface.
```json
{ "gui_language": "zh-CN" }
```