Google Chromeとの自動対話


9

よし、SU、クラックする楽しいナットがある。

私は8つのスクリーンを一列に並べて、すべてがSnow Leopardを実行する1つの頑丈なG5に接続しています(そうです、4つのグラフィックカード、幅は約15,000ピクセルです!)。全画面表示の8つのChromeブラウザーウィンドウを使用して、それぞれが異なるURLをポイントするデモを設定しています。コンピュータを再起動するたびに手動でこれを行うのはお尻の痛みです。

この設定を前提として、自動的にスクリプトを記述したいと思います。

  1. 特定の画面にChromeウィンドウを開く
  2. そのウィンドウを特定のURLにポイントする
  3. そのウィンドウの全画面(command-Fはキーボードショートカットです)

私はオートマトンを使用したことがなく、シェルスクリプトにもあまり慣れていませんが、群衆から派手な提案があるかどうか疑問に思っていました。

更新:高レベルの機能にAutomatorを使用する必要がある場合でも、最終的にはコマンドライン/スクリプトからスクリプトをトリガーする方法を期待しています。必要に応じて、このデモをシェルからリモートでオンにできるようにしたいと思います。


Automaterは、始めるのに最適な場所だと思います。私もあまり使用していませんが。私はあなたがこのために使用することができることを、「エッグプラントパープル」の製品を使用するために使用される-けれども、私ははるかに良い選択肢がそこにあると思いたいのですが...
ジェームズ・T・スネル

特定の画面は達成するのが難しいものだと思います。
slhck

回答:


8

私はそれを考え出した!

Applescriptは優れたリソースであり、Chromeには辞書があります(「Applescriptエディター」で表示してから、「辞書を開く」を選択してリストから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をアクティブにする(Chromeを開くか、開いている場合はフォーカスする)
  2. 開いているブラウザウィンドウをすべて閉じます
  3. [screenCount]ブラウザーウィンドウを作成し、特定の座標で開きます({bounds}の最初の2つの項は左上のx、yです。{bounds}の次の2つの項は下のx、yです正しい)
  4. 各ブラウザウィンドウを開いた後、「フルスクリーン」コマンドを送信します(Command + Shift + F)
  5. 各ブラウザウィンドウが全画面表示になったら、URLを目的の場所に設定します。

私のURLは特定の数式(例:http:// localhost:8000 /#0)に適合しているため、動的に生成するのは簡単でした。ランダムに類似したニーズを持つ人にとっては、これを出発点として使用できます。

最後に、ターミナルの要件については、次の行を使用してターミナルでapplescriptを実行できます。

osascript [スクリプト名]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.