`"bottom"`, `"left"` or `"right"`
### Terminal: Alternate Scroll
- Description: Set whether Alternate Scroll mode (DECSET code: `?1007`) is active by default. Alternate Scroll mode converts mouse scroll events into up / down key presses when in the alternate screen (e.g. when running applications like vim or less). The terminal can still set and unset this mode with ANSI escape codes.
- Setting: `alternate_scroll`
- Default: `off`
**Options**
1. Default alternate scroll mode to off
```json
{
"terminal": {
"alternate_scroll": "off"
}
}
```
2. Default alternate scroll mode to on
```json
{
"terminal": {
"alternate_scroll": "on"
}
}
```
### Terminal: Blinking
- Description: Set the cursor blinking behavior in the terminal
- Setting: `blinking`
- Default: `terminal_controlled`
**Options**
1. Never blink the cursor, ignore the terminal mode
```json
{
"terminal": {
"blinking": "off"
}
}
```
2. Default the cursor blink to off, but allow the terminal to turn blinking on
```json
{
"terminal": {
"blinking": "terminal_controlled"
}
}
```
3. Always blink the cursor, ignore the terminal mode
```json
{
"terminal": {
"blinking": "on"
}
}
```
### Terminal: Copy On Select
- Description: Whether or not selecting text in the terminal will automatically copy to the system clipboard.
- Setting: `copy_on_select`
- Default: `false`
**Options**
`boolean` values
**Example**
```json
{
"terminal": {
"copy_on_select": true
}
}
```
### Terminal: Env
- Description: Any key-value pairs added to this object will be added to the terminal's environment. Keys must be unique, use `:` to separate multiple values in a single variable
- Setting: `env`
- Default: `{}`
**Example**
```json
{
"terminal": {
"env": {
"ZED": "1",
"KEY": "value1:value2"
}
}
}
```
### Terminal: Font Size
- Description: What font size to use for the terminal. When not set defaults to matching the editor's font size
- Setting: `font_size`
- Default: `null`
**Options**
`integer` values
```json
{
"terminal": {
"font_size": 15
}
}
```
### Terminal: Font Family
- Description: What font to use for the terminal. When not set, defaults to matching the editor's font.
- Setting: `font_family`
- Default: `null`
**Options**
The name of any font family installed on the user's system
```json
{
"terminal": {
"font_family": "Berkeley Mono"
}
}
```
### Terminal: Font Features
- Description: What font features to use for the terminal. When not set, defaults to matching the editor's font features.
- Setting: `font_features`
- Default: `null`
- Platform: macOS and Windows.
**Options**
See Buffer Font Features
```json
{
"terminal": {
"font_features": {
"calt": false
// See Buffer Font Features for more features
}
}
}
```
### Terminal: Line Height
- Description: Set the terminal's line height.
- Setting: `line_height`
- Default: `comfortable`
**Options**
1. Use a line height that's `comfortable` for reading, 1.618. (default)
```json
{
"terminal": {
"line_height": "comfortable"
}
}
```
2. Use a `standard` line height, 1.3. This option is useful for TUIs, particularly if they use box characters
```json
{
"terminal": {
"line_height": "standard"
}
}
```
3. Use a custom line height.
```json
{
"terminal": {
"line_height": {
"custom": 2
}
}
}
```
### Terminal: Option As Meta
- Description: Re-interprets the option keys to act like a 'meta' key, like in Emacs.
- Setting: `option_as_meta`
- Default: `false`
**Options**
`boolean` values
```json
{
"terminal": {
"option_as_meta": true
}
}
```
### Terminal: Shell
- Description: What shell to use when launching the terminal.
- Setting: `shell`
- Default: `system`
**Options**
1. Use the system's default terminal configuration (usually the `/etc/passwd` file).
```json
{
"terminal": {
"shell": "system"
}
}
```
2. A program to launch:
```json
{
"terminal": {