Как я могу управлять Windows GTK от Терминала?

Как я могу выбрать и выполнить действия с Windows GTK от терминала? А именно, я хотел бы, закрывают все окна, заголовок которых включает определенную строку.

Обычно, я просто использую ps найти соответствующий процесс и затем уничтожить процесс. Однако у меня есть обстоятельство, где несколько окон совместно используют тот же процесс, и я не хочу уничтожать родительское окно.

1
задан 21 September 2018 в 13:37

1 ответ

wmctrl - это инструмент для взаимодействия с менеджером X Window из терминала. Чтобы закрыть все окна, соответствующие строке $myStr, используйте это:

while wmctrl -c "$myStr";do :;done

Объяснение

wmctrl использует параметр -c для закрытия окна. Удобно, это может сделать совпадение строк в заголовке окна, как я и надеялся. Тем не менее, wmctrl будет работать только с одним окном за раз, поэтому я повторяю цикл, пока все соответствующие окна не будут закрыты. Когда это происходит, wmctrl возвращает код ошибки и останавливает цикл. ':' Является встроенной оболочкой no-op , которая требуется, поскольку циклы bash не могут быть пустыми.

Вам может понадобиться сначала установить wmctrl, например. sudo apt-get install wmctrl

0
ответ дан 7 December 2019 в 23:12

Другие вопросы по тегам:

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