Параметры фрейма обычно указывают размеры фрейма в символьных единицах. В
графических дисплеях default-фас определяет фактические пиксельные
размеры этих символьных единиц (см. Атрибуты фаса).
widthЭтот параметр указывает ширину фрейма. Он может быть указан следующим способом:
Положительное целое число указывает ширину текстовой области фрейма (см. Геометрия фрейма) в символах.
Если это cons-ячейка с символом text-pixels в ее
CAR, то CDR этой ячейки указывает ширину
текстовой области фрейма в пикселях.
Число с плавающей запятой от 0.0 до 1.0 может использоваться для указания ширины фрейма через его коэффициент ширины—отношение его внешней ширины (см. Геометрия фрейма) к ширине рабочей области фрейма (см. Множественные терминалы) или к нативной ширине его родительского фрейма (см. Дочерние фреймы). Таким образом, значение 0.5 заставляет фрейм занимать половину ширины его рабочей области или родительского фрейма, значение 1.0 — полную ширину. Аналогично, коэффициент высоты фрейма — это отношение его внешней высоты к высоте его рабочей области или нативной высоты его родительского фрейма.
Emacs попытается сохранить коэффициент ширины и высоты дочернего фрейма
без изменений, если этот фрейм имеет не-nil параметр
keep-ratio (см. Параметры
взаимодействия фрейма) и его родительский фрейм изменяется в размере.
Поскольку внешние размеры фрейма обычно недоступны до того, как фрейм
будет отображен, в целом не рекомендуется использовать значения с плавающей
запятой при создании декорированных фреймов. Значения с плавающей запятой
более подходят для обеспечения того, чтобы дочерний фрейм всегда помещался
в область своего родительского фрейма, например, при настройке
display-buffer-alist (см. Выбор
окна для отображения буфера) через
display-buffer-in-child-frame.
Независимо от того, как был указан этот параметр, функции, сообщающие
значение этого параметра, такие как frame-parameters,
всегда сообщают ширину текстовой области фрейма в символах как целое
число, округленное, если необходимо, до кратного стандартной ширины символа
фрейма. Это значение также используется процедурами сохранения рабочего
стола.
heightЭтот параметр указывает высоту фрейма. Он работает точно так же, как
width, только вертикально, а не горизонтально.
user-sizeЭтот параметр выполняет для параметров размера height
и width то же, что параметр user-position
(см. user-position) делает для
параметров положения top и left.
min-widthЭтот параметр указывает минимальную нативную ширину (см. Геометрия фрейма) фрейма в символах. Обычно
функции, устанавливающие начальную ширину фрейма или изменяющие его
ширину горизонтально, гарантируют, что все окна фрейма, вертикальные
полосы прокрутки, рамки, поля и вертикальные разделители могут быть
отображены. Этот параметр, если он не-nil, позволяет
сделать фрейм уже, с последствием того, что любые компоненты, которые
не помещаются, будут обрезаны менеджером окон.
min-heightЭтот параметр указывает минимальную нативную высоту (см. Геометрия фрейма) фрейма в символах. Обычно
функции, устанавливающие начальный размер фрейма или изменяющие его
размер, гарантируют, что все окна фрейма, горизонтальные полосы
прокрутки и разделители, строки режима и заголовка, область эха и
внутреннее меню и панель инструментов могут быть отображены. Этот
параметр, если он не-nil, позволяет сделать фрейм
меньше, с последствием того, что любые компоненты, которые не помещаются,
будут обрезаны менеджером окон.
fullscreenЭтот параметр указывает, следует ли максимизировать ширину, высоту
или обеих фрейма. Его значение может быть fullwidth,
fullheight, fullboth или
maximized.22
Фрейм fullwidth максимально широк, фрейм fullheight
максимально высок, а фрейм fullboth максимально широк и высок.
Фрейм maximized похож на фрейм fullboth,
за исключением того, что он обычно сохраняет свою панель заголовка и кнопки
для изменения размера и закрытия фрейма. Кроме того, фреймы в режиме
максимизации обычно избегают скрывать любую панель задач или панели,
отображаемые на рабочем столе. Фрейм fullboth, с другой
стороны, обычно опускает панель заголовка и занимает все доступное
пространство экрана.
Фреймы полной высоты и полной ширины более похожи на фреймы в режиме максимизации в этом отношении. Однако они обычно отображают внешнюю рамку, которая может отсутствовать в фреймах в режиме максимизации. Поэтому высоты фреймов в режиме максимизации и полной высоты, а также ширины фреймов в режиме максимизации и полной ширины часто различаются на несколько пикселей.
С некоторыми менеджерами окон вам может потребоваться настроить
переменную frame-resize-pixelwise (см. Размер фрейма), чтобы фрейм действительно выглядел
максимизированным или в полноэкранном режиме. Более того, некоторые
менеджеры окон могут не поддерживать плавный переход между различными
состояниями полноэкранного режима или максимизации. Настройка
переменной x-frame-normalize-before-maximize может
помочь преодолеть это.
Полноэкранный режим в macOS скрывает как панель инструментов, так и панель меню, однако они будут отображаться, если указатель мыши переместить в верхнюю часть экрана.
fullscreen-restoreЭтот параметр указывает желаемое состояние полноэкранного режима
фрейма после вызова команды toggle-frame-fullscreen
(см. Команды фрейма в
Руководство GNU Emacs) в состоянии fullboth.
Обычно этот параметр устанавливается автоматически этой командой при
переключении состояния в fullboth. Однако, если вы запускаете
Emacs в состоянии fullboth, вам необходимо указать желаемое
поведение в вашем начальном файле, например:
(setq default-frame-alist
'((fullscreen . fullboth)
(fullscreen-restore . fullheight)))
Это даст новому фрейму полную высоту после первого нажатия F11.
fit-frame-to-buffer-marginsЭтот параметр позволяет переопределить значение опции
fit-frame-to-buffer-margins при подгонке этого фрейма к
буферу его корневого окна с помощью fit-frame-to-buffer
(см. Изменение размера окон).
fit-frame-to-buffer-sizesЭтот параметр позволяет переопределить значение опции
fit-frame-to-buffer-sizes при подгонке этого фрейма к
буферу его корневого окна с помощью fit-frame-to-buffer
(см. Изменение размера окон).