Bashスクリプトで最小化された複数のFirefoxタブ(5秒間隔)を実行する

Bashスクリプトで最小化された複数のFirefoxタブ(5秒間隔)を実行する

特定のドメインで複数のタブを開きたいです。各タブには、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)

おすすめ記事