やりたいこと
グローバルショートカットキーを使い、Chromeがアクティブでないときも素早くChrome拡張機能のポップアップ(や特定のウェブページ)を呼び出す(Windows11)。
ローカルのファイルをchromeで閲覧したりもできると思うけど使い道が思いつかない
経緯
Notionの拡張ツールを紹介している動画でSave to Notionが紹介されていた。ウェブページをデータベースに追加するほか、ショートカットキーを追加してchromeがアクティブでないときも自由にメモを追加できるらしい。
手順の参考に挙げられていた動画の内容がWindowsで再現できなかったのでなんとかした。
手順
1. URLを用意する
ふつうのウェブページならURLをそのまま。
Chrome拡張機能を呼び出す場合、2つめの動画のとおりポップアップ上で右クリックしてデベロッパーツールを開く。画像はSave to Notion
コンソールからポップアップをクリックし、ポップアップのURL (?) を取得
'chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/popup/index.html'
というURL (?) が取得できた
関係ないけどこれをアドレスバーに貼り付けるとポップアップではなくフルページで開くことができる
2. .batファイルを用意する
なんかMacだと上記のページをそのままタスクバーに置いたりできるみたいだけどWindowsだと無理みたいのでバッチファイルで開く。
適当な場所にバッチファイルを作って書く
@echo off
start chrome.exe "chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/modal/modal.html"
exit /b
起動オプションをつけるとアプリケーションウインドウで表示したり新しいウインドウで表示したりできる。今回はこっちのほうが見やすいのでこっちにした
@echo off
start chrome.exe --app="chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/modal/modal.html"
exit /b
3.batファイルへのショートカットを作成する
標準だとbatファイルにショートカットキーを割り当てることができないのでショートカットを作る。
4a. ショートカットキーを設定する
ショートカットキーが有効になるのはスタートメニューかデスクトップにあるファイルのみみたいなので3.で作ったショートカットをどちらかに移す。
ファイルを右クリックするなどしてプロパティを編集。適当なショートカットキーを設定する
これでChromeが起動していなくても直接ページを開いたりできる。
しかしどうやらショートカットキー経由だとバッチファイルの起動まで数秒かかるらしい。なんかWindows10のころからこんなかんじらしい。解決策があったら教えてください
4b. タスクバーにピン留めする
速さは正義なのでタスクバーにピン留めしてWindows+数字キーで起動することにした。
(参考:https://note.z0i.net/2020/09/pin-batch-file.html )
バッチファイルはタスクバーにピン留めできないのでふたたびショートカットを作り、それをタスクバーに置いておく。タスクバーで左から10番目以内ならWindows+数字キーで開くことができる。
おまけ(ウインドウのサイズと表示位置を設定する)
ウインドウサイズを指定した
@echo off
start chrome.exe --new-window --window-size=600,600 --app="chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/modal/modal.html"
exit /b
しかしChromeが実行中だとサイズの指定がうまくいかなくてこまった。
あきらめて以下の方法をとった。
- URLに"data:text/html..."を指定し、閲覧するページのhtmlを直接記述する
- <script>でウインドウの操作をする
- window.locationでURLを指定して開きたいページを開く
@echo off
start chrome.exe --app="data:text/html,<html><body><script>window.resizeTo(525,600);window.location='chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/modal/modal.html';</script></body></html>"
exit /b
位置も指定した。
@echo off
start chrome.exe --app="data:text/html,<html><body><script>window.resizeTo(525,600);window.moveTo(390,50);window.location='chrome-extension://ldmmifpegigmeammaeckplhnjbbpccmm/modal/modal.html';</script></body></html>"
exit /b
結果
ショートカットキーを使っていつでもウェブページや拡張機能を開くことができるようになった