選択したウィンドウを除くすべてのウィンドウを閉じます。

選択したウィンドウを除くすべてのウィンドウを閉じます。

選択したウィンドウを除くすべてのnemoファイルブラウザインスタンスを閉じたいです。

これにはスクリプトに従う必要があります。

#!/bin/bash

not_to_close=$(xdotool selectwindow)
class_name=$(xprop WM_CLASS | cut -d '"' -f2)

for i in $(xdotool search --desktop 0 --class "$class_name"); do
    if [ "$not_to_close" != "$i" ]; then
        xdotool windowclose "$i"
    fi
done

しかし、いくつかの問題があります。 2回(xdotoolそれぞれ1つずつ)クリックする必要がありますが、xpropそうしたくありません。

クリック数を1回に減らすにはどうすればよいですか?

ベストアンサー1

クラスをその名前に直接置き換えて、そのxprop行を削除するだけです。

--class nemo

編集:これを試してください。両方ともテストしました。時計windowkill ウィンドウでは代わりに使用することもできますwindowclose

xclock & 
xclock &

スクリプトを実行します。

#!/bin/bash
not_to_close="$(xdotool selectwindow )"
other_wins="$(xdotool search --class "xclock" | grep -v "$not_to_close")"
while IFS= read -r line
do
    echo "$line"
    if [ "$not_to_close" -ne "$line" ]; then
        xdotool windowkill "$line"
    fi
done <<< "$other_wins"

その後、2 つの xclock ウィンドウのいずれかを選択すると閉じ、他のウィンドウはアクティブのままです。

おすすめ記事