Я пытаюсь написать JXA-скрипт, который расширяет границы текущего окна текущего приложения по вертикали, чтобы оно доходило от верха до низа экрана.Если я запускаю следующий скрипт в Automator как быстрое действие «Запуск JavaScript», оно работает:
var app = Application.currentApplication();
var window = app.windows[0];
var orig_bounds = window.properties().bounds;
var vertical_res =
Application("Finder").desktop.window.properties().bounds.height;
window.bounds = {
"x": orig_bounds.x,
"y": 0,
"width": orig_bounds.width,
"height": vertical_res
};
Я хочу, чтобы этот скрипт был привязан к горячей клавише.Когда я связываю его в «Системные настройки» -> «Клавиатура» -> «Горячие клавиши» -> «Службы» -> «Общие» и пытаюсь активировать его, когда какое-то приложение активно (например, iTerm 2), оно не работает, и я получаю сообщение об ошибке:
The action “Run JavaScript” encountered an error: “Error on line 4: TypeError: undefined is not an object (evaluating 'window.properties')”
Обратите внимание: если я изменю скрипт, чтобы он всегда работал с определенным приложением (var app = Application("Google Chrome");
), и запустил его в Automator, он будет работать.