ncui/doc/pages/session-config.md

2.4 KiB
Raw Blame History

SessionConfig

SessionConfig — структура параметров, определяющая режимы работы ncurses-сессии при создании Session.

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.