特定のドメインで複数のタブを開きたいです。各タブには、bashスクリプトで定義された異なる資産があります。サーバーがブロックされないようにするには、次のように5秒ごとにタブを開きます。
for ((i = 0; i < nWebsite; i = i + 1)); do
(firefox -new-tabs "${WebsiteString[i]}" > /dev/null 2>&1 &)
sleep 5
done
残念ながら、新しいタブを開くたびにフォーカスがFirefoxに移動し、複数のタブを開きたいので時間がかかります。
上記のforループの各タブをどのように最小化できますか?
私は以下を試しました:
for ((i = 0; i < nWebsite; i = i + 1)); do
(firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
xdotool getactivewindow windowminimize
sleep 5
done
ただし、フォーカスがまだ新しいウィンドウに移動して最小化されるため、問題は解決されません。
Firefoxをリクエストしていますが、このソリューションはgoogle-chromeでも機能することをお勧めします!
ベストアンサー1
私考える解決策は、現在アクティブなウィンドウIDを保存しないことです。
~からこのページ
xdotool getactivewindow > ~/.window_id
for ((i = 0; i < nWebsite; i = i + 1)); do
(firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
xdotool windowfocus $(cat ~/.window_id)
xdotool windowactivate $(cat ~/.window_id)
sleep 5
done
もちろん、これはループが繰り返されるたびにこれを行います。 xdtoolsが完了したら(25秒後)、次のようにループの外に置くには:
xdotool getactivewindow > ~/.window_id
for ((i = 0; i < nWebsite; i = i + 1)); do
(firefox -new-tab "${WebsiteString[i]}" > /dev/null 2>&1 &)
sleep 5
done
xdotool windowfocus $(cat ~/.window_id)
xdotool windowactivate $(cat ~/.window_id)