Google Chrome の新規タブを閉じて余分なウインドウを消したい【AutoHotkey】。
前書き。
肢体障害のハンディキャップを埋めるために PC 操作をアシストするツールを開発しています。
AutoHotkey というスクリプト言語でキーボードやマウスの操作を自動化することが多いです。
今回の記事は その開発記録をまとめたものです。
問題がある。
アプリケーションの起動を確認して、見つからなかったら起動、ウィンドウを開いている場所がおかしかったら修正、といった作業を行うスクリプトがあります。
Google Chrome は音声入力するためのdocumentを開いたウィンドウと、毎日巡回する重要なページを開いた作業用ウィンドウを開きます。
その際に 無駄な Chrome ウィンドウを開いてしまうことがあって、いつも自分でいらないウィンドウを閉じています。
無駄な作業 を避けるための自動化なのに、不必要な作業が発生しているようでは本末転倒です。
しかしながら、それを簡単に防止する方法が思いつかなかったので放置していたのです。
詳しくは次の記事に書きました。
yasushiito.hatenablog.com
原因を探る。
Google Chrome では起動時に特定のページを開くようにできます。
ただし、これは起動時に限ります。
つまり起動してしまっている Chrome で特定のページを開くのはちょっと難しい。
そこで、起動ページを開きたいがために新たに Chrome ウィンドウを起動 ウィンドウを起動します。
ここで、PC 起動時に既にブランクの Chrome が起動してしまっていると、次のスクショのような感じに余分な Chrome が残ってしまうわけですね。
Google Chrome は開きたいページを指定しながら起動していくことはできるが、起動してしまったウィンドウを特定のページセットを使ったウィンドウにすることはできないってことです。
対策。
Chrome が起動のみの一歩通行であるからには 、スクリプト側から閉じてしまうのが簡単です。
新しいタブを閉じてみてはどうでしょうか。
解決のための実装。
ウィンドウのリストを取得して、その中から Chrome のウインドウだけを取り出します。
Chrome から URL を取得 します( Chrome Extension を使って取得したことあり)。
URL の新しいタブであれば、タブを閉じるキーボードショートカットを送信します。
以上の手続きを行うスクリプトは次のようになりました。
この手続きをサイズアジャストのスクリプトから呼び出します。
必要な Chrome ウインドウを起動する処理の後に挿入します。
;余分に開いてしまった、 すでに開いていた Chrome を閉じる。
closeblankchrome()
結果。
必要なウィンドウが起動してサイズとポジションを調整した後、余分なウィンドウを閉じるようになりました。
これで毎日無駄なクリックをせずに済みます。
なおこのスクリプトでは、各 Chrome ウィンドウの選択中のタブだけしかチェックしません。
また、何らかのページを開いていれば不要なウインドウであっても閉じません。
この記事に登場するAutohotkey スクリプトについて
この記事の中で私が作成したプログラムは、全て自由に使うことができます。
詳しくはこちら。