Spec-Zone.ru › Elisp

Параметры позиции

Параметры, описывающие смещения по осям X и Y кадра, всегда измеряются в пикселях. Для обычного, не дочернего кадра они указывают внешнее положение кадра (см. Геометрия кадра) относительно начала координат дисплея. Для дочернего кадра (см. Дочерние кадры) они указывают внешнее положение кадра относительно исходного положения родительского кадра. (Обратите внимание, что ни один из этих параметров не имеет смысла для кадров TTY.)

left

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

целое число

Положительное целое число всегда связывает левый край кадра с левым краем его дисплея или родительского кадра. Отрицательное целое число связывает правый край кадра с правым краем дисплея или родительского кадра.

(+ pos)

Это задает положение левого края кадра относительно левого края его дисплея или родительского кадра. Целое число pos может быть положительным или отрицательным; отрицательное значение указывает положение за пределами экрана или родительского кадра или на мониторе, отличном от основного (для многомониторных дисплеев).

(- pos)

Это задает положение правого края кадра относительно правого края дисплея или родительского кадра. Целое число pos может быть положительным или отрицательным; отрицательное значение указывает положение за пределами экрана или родительского кадра или на мониторе, отличном от основного (для многомониторных дисплеев).

вещественное число

Вещественное число в диапазоне от 0,0 до 1,0 задает смещение левого края через отношение положения по горизонтали кадра — отношение левого края его внешнего кадра к ширине рабочей области кадра (см. Множественные терминалы) или его родительского исходного кадра (см. Дочерние кадры) минус ширина внешнего кадра. Таким образом, отношение положения по горизонтали 0,0 смещает кадр влево, отношение 0,5 центрирует его, а отношение 1,0 смещает его вправо относительно его дисплея или родительского кадра. Аналогично, отношение положения по вертикали кадра — это отношение положения кадра по вертикали к высоте его рабочей области или родительского кадра минус высота кадра.

Emacs попытается сохранить отношения положения дочернего кадра неизменными, если у этого кадра есть параметр, не являющийся nil keep-ratio (см. Параметры взаимодействия кадров), и его родительский кадр изменён в размерах.

Поскольку внешние размеры кадра (см. Геометрия кадра) обычно недоступны до тех пор, пока кадр не станет видимым, обычно не рекомендуется использовать вещественные числа при создании кадров с оформлением. Вещественные числа больше подходят для обеспечения правильного позиционирования (неоформленного) дочернего кадра внутри области его родительского кадра.

Некоторые диспетчеры окон игнорируют указанные программой позиции. Если вы хотите убедиться, что ваша позиция не будет проигнорирована, задайте значение, отличное от nil для параметра user-position, как в следующем примере:

(modify-frame-parameters
  nil '((user-position . t) (left . (+ -4))))

В общем случае не рекомендуется размещать кадр относительно правого или нижнего края его дисплея. Позиционирование начального или нового кадра либо неточно (поскольку размер внешнего кадра ещё не полностью известен до того, как кадр станет видимым), либо вызовет дополнительное мерцание (если кадр нужно перепозиционировать после его отображения).

Обратите также внимание, что позиции, заданные относительно правого/нижнего края дисплея, рабочей области или родительского кадра, а также вещественные смещения хранятся внутри как целочисленные смещения относительно левого/верхнего края дисплея, рабочей области или родительского края. Они также возвращаются как такие функциями, такими как frame-parameters, и восстанавливаются как такие процедурами сохранения рабочего стола.

top

Положение на экране верхнего (или нижнего) края, в пикселях, относительно верхнего (или нижнего) края дисплея или родительского кадра. Оно работает точно так же, как left, но по вертикали, а не по горизонтали.

icon-left

Положение на экране левого края значка кадра, в пикселях, считая от левого края экрана. Это вступает в силу, когда кадр минимизирован, если диспетчер окон поддерживает эту функцию. Если вы задаёте значение для этого параметра, то вы также должны задать значение для icon-top и наоборот.

icon-top

Положение на экране верхнего края значка кадра, в пикселях, считая от верхнего края экрана. Это вступает в силу, когда кадр минимизирован, если диспетчер окон поддерживает эту функцию.

user-position

При создании кадра и указании его положения на экране с помощью параметров left и top используйте этот параметр, чтобы указать, было ли заданное положение задано пользователем (явным образом запрошено каким-либо способом пользователем) или просто задано программой (выбрано программой). Значение, отличное от nil, означает, что положение задано пользователем.

Диспетчеры окон, как правило, учитывают позиции, заданные пользователем, и некоторые также учитывают позиции, заданные программой. Но многие игнорируют позиции, заданные программой, помещая окно по умолчанию или позволяя пользователю разместить его с помощью мыши. Некоторые диспетчеры окон, включая twm, позволяют пользователю указать, следует ли подчиняться позициям, заданным программой, или игнорировать их.

Когда вы вызываете make-frame, вы должны задать значение, отличное от nil, для этого параметра, если значения параметров left и top представляют собой указанные пользователем предпочтения; в противном случае используйте nil.

z-group

Этот параметр указывает относительное положение окна системы окон кадра в порядке стекирования (Z-) кадра дисплея.

Если это above, система окон отобразит окно, соответствующее кадру, над всеми другими окнами системы окон, у которых свойство above не установлено. Если это nil, окно кадра отображается под всеми окнами, у которых установлено свойство above, и над всеми окнами, у которых установлено свойство below. Если это below, окно кадра отображается под всеми окнами, у которых свойство below не установлено.

Чтобы разместить кадр над или под другим конкретным кадром, используйте функцию frame-restack (см. Поднятие и опускание).

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

Spec-Zone.ru

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