9

Ладно, СУ, у меня есть забавный орешек.

У меня 8 экранов, установленных в линию, и все они подключены к одному мощному G5 под управлением Snow Leopard (да, 4 видеокарты; шириной около 15 000 пикселей!). Я настраиваю демонстрацию, которая использует 8 полноэкранных окон браузера Chrome, каждое из которых указывает на отдельный URL. Это задница - делать это вручную каждый раз, когда компьютер перезагружается.

Учитывая это, я хочу написать скрипт для:

  1. Откройте окно Chrome для определенного экрана
  2. Укажите это окно на определенный URL
  3. Полный экран этого окна (команда-F - это сочетание клавиш)

Я не использовал automator, и я не особенно знаком с сценариями оболочки, но мне было интересно, есть ли какие-нибудь модные предложения от толпы.

Обновление: даже если мне нужно использовать Automator для высокоуровневой функциональности, я, в конечном счете, надеюсь на способ запуска сценария из командной строки / сценария. Я хотел бы иметь возможность включить эту демонстрацию удаленно из оболочки при необходимости.

1 ответ1

8

Я понял!

Applescript - отличный ресурс, и в Chrome есть словарь (вы можете просмотреть его в "Редакторе приложений", а затем выбрать "Открыть словарь" и найти Chrome в списке).

Код:

set screenCount to 8
set screenWidth to 1950
set baseURL to "http://localhost:8000"

tell application "Google Chrome"
    activate
    repeat while window 1 exists
        close window 1
    end repeat
    repeat with x from 1 to screenCount

        set w to make new window with properties {bounds:{screenWidth * (x - 1), 500, 500 + screenWidth * (x - 1), 1000}}
        tell application "System Events" to keystroke "F" using {command down, shift down}
        set URL of active tab of w to (baseURL & "/" & "#" & (x - 1))

    end repeat
end tell

Сценарий выполняет следующие действия:

  1. Активировать Chrome (либо открывает его, либо, если он открыт, делает его фокусом)
  2. Закройте все открытые окна браузера
  3. Создайте окна браузера [screenCount], открывая их по определенной координате (первые два члена в {границах)- это x, y верхнего левого угла. Вторые два слагаемых в {bounds} - это x, y в нижнем правом углу)
  4. После открытия каждого окна браузера отправьте "полноэкранную" команду (Ctrl + Shift + F)
  5. После того, как каждое окно браузера будет полноэкранным, установите URL-адрес в нужное место.

Помните, что мои URL-адреса соответствуют определенной формуле (например, http://localhost:8000/# 0), поэтому их было легко динамически генерировать. Для тех, кто сталкивается со случайно подобными потребностями, вы можете использовать это как отправную точку.

Наконец, что касается требования к терминалу, вы можете запустить яблочный скрипт на терминале, используя следующую строку:

osascript [имя сценария]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .