# Окно и ввод — `api.window` Группа `api.window` управляет окном приложения и плавающим полем ввода. ## Окно | Метод | Описание | | --- | --- | | `api.window:close()` | Закрыть окно | | `api.window:toggle_maximize()` | Развернуть окно / вернуть прежний размер | | `api.window:set_maximized(true/false)` | Развернуть (`true`) или восстановить (`false`) окно | | `api.window:minimize()` | Свернуть окно | | `api.window:is_maximized()` | Развёрнуто ли окно прямо сейчас | Команды окна не выполняются в момент вызова из Lua: они складываются в очередь и применяются видом в начале следующего кадра. ## Плавающее поле ввода `api.window:open_input(options)` открывает однострочное поле ввода чуть выше центра окна. Параметры передаются таблицей: | Поле | Описание | | --- | --- | | `title` | Текст над полем; если не задан, окно состоит из одной строки ввода | | `placeholder` | Подсказка внутри пустого поля ввода | | `callback` | `function(text)` — вызывается после Enter, когда окно уже закрыто | Пока окно открыто, сочетания клавиш приложения не работают. Текст набирается в поле; `Enter` подтверждает ввод и запускает `callback`, `Esc` и клик мышью вне окна закрывают его без вызова колбэка. ```lua api.window:open_input({ title = "Имя файла", placeholder = "src/main.rs", callback = function(text) api.editor:open(text, {}) end, }) ```