Параметры позиции
Параметры, описывающие смещения по осям X и Y кадра, всегда измеряются в пикселях. Для обычного, не дочернего кадра они указывают внешнее положение кадра (см. Геометрия кадра) относительно начала координат дисплея. Для дочернего кадра (см. Дочерние кадры) они указывают внешнее положение кадра относительно исходного положения родительского кадра. (Обратите внимание, что ни один из этих параметров не имеет смысла для кадров TTY.)
left-
Положение, в пикселях, левого внешнего края кадра относительно левого края дисплея или родительского кадра. Оно может быть задано следующим образом.
- целое число
-
Положительное целое число всегда связывает левый край кадра с левым краем его дисплея или родительского кадра. Отрицательное целое число связывает правый край кадра с правым краем дисплея или родительского кадра.
(+ pos)-
Это задает положение левого края кадра относительно левого края его дисплея или родительского кадра. Целое число pos может быть положительным или отрицательным; отрицательное значение указывает положение за пределами экрана или родительского кадра или на мониторе, отличном от основного (для многомониторных дисплеев).
(- pos)-
Это задает положение правого края кадра относительно правого края дисплея или родительского кадра. Целое число pos может быть положительным или отрицательным; отрицательное значение указывает положение за пределами экрана или родительского кадра или на мониторе, отличном от основного (для многомониторных дисплеев).
- вещественное число
-
Вещественное число в диапазоне от 0,0 до 1,0 задает смещение левого края через отношение положения по горизонтали кадра — отношение левого края его внешнего кадра к ширине рабочей области кадра (см. Множественные терминалы) или его родительского исходного кадра (см. Дочерние кадры) минус ширина внешнего кадра. Таким образом, отношение положения по горизонтали 0,0 смещает кадр влево, отношение 0,5 центрирует его, а отношение 1,0 смещает его вправо относительно его дисплея или родительского кадра. Аналогично, отношение положения по вертикали кадра — это отношение положения кадра по вертикали к высоте его рабочей области или родительского кадра минус высота кадра.
Emacs попытается сохранить отношения положения дочернего кадра неизменными, если у этого кадра есть параметр, не являющийся
nilkeep-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