Spec-Zone.ru › Elisp

Параметры размера

Параметры кадра обычно задают размеры кадра в символьных единицах. На графических дисплеях гарнитура default определяет фактический размер этих символьных единиц в пикселях (см. Атрибуты гарнитуры). На текстовых терминалах параметры размера влияют только на дочерние кадры.

width

Этот параметр задаёт ширину кадра. Её можно задать следующими способами:

целое число

Положительное целое число задаёт ширину текстовой области кадра (см. Геометрия кадра) в символах.

cons-ячейка

Если это cons-ячейка, в CAR которой находится символ text-pixels, то 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. Кадр на всю ширину имеет максимально возможную ширину, кадр на всю высоту — максимально возможную высоту, а кадр на весь экран максимально широк и высок. Развёрнутый кадр похож на кадр «на весь экран», но обычно сохраняет строку заголовка и кнопки изменения размера и закрытия кадра. Кроме того, развёрнутые кадры обычно не скрывают панель задач или панели, отображаемые на рабочем столе. Кадр «на весь экран», напротив, обычно не имеет строки заголовка и занимает всё доступное пространство экрана.

В этом отношении полноэкранные кадры на всю высоту и на всю ширину больше похожи на развёрнутые. Однако у них обычно отображается внешняя рамка, которая может отсутствовать у развёрнутых кадров. Поэтому высота развёрнутых кадров и кадров на всю высоту, а также ширина развёрнутых кадров и кадров на всю ширину часто различаются на несколько пикселей.

В некоторых оконных менеджерах для того, чтобы кадр действительно отображался развёрнутым или полноэкранным, может потребоваться настроить переменную 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 (см. Изменение размеров окон).

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Size-Parameters.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API