80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
# SessionConfig
|
||
|
||
`SessionConfig` — структура параметров, определяющая режимы работы ncurses-сессии при создании `Session`.
|
||
|
||
```d
|
||
struct SessionConfig
|
||
{
|
||
InputMode mode = InputMode.raw;
|
||
Cursor cursor = Cursor.normal;
|
||
Echo echo = Echo.on;
|
||
Keypad keypad = Keypad.on;
|
||
int escDelay = 50;
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Параметры
|
||
|
||
### mode: InputMode
|
||
|
||
Режим обработки ввода терминалом.
|
||
|
||
Значения:
|
||
|
||
* `InputMode.raw` — посимвольный ввод с минимальной обработкой терминалом.
|
||
* `InputMode.cbreak` — посимвольный ввод с сохранением части tty-обработки.
|
||
* `InputMode.cooked` — канонический построчный ввод (ввод доступен после Enter).
|
||
|
||
Значение по умолчанию: `InputMode.raw`.
|
||
|
||
---
|
||
|
||
### cursor: Cursor
|
||
|
||
Режим видимости/типа курсора.
|
||
|
||
Значения:
|
||
|
||
* `Cursor.hidden` — курсор скрыт.
|
||
* `Cursor.normal` — обычный курсор.
|
||
* `Cursor.high` — курсор повышенной заметности (поддержка зависит от терминала).
|
||
|
||
Значение по умолчанию: `Cursor.normal`.
|
||
|
||
---
|
||
|
||
### echo: Echo
|
||
|
||
Режим эхо ввода (отображение вводимых символов терминалом).
|
||
|
||
Значения:
|
||
|
||
* `Echo.on` — вводимые символы отображаются.
|
||
* `Echo.off` — вводимые символы не отображаются.
|
||
|
||
Значение по умолчанию: `Echo.on`.
|
||
|
||
---
|
||
|
||
### keypad: Keypad
|
||
|
||
Режим обработки специальных клавиш (преобразование в коды `KEY_*`).
|
||
|
||
Значения:
|
||
|
||
* `Keypad.on` — специальные клавиши возвращаются как `KEY_*` (стрелки, Home/End, PgUp/PgDn, F1..F12 и т.п.).
|
||
* `Keypad.off` — специальные клавиши могут возвращаться как escape-последовательности.
|
||
|
||
Значение по умолчанию: `Keypad.on`.
|
||
|
||
---
|
||
|
||
### escDelay: int
|
||
|
||
Задержка распознавания одиночного `Esc` и escape-последовательностей.
|
||
|
||
Единицы измерения: миллисекунды.
|
||
|
||
Значение по умолчанию: `50`.
|