Эти функции позволяют считывать и изменять значения параметров фрейма.
Эта функция возвращает значение параметра parameter (символ) frame. Если frame равен nil, она возвращает параметр выбранного фрейма. Если у frame нет установки для parameter, эта функция возвращает nil.
Функция frame-parameters возвращает alist, перечисляющий все параметры frame и их значения. Если frame равен nil или опущен, она возвращает параметры выбранного фрейма.
Эта функция изменяет фрейм frame на основе элементов alist. Каждый элемент alist имеет вид (parm . value), где parm — это символ, называющий параметр. Если вы не указываете параметр в alist, его значение не меняется. Если frame равен nil, по умолчанию используется выбранный фрейм.
Некоторые параметры имеют смысл только для фреймов определенного типа отображения (см. Фреймы). Если alist содержит параметры, не имеющие смысла для отображения frame, эта функция изменит их значение в списке параметров фрейма, но в противном случае проигнорирует их.
Когда alist указывает более одного параметра, значение которого может повлиять на новый размер frame, конечный размер фрейма может отличаться в зависимости от используемого инструментария. Например, указание того, что фрейм должен иметь меню и/или панель инструментов вместо отсутствия таковых, и одновременно указание новой высоты фрейма неизбежно приведет к пересчету высоты фрейма. Концептуально в таком случае эта функция попытается придать приоритет явно указанной высоте. Однако нельзя исключать, что добавление (или удаление) меню или панели инструментов, когда это произойдет инструментарием, опровергнет это намерение.
Иногда привязка frame-inhibit-implied-resize (см. Неявное изменение размера фрейма) к значению, отличному от nil, вокруг вызовов этой функции может решить описанную здесь проблему. Однако иногда именно такая привязка может быть вызвана этой проблемой.
Эта функция устанавливает параметр фрейма parm в указанное value. Если frame равен nil, по умолчанию используется выбранный фрейм.
Эта функция изменяет параметры фреймов всех существующих фреймов в соответствии с alist, а затем изменяет default-frame-alist (и, при необходимости, initial-frame-alist), чтобы применять те же значения параметров к фреймам, которые будут созданы в дальнейшем.