たとえば、Gmailがタブのどこかで開いた状態でChromeウィンドウがアクティブになっているとします(ただし、必ずしもアクティブなタブである必要はありません)。
質問: Gmailタブを有効にする方法はありますか コマンドラインから?
承認された回答:
はい。私は現在このようにしています:
1) 現在開いているタブのスクリプトをクロムで呼び出すときにフィードされるタブデータをいじくり回すには、jqをインストールする必要があります。
また、次の作業を行うにはchrome-remote-interfaceをインストールする必要があります。背景->クロムの前景からタブをアクティブにします。
2) クロムは、リモートデバッグをオンにして実行する必要があります。クロムのすべてのインスタンスを閉じて、chromium
だけでなくこのコマンドを実行します ターミナルでは、それ以外の場合、このプロセスは機能しません:
/usr/bin/chromium --remote-debugging-port=9222 &
3) この基本スクリプトを例として使用し、act
として保存します 、chmod +x
それをユーザーのbinディレクトリに配置します。たとえば、私はbashスクリプトを使用していますが、zshユーザーの場合は移植できます:
#!/usr/bin/env bash
TABS_JSON=$(chrome-remote-interface list | sed -e "s/^'//" -e "s/'$//" | jq -r 'map(select(.type == "page") | {id: .id, title: .title})')
if [[ -z [email protected] ]]; then
TAB_NAMES=$(echo "$TABS_JSON" | jq -r 'map(.title) | .[]')
echo "$TAB_NAMES"
else
TAB=$*
TAB_ID=$(echo "$TABS_JSON" | jq -r "map(select(.title | match("${TAB}";"i")) | .id) | .[]")
chrome-remote-interface activate "$TAB_ID" >/dev/null
#you might need wmctrl if window does not activate.
#wmctrl -a chromium
fi
cnn.comと他のいくつかのタブに移動し、cnn.comをバックグラウンドで維持し、ターミナルに切り替えて、次のようなコマンドを試してください。
act cnn
クロムウィンドウをアクティブにして、cnnタブに切り替える必要があります。これをワークフローのrofiメニューまたはfzfバリアントとさらに統合することも、開いているタブのリストをアクティブなウィンドウのグローバルプールに投入することもできます。