закрыть все, кроме выбранного окна

Заголовок означает, что нам нужно добавить первую строку в файл.

sed -i 'li header content' filename.
Контент заголовка

может быть любым по вашему требованию.

Было бы полезно, если бы вы разместили пример ввода и вывода, требуемый

0
18.12.2020, 23:22
2 ответа

Просто замените класс на его имя и удалите строку xprop.

--class nemo

РЕДАКТИРОВАТЬ :Попробуйте этот, я тестировал его с двумя окнами xclock , также используйте 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"

Затем выберите одно из этих двух окон xclock, после чего оно закроется, а другое останется активным.

1
18.03.2021, 22:42

OP Здесь у меня работает решение:

#!/bin/bash

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

for i in $(xdotool search --desktop 0 --class "$selected_window_class_name"); do
    if [ "$not_to_close" != "$i" ]; then
        xdotool windowclose "$i"
    fi
done
0
18.03.2021, 22:42

Теги

Похожие вопросы