[ID CC2022] Можно ли скриптом понять ориентацию монитора

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
Код:
var activeWindow = app.activeWindow;
Размещаю весь документ в окне:
Код:
activeWindow.zoom(ZoomOptions.FIT_SPREAD);
Но если монитор вертикальный, то надо разместить только страницу
Код:
activeWindow.zoom(ZoomOptions.FIT_PAGE);
Можно ли понять ориентацию монитора?
Н а з а м е т к у.
GPT подсказал, что можно пойти на хитрость, манипулируя временным окном.
Код:
var tempWindow = new Window("palette", "Temp Window", undefined, { closeButton: false, maximizeButton: false, minimizeButton: false });
tempWindow.bounds = [0, 0, 100, 100]; // Устанавливаем начальные координаты и размеры
var initialWidth = tempWindow.bounds[2] - tempWindow.bounds[0]; // Ширина окна
tempWindow.bounds = [0, 0, 100, 200]; // Изменяем размеры окна
var initialHeight = tempWindow.bounds[3] - tempWindow.bounds[1]; // Высота окна

var orientation = initialWidth > initialHeight ? "альбомная" : "портретная";
alert("Ориентация монитора: " + orientation);

// Закрываем временное окно
tempWindow.close();
Но это глупость. Ессно, на обоих мониторах (гор. и верт.) ответ - "портретная". Может быть есть что-то, что поможет?
 

Oleg Butrin

20 лет на форуме
Сообщения
1 991
Реакции
1 222
$.screens выдаст информацию о доступных мониторах и их размерах в виде объекта или массива объектов. Параметр primary у этого объекта указывает, является ли монитор основным.
 

hulk1776

Топикстартер
15 лет на форуме
Сообщения
738
Реакции
21
Я неправильно ставил задачу. У меня один документ отображается на двух разных мониторах. Поэтому надо просто указывать в пискселях, где размещать палетты управления (для альбомного монитора они одни, для портретного другие). Но с набором координат подключенных мониторов $.screens ориентироваться легче. Спасибо.